AWS CI CD SETUP
Tags: awsdevops, cloudsecurity, cicd
Published: 2024-05-23 21:01:40

Yashvi Kothari , a DevOps, Cloud Infrastructure Security Architect and DevSecOps Engineer, and cool intern, Mishi Final Year Graduate started working on assigned projects.

(Take Mishi as example name 😅 )

🌟 **Building a CI/CD Pipeline with AWS Services**

Leading e-commerce company, was facing **challenges** in managing their software development process. 

They had multiple developers working on different parts of the application, and the integration of these changes was a manual and time-consuming process.

This led to frequent integration issues, delays in releases, and a lack of transparency in the development process.

Now Yashvi had to take ownership and  decided to streamline the software delivery process for client.

**Solution:**

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wanxep1denn1oopf8j8h.png)

To address these challenges, we decided to implement an AWS CI/CD pipeline.

This pipeline would automate the integration of code changes from multiple developers, ensuring a standardized and controlled approach to code releases. 

We chose AWS CodePipeline as the core component of our pipeline, as it provides a robust and scalable infrastructure for automating the software development process.


Mishi has already read about CI/CD were essential for faster, safer, and more reliable software releases.She is super excited. 😌 🤩

Basic Flow would be as :-

1.User Pushes Code Changes: 
Developer pushes the code changes to a CodeCommit repository.

CodeCommit Repository

Yashvi started by creating a CodeCommit repository to host her team’s application code. 

Whenever a team member pushed changes to this repository, it would trigger the CI/CD pipeline.

2.CodeCommit Triggers CodePipeline: Upon receiving the push event, CodeCommit triggers the CodePipeline.

CodeCommit sent a signal to CodePipeline—a powerful orchestration service.Mike (eCommerce) said, It's all magical 🪄.

3.CodePipeline initiates a build process in CodeBuild..

🔗 CodeBuild Constructs the Application 🔨  


CodeBuild fetched the latest code from CodeCommit, compiled it, ran tests, and produced a app artifact. 

Yashvi smiled; her application was taking shape.

4.📦 Artifacts in S3 Buckets

CodeBuild builds the application and can optionally upload artifacts to S3.

Now it optionally uploaded the artifact to an S3 bucket. 

Yashvi knew that these artifacts held the promise of her application’s success.

5. 📊 CodeBuild Reports Back

CodeBuild reports the build status (success or failure) back to CodePipeline, just like a loyal messenger.





6.If the build is successful, CodePipeline triggers a deployment in CodeDeploy.

CodeDeploy downloads build artifacts from S3 (if uploaded) and deploys the application to an EC2 instance (or another deployment target).

CodeDeploy was the magician who could transform artifacts into live applications. It downloaded the build artifacts from S3.

7. CodePipeline notifies the user of the overall pipeline status (success or failure).

Now imagine application coming to life deployed to target EC2 ECS, serving users with every click.



🔗  ECommerce **Platform Scaling 
**

Yashvi’s team used this CI/CD pipeline to deploy updates to their e-commerce platform. 

With each successful deployment, they improved user experience, fixed bugs, and added new features. Mishi, learned in/out and contributed to the team’s success.

Now AWS CI/CD pipeline in place, we able to automate the integration of code changes, reducing the likelihood of integration issues and another day of collaborative development environment.


Additional Setup:-

Monitor application performance using AWS CloudWatch.

#AWS #DevOps #CI/CD #CloudMagic



_Disclaimer: _

It is example inspired by multiple projects implementation and real-world practices as professional. 

Any resemblance to actual events or persons is purely coincidental.