Introduction to AWS DevOps
Published: 2024-01-11 10:41:05

**Introduction**

AWS provides a set of flexible services designed to enable companies to more rapidly and reliably build and deliver products using AWS and DevOps practices. These services simplify provisioning and managing infrastructure, deploying application code, automating software release processes, and monitoring your application and infrastructure performance.

DevOps is a methodology. When we talk about AWS DevOps, the main components are:

A. CodeCommit
B. CodeBuild
C. CodeDeploy
D. CodePipeline

But, as we delve deeper, the journey begins with code. How do you deploy this code on servers in an automated fashion or in a continuous cycle? This is the essence of the journey.

1. If you are a DevOps engineer, especially focused on AWS DevOps, you should be familiar with the following services. I'll discuss each service in-depth, so don't worry about that.

![Credit: https://aws.amazon.com/blogs/architecture/category/developer-tools/aws-codepipeline/ ](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8bah4hi059g76pf6so5a.png)

> IAM

Suppose you want to grant access to a specific DevOps service for a particular user. In AWS, where there are over 400 services, you can provide access to specific services, and these services also require access to certain resources. All these rules are defined in IAM.


> KMS 

KMS, or Key Management Service, is utilized when working with the need to encrypt or decrypt files. The code for encryption and decryption belongs to KMS.

> Artifacts

When you build your code, it's essential to save it somewhere. For this purpose, we use the 'Artifact' and 'S3' services.

> CodeCommit

CodeCommit is similar to GitHub or GitBucket; the only difference is that it is owned by AWS. It functions as a private service of AWS, serving as a central repository where developers can push their code to 'AWS CodeCommit'.

> CodeBuild 

After pushing the code to the repository, the next steps involve 'building' and 'testing' the code, forming a crucial part of the Continuous Integration (CI) process. Once the developer pushes the code into the repository, it undergoes a build process, and the resulting code is saved to S3 as artifacts. These artifacts can then be deployed whenever and at any time.

> CodeDeploy 

In CodeDeploy, its role involves fetching the build from S3 and deploying that code onto compute or serverless services. This marks the next phase in the AWS DevOps service. I'll elaborate on the following aspects in the next part, as they fall under the Continuous Deployment (CD) process.

> CodePipeline

After completing both CI and CD processes, the next step is to automate the workflow by building a pipeline. CodePipeline comes into play for this purpose. It essentially creates stages for you, following the sequence of source → build → deploy.

> EC2

Amazon EC2 empowers you to run secure and scalable compute capacity in the cloud. Additionally, if you need to manage services within your application, EC2 is suitable. It is especially recommended for small-scale applications.

> ECS

Amazon ECS is a fully managed orchestration service that is ideal for scaling applications, especially those dealing with high traffic. In AWS DevOps, it is commonly utilized for efficient management and scaling of applications.

> Lambda

AWS Lambda allows you to run code without the need for provisioning or managing servers. In the realm of AWS DevOps, Lambda is frequently employed for various purposes such as automating tasks, handling serverless functions, and orchestrating workflows seamlessly.


This concludes the first part of AWS DevOps, covering essential services commonly used and taught. In the upcoming segments of the DevOps series, we will delve into more services integral to AWS DevOps. Stay tuned for the new series, and thank you for the positive response to my Azure DevOps series. Your support is appreciated, and I look forward to the next part.