There are three key components for fully automated devops. They completely modernize SDLC and make this world a better place.
1) A development pipeline for CICD. Plenty automation tools out there like CircleCI, Jenkins, Github Actions, AWS/Azure Pipeline …
2) Containerize the application using Docker. Ansible plus Packer are a good combination to build docker images.
3) Deploy the code to dev, test and staging environment using IaC (infrastructure as code). Terraform is a multi cloud solution and able to deploy docker images to provisioned infrastructure.
Below is a pet project to demo the nuclear power of automation empowered by AWS, Jenkins and docker.
A. Project workflow
B. Jenkins automates Kubernetes cluster creation.
Create a pipeline to build kubernetes cluster
Cluster nodes are created
C. Jenkins fully automates CICD, docker image creation/upload and microservice deployment in container.
Full stages are orchestrated by Jenkins