Member-only story
CI/CD for Cloud-Native Applications
Define continuous integration and continuous delivery, review the steps in a CI/CD pipeline, and explore DevOps and IaC tools used to build a CI/CD process.

🙂Continuous integration (CI) and continuous delivery (CD) are crucial parts of developing and maintaining any cloud-native application. From my experience, proper adoption of tools and processes makes a CI/CD pipeline simple, secure, and extendable. Cloud native (or cloud based) simply means that an application utilizes cloud services. For example, a cloud-native app can be a web application deployed via Docker containers and uses Azure Container Registry deployed to Azure Kubernetes Services or uses Amazon EC2, AWS Lambda, or Amazon S3 services.
In this article, we will:
- Define continuous integration and continuous delivery
- Review the steps in a CI/CD pipeline
- Explore DevOps and IaC tools used to build a CI/CD process
An Overview of CI/CD
The continuous integration process is when software engineers combine all parts of the code to validate before releasing tested applications to dev, test, or production stages. CI includes the following steps:
- Source control — Pulls the latest source code of the application from source control.
- Build — Compiles, builds, and validates the code — or creates bundles and “linting” in terms of JavaScript/Python code.
- Test — Runs unit tests and validates coding styles.
Following CI is the continuous delivery process, which includes the following steps:
- Deploy — Places prepared code into the test (or stage) environment.
- Testing — Runs integration and/or load tests. This step is optional as an application can be small and not have a huge load.
- Release — Deploys an application to the development, test, and production stages.
In my opinion, CI and CD are two parts of one process. However, in the cloud-native world, you can implement CD without CI. You can see the whole CI/CD process in the diagram below: