With this module, you'll learn the discipline of change management, automated techniques to distribute your product, and how to monitor product health.
With this topic, you'll learn about change management and how to release new versions of an application with as little downtime as possible.
- Describe what release management is
- Create a release checklist with release and rollback steps
- Theorize what approval you'd need to get before releasing a change
- Shipping to Production
Article
- 12 Factor App: Build, release, run
Resource
- Build pipelines, deployment, and immutable artifacts
Article
- How we managed 49 monthly releases [at GitLab]
Article
- Release Frequency: A Need for Speed
Article
- The Rust Release Process
Article
- What Is Release Management?
Article
With this topic, you'll learn to keep calm under the stress of resolving production application incidents.
- Describe what incident management is
- Describe what a runbook is
- Explain what an SLO means
- Explain what an SLA means
- Create a runbook with step-by-step instructions to solve a common problem
- DataDog Incident Management
Tool
- Gitlab Runbooks
Resource
- Service-level agreement
Article
- SLA vs. SLO vs. SLI: What's the difference?
Article
- What is incident management?
Article
With this topic, you'll learn to automate the release process using continuous integration and deployment (CI/CD) pipelines.
- Describe what a CI/CD pipeline is
- Create a CI pipeline to run automated tests and compile build artifacts
- Create a CD pipeline to deploy build artifacts for development, staging, and production environments
- CircleCI
Tool
- ContinuousDelivery
Article
- DevOps CI/CD Explained in 100 Seconds
Video
- GitHub Actions
Tool
- Awesome Actions
Resource
- Gitlab Pipelines
Tool
- What's DevOps?
Article
- DevOps Handbook
Book ($)
With this topic, you'll learn how to verify the performance of an application using load tests, smoke tests, and black-box testing.
- Describe what performance testing is
- Explain how you might create a performance test for an application
- Integrate performance testing into your CI/CD pipeline
With this topic, you'll learn about the role of a site reliability engineer and how to work with them on your team effectively.
- Describe what toil is
- Describe the role of a site reliability engineer
- Identify what you need from a site reliability engineer to complete software engineering tasks
- Explain how you might collaborate with a site reliability engineer to maintain resilience for an application