0% found this document useful (0 votes)
9 views3 pages

Module 2 Ch6

Chapter 6 discusses the deployment and release management process in product development, outlining key phases from user research to deployment. It emphasizes the importance of packaging, configuration management, CI/CD pipelines, and infrastructure as code for efficient and safe releases. The chapter also highlights the role of DevOps and observability in monitoring application health and ensuring reliability through automated testing.

Uploaded by

pofawam173
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views3 pages

Module 2 Ch6

Chapter 6 discusses the deployment and release management process in product development, outlining key phases from user research to deployment. It emphasizes the importance of packaging, configuration management, CI/CD pipelines, and infrastructure as code for efficient and safe releases. The chapter also highlights the role of DevOps and observability in monitoring application health and ensuring reliability through automated testing.

Uploaded by

pofawam173
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Chapter 6: Deployment & Release

Management
1. Big Picture: Product Development Process
• Phases = User research → Journey maps → Feature prioritization → Prototyping →
UI/UX → Tech Development → Deployment.
• PM’s role = Generalist conductor, ensuring smooth handover across all phases.

2. Packaging
• Meaning: Bundle code + dependencies → create deployable unit.
• Includes: Libraries, frameworks, versioning.
• Docker = most common packaging tool.
• Example: Dockerfile to package [Link] app → runs same in dev, test, prod.

Think of packaging like zipping clothes + accessories in one bag so it’s ready for any
trip.

3. Environments
Different “rooms” for app testing before users see it:

• Dev → For coding.


• Testing/QA → For bug fixing.
• UAT → Business users validate.
• Pre-Prod → Replica of Prod for final check.
• Prod → Live for end users.
• Load Test Env → Stress test for high traffic.

Example: [Link] → [Link] → [Link].

4. Configuration Management
• Config = settings that control app behavior (API keys, DB URLs, feature flags).
• Managed separately from code for flexibility + security.
• Tools: Azure Key Vault, AWS Secrets Manager.
• Example: Payment bypass flag ON in testing but OFF in prod.
Analogy: Like keeping TV remote settings separate from the TV itself.

5. CI/CD Pipelines
• CI (Continuous Integration) → Code auto-built + tested after commit.
• CT (Continuous Testing) → Automated tests run.
• CD (Continuous Deployment) → Auto-deploy to environments if tests pass.
• Enables fast, safe releases (Netflix deploys daily).

Example: GitHub Actions workflow to install → test → deploy [Link] app.

6. Code Repositories & Commits


• Repo = Central code store (GitHub, Azure Repos).
• Workflow: Pull → Code → Commit → Push → Merge.
• Branching = parallel work (no conflict).
• Example Git commands:
• git checkout -b feature-branch
• git add .
• git commit -m "Added login feature"
• git push origin feature-branch

Exam tip: “Git = Google Docs for code” (version history + collaboration).

7. Infrastructure as Code (IaC)


• Define infra using scripts/code (Terraform, Ansible).
• Benefits: Repeatability, automation, speed.
• Example: Terraform script → spins up AWS EC2 server automatically.

Think of IaC like ordering food via Zomato → you just specify items, kitchen handles
setup.

8. DevOps & Observability


• DevOps = End-to-end cycle (Plan → Build → Test → Deploy → Monitor).
• Observability = Monitor app health (errors, performance).
• Tools: Prometheus + Grafana → metrics & dashboards.
• Supports rollbacks if something fails.
9. Automated Testing
• Ensures reliability across environments.
• Types: Functional, Load, Performance, Security.
• Tools: Selenium, JUnit, PyTest.
• Example: Selenium script verifies Google homepage title = “Google.”

Testers now need coding (to automate).

✅ Key Takeaways
• Packaging (Docker) ensures consistency.
• Environments reduce risk → Dev → QA → UAT → Prod.
• CI/CD is backbone of modern release mgmt.
• Config mgmt separates settings from code (feature flags).
• IaC automates infrastructure like code.
• DevOps + Observability ensures fast + safe deployments.
• Automated testing = essential for scaling releases.

You might also like