Friday, May 22, 2026
Cohort 3 | Project CloudIgnite Topics: Automation & Orchestration, Project Infrastructure, Configuration Management, DevOps & CI/CD Duration: ~3 hours
Key Takeaways
- Automation vs orchestration: automation = single task; orchestration = coordinating multiple automated tasks
- Monolithic vs microservices: one repo/server vs independent services (Netflix example)
- Naming conventions: camelCase, PascalCase, snake_case, kebab-case, UPPER_CASE
- PyLint: code style checker; PyTest: unit testing framework with
assertstatements - Version control: git workflow, merge conflicts require manual resolution
- Semantic versioning: MAJOR.MINOR.PATCH
- CI/CD tools: Jenkins, GitHub Actions, GitLab CI/CD, AWS CodeDeploy, CircleCI
- Security warning: pushed API keys persist in git history; use
.gitignoreand rotate keys immediately
Table of Contents
- Lab Work – Automation Topics (Lab 135 & 136)
- The Value of Automation
- Automation vs. Orchestration
- Project Infrastructure & Architecture
- Code Organisation & Coding Styles
- Tools: PyLint & PyTest
- Configuration Management & Version Control
- DevOps & CI/CD
- CLF-C02 Exam Relevance
- Admin & Cohort Updates
1. Lab Work – Automation Topics (Lab 135 & 136)
Lab 135 – Explore the Value of Automation (Q&A Format)
Key questions covered:
| Question | Key Points from Discussion |
|---|---|
| Build automation tools | Gradle, Apache Maven, Make, MSBuild, npm |
| Benefits of build automation | Faster time to market, fewer errors, higher quality |
| Test automation tools | Playwright, Selenium, Cypress, JUnit |
| Benefits of test automation | Speed & efficiency, improved quality & coverage, cost savings |
| Challenges of test automation | High upfront investment, "automate everything" trap, skill gaps, resource constraints |
| Deployment automation tools | Jenkins, GitLab CI/CD, GitHub Actions, CircleCI, AWS CodeDeploy |
| Benefits of deployment automation | Speed & efficiency, quality & reliability, business agility |
| Challenges of deployment automation | Technical/architectural challenges, cultural/organisational problems, security & governance, scalability & maintenance |
Lab 136 – Compare and Contrast Automation and Orchestration
A classification exercise. Key guidance on categorising concepts:
| Concept | Category | Reason |
|---|---|---|
| Resource management | Both | Can automate resource actions and orchestrate them across systems |
| Python script | Automation | Runs a task; no coordination layer involved |
| Salary payroll | Automation | Repetitive, rules-based task (e.g., HR systems like Kakitangan) |
| Code analysis (e.g., SonarQube) | Orchestration | Manages multiple automated tasks together |
| IAM provisioning | Both | Can be automated (auto-provisioning) and orchestrated (e.g., Kubernetes) |
| Process coordination | Orchestration | Heavy coordination ≠ automation |
| Infrastructure | Both | Auto-setup and orchestration both apply (e.g., Terraform) |
| Eliminate repetition | Automation | Definitional — automation is eliminating repetition |
| User-defined functions (Python) | Automation | Encapsulates repetitive logic |
| Increase reliability | Orchestration | Requires oversight and coordination |
2. The Value of Automation
"Automation reduces human errors and makes repetitive tasks faster and more efficient." — Paul
Core principles discussed:
- Primary value: Removes repetitive tasks from humans, reducing error and increasing output
- Cost reduction: Fewer people needed for repetitive work, but Paul's philosophy is that automation should redirect humans to higher-value work, not eliminate jobs
- Complementary roles: Freed-up humans should focus on tasks that cannot (yet) be automated — creativity, decision-making, critical judgement
Why NOT automate everything in DevOps?
- Cost – automation infrastructure isn't free
- Security risks – automated systems can be exploited
- Compliance issues – some processes require human sign-off
- Complex / critical tasks – things that need manual review or legal accountability
- Decision-making scenarios – you cannot automate judgement calls
3. Automation vs. Orchestration
| Automation | Orchestration | |
|---|---|---|
| Definition | Executing a single task automatically without human intervention | Coordinating and managing multiple automated tasks/systems together |
| Scope | Single, isolated, repetitive task | Multi-step, multi-system workflow |
| Example | Running a Python script to rename files | Kubernetes managing container deployments across nodes |
| Analogy | A single machine on a factory floor | The factory floor manager coordinating all machines |
HCL (HashiCorp Configuration Language) was briefly mentioned — a language used by Terraform for infrastructure provisioning (automation/orchestration of cloud infrastructure).
4. Project Infrastructure & Architecture
Monolithic vs. Microservices
| Monolithic | Microservices | |
|---|---|---|
| Structure | All code in one repository/server | Each service in its own repository/server |
| Analogy | A restaurant (one kitchen, one menu) | A food court (independent stalls) |
| Example | Early YouTube | Netflix |
| Pros | Simpler to start; one deployment unit | Independently scalable, deployable, and maintainable |
| Cons | Harder to scale; one failure can affect everything | More complex to manage; network overhead |
Netflix is built on microservice architecture. Each feature (landing page, content browser, streaming backend) runs in a separate service/repository.
MonoRepo
- Still one repository, but front-end and back-end are separated within it
- Not the same as monolithic — the concern is code organisation, not deployment coupling
- Downside: version control tools like Git can slow down at scale
Middleware
- Software that connects different systems — described as "software glue"
- Not front-end or back-end; sits between them to enable communication
5. Code Organisation & Coding Styles
Why standardise coding style in a team?
When multiple developers work on the same codebase, inconsistent styles cause:
- Merge conflicts that are hard to resolve
- Onboarding friction for new team members
- Reduced readability and maintainability
Common Naming Conventions
| Convention | Example | Notes |
|---|---|---|
| camelCase | myVariableName | First word lowercase, subsequent words capitalised |
| PascalCase | MyVariableName | All words capitalised; common in Java, C# |
| snake_case | my_variable_name | Words separated by underscore; default in Python |
| kebab-case | my-variable-name | Used in HTML/CSS; not valid in most programming languages (no - in variable names) |
| UPPER_CASE | MY_CONSTANT | Typically used for constants |
Note: Some languages restrict naming. C/C++ variable names can only use
A-Z,a-z,0-9, and_— so kebab-case is not valid.
6. Tools: PyLint & PyTest
PyLint – Code Style Checker
- Scans Python code and checks it against a defined coding standard
- Analogy: like a lint roller — it removes the "debris" (style violations) from your code
- Saves developers from manually reviewing thousands of lines for indentation or naming errors
- You configure it with your team's standard, and it automatically enforces it
PyTest – Logic / Unit Testing Framework
- Allows you to write test cases that verify your code produces the expected output
- You must write the tests yourself (the "painful" part)
- Example: if your function should return all prime numbers from 1–250, your test provides the expected list and checks that the function output matches
- Uses
assertstatements to compare expected vs. actual output - Part of CI/CD pipelines to automatically verify code before merging
7. Configuration Management & Version Control
What is Configuration Management?
Also called version control software. It:
- Tracks all code changes and who made them (with timestamps)
- Enables rollback to any previous working version ("like a time machine")
- Enables team collaboration on the same codebase
Git Workflow (Basic)
# Clone a repository
git clone <repo-url>
# Stage changes
git add .
# Commit with a message
git commit -m "your message"
# Push to remote
git push origin main
Merge Conflicts
- Occur when two developers modify the same line of code in different branches
- Resolution: each developer works on their own branch → branches are merged → conflicts are resolved manually by the developers
- Cannot be fully automated — human review is required
⚠️ If you accidentally push an API key, simply deleting the commit is not enough — it may still exist in git history. Use
.gitignoreto prevent secrets from being committed in the first place, and rotate/revoke exposed keys immediately.
Software Versioning (Semantic Versioning)
Format: MAJOR.MINOR.PATCH (e.g., v2.1.3)
| Number | When to increment | Example |
|---|---|---|
| MAJOR | Significant, proud release — new product version | v1.0.0 → v2.0.0 |
| MINOR | New feature added or UI update | v1.0.0 → v1.1.0 |
| PATCH | Bug fix | v1.1.0 → v1.1.1 |
Tools
- GitHub – most widely used; tracks commits, authors, and timestamps; private repos now free
- GitLab – alternative to GitHub with built-in CI/CD
- Visual Studio Code – has Git version control built in (sidebar panel)
8. DevOps & CI/CD
What is DevOps?
A set of practices and a culture that helps automate and monitor software development across the full lifecycle.
CI/CD Pipeline Stages
| Phase | Stage | Description |
|---|---|---|
| Continuous Integration (CI) | Plan, Code, Build, Test | Developers regularly merge code; automated tests run on every commit |
| Continuous Delivery (CD) | Deploy, Release | Automatically deploy tested code to staging or production |
Key Points
- A DevOps engineer sets up processes (e.g., scanning a Git repo and triggering a build when a new commit is detected)
- Compilation = Build (not deployment)
- Common CI/CD tools: Jenkins, GitHub Actions, GitLab CI/CD, CircleCI, AWS CodeDeploy
- Juniors typically know CI but not CD — setting up Jenkins and automated test scripts is considered intermediate/senior knowledge
9. CLF-C02 Exam Relevance
The following topics discussed in this lecture are directly relevant to the AWS Certified Cloud Practitioner (CLF-C02) exam:
✅ Directly Exam-Relevant
| Topic | CLF-C02 Domain | Notes |
|---|---|---|
| AWS CodeDeploy | Cloud Technology & Services | AWS-native deployment automation service |
| CI/CD concepts | Cloud Technology & Services | Understanding of DevOps pipelines on AWS |
| Automation vs. Orchestration | Cloud Concepts | Core cloud principle; orchestration tools like AWS Step Functions are exam topics |
| Infrastructure provisioning | Cloud Technology & Services | Relates to AWS CloudFormation (IaC) and auto-scaling |
| Microservices architecture | Cloud Concepts | AWS supports microservices via ECS, EKS, Lambda |
| Configuration management | Cloud Technology & Services | Relates to AWS Systems Manager, AWS Config |
| Version control | Cloud Technology & Services | AWS CodeCommit is a managed Git service |
| Value of automation in the cloud | Cloud Concepts / Benefits of Cloud | A foundational cloud benefit — speed, agility, cost reduction |
| Shared responsibility / governance | Security & Compliance | Security and compliance reasons NOT to automate everything |
⚠️ Contextual / Background Knowledge
| Topic | Notes |
|---|---|
| PyLint / PyTest | Python-specific; not directly tested, but understanding testing concepts supports understanding of CI/CD |
| Monolithic vs. Microservices | Architecture pattern knowledge; CLF-C02 may test on AWS services that support microservices (Lambda, ECS) |
| Git commands | Not directly tested on CLF-C02, but foundational for DevOps context |
| Semantic versioning | Not directly tested, but relevant to software lifecycle understanding |
📝 Key CLF-C02 Services to Study from This Lecture's Context
- AWS CodeDeploy – automated deployments
- AWS CodePipeline – end-to-end CI/CD orchestration
- AWS CodeBuild – managed build service
- AWS CodeCommit – managed Git repositories
- AWS CloudFormation – infrastructure as code (IaC)
- AWS Systems Manager – configuration management at scale
- AWS Config – track configuration changes and compliance
- Amazon ECS / EKS / AWS Lambda – services that support microservice architectures
10. Admin & Cohort Updates
- Cohort end date: 27 July (tentative)
- Extension: ~4 weeks extension planned for all cohorts (cohorts 1, 2, and 3) due to insufficient time
- Future cohorts: Will be extended to 15 weeks (up from 12)
- Exam voucher eligibility: Requires 80% attendance + completion of all labs and KCs
- Access to Canvas: Lost once the cohort ends — complete all labs and KCs before then
- Exam format: Online (camera required) or face-to-face at a test centre
- AWS exam voucher validity: 6 months from issue date — don't delay too long after cohort ends
- Exam timing: Taking the exam 3–4 weeks after the course ends is acceptable
- No AWS Solutions Architect Associate training provided in this program — only Cloud Practitioner (CLF-C02)
- Practice questions for exam prep are being prepared by the Forward College team
Quick Reference – Key Concepts Summary
Automation → Single, repetitive task executed automatically
Orchestration → Coordinating multiple automated tasks/systems
Monolithic → One repo, one server, everything together
Microservices → Each service in its own repo/server (e.g., Netflix)
CI → Plan → Code → Build → Test (automate merging & testing)
CD → Deploy → Release (automate delivery to production)
PyLint → Checks coding style (like a lint roller for code)
PyTest → Runs unit tests to verify logic correctness
Git → Version control; tracks who changed what and when
Versioning → MAJOR.MINOR.PATCH (e.g., v2.1.3)
Notes compiled from Tactiq – May 22, 2026 session.