🤓11 Microservice CICD Pipeline using Jenkins, EKS and CloudFormation
This Project will help you learn how to implement continuous integration and continuous deployment using various DevOps tools like Jenkins, Elastic Kubernetes service, Docker, CloudFormation and Git
Prerequisites
Linux and basic commands.
General knowledge of the cloud, containerization and the above tools would be good to start. (No issues if you are new to it, you will learn along the way.
What is DevOps?
Development + Operations 🎉
DevOps is a set of practices that combines software development and IT operations. It aims to shorten the systems development life cycle and provide continuous delivery with high software quality.
Understanding Microservices Architecture
Microservices architecture is a design approach where a single application is broken down into smaller, loosely coupled services that can be developed, deployed, and scaled independently. This modular structure enhances agility and scalability in software development.
Importance of Continuous Integration and Continuous Deployment
Continuous Integration (CI) and Continuous Deployment (CD) are crucial practices in modern software development. They promote automated testing, code integration, and deployment, leading to faster delivery, reduced errors, and improved collaboration among developers.
Overview of Jenkins, EKS, and CloudFormation
Jenkins is a popular automation server that facilitates CI/CD processes. Amazon Elastic Kubernetes Service (EKS) is a managed Kubernetes service for container orchestration, while CloudFormation enables the creation and management of AWS resources through code.
Let's Get Started
First Create a user in AWS IAM with any name
Attach Policies to the newly created user
AmazonEC2FullAccess
AmazonEKS_CNI_Policy
AmazonEKSClusterPolicy
AmazonEKSWorkerNodePolicy
AWSCloudFormationFullAccess
IAMFullAccess
One more policy we need to create with content as below
Now we are going to launch Ubuntu instances:
Let's Launch EC2 instances ☁️(amazon Linux image)
Click on Launch instance
You will see a window with Amazon machine images(AMI) full of different operating systems and readymade software or CMS like WordPress but SELECT the Ubuntu
Choose t2.large
Now add storage (up to 25 GB) >> NO need for Storage >> Add Tags for clear identification: Name <tab>microservice >> In the SECURITY GROUP window we have to open some ports like 8080 for Jenkins and port 22 for SSH and some more port and click "Review and Launch" >> LAUNCH >> If you are a new user in new user and don't have any KeyPairs (needed for SSH login) download a KeyPair (name the key "DevOps Key" for reference 👍) >> Keep the .pem file safe we might need it.
Wait for a few minutes and it will get Running with status checks passed 2/2
Last updated