AWS DevOps Tools and Services

Michael Chidiogo Okoli
6 min readJan 20, 2024

--

How DevOps on AWS can help accelerate your development.

AWS

Lets Talk how DevOps on AWS can help accelerate your development.

What is DevOps?

Although DevOps doesn’t have a specific definition, it’s 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. At its core, DevOps is a culture of collaboration between developers and operations teams.

Applying DevOps practices in building an application or workloads with AWS DevOps will help you accelerate your development and operation.

Here are various AWS DevOps Services:

Amazon CodeGuru Security

This is a static application security testing (SAST) tool that integrates with machine learning and automated reasoning to identify vulnerabilities in your code, provide recommendations on how to fix the identified vulnerabilities and track the status of the vulnerabilities. Amazon CodeGuru also has a profiler that helps developers detect lines of codes that can be optimised for performance and compute cost.

How does it work?

Integrating Amazon CodeGuru Security within your development pipeline will improve code quality and optimise application performance. Amazon CodeGuru Security is trained on decades of knowledge and experience, CodeGuru Security uses ML and automated reasoning to precisely identify code vulnerabilities. CodeGuru Security also borrows from AWS security best practices and training on millions of code vulnerability assessments within Amazon. To begin reviewing code, you can associate your existing code repositories on GitHub, GitHub Enterprise, Bitbucket, or AWS CodeCommit in the CodeGuru console.

Key Features

Detect vulnerabilities at any stage of the development workflow

Reduce false-positive detections

Track bug closure automatically

Start immediately without VM provisioning

AWS CodeArtifact

CodeArtifact allows you to store artifacts using popular package managers and build tools like Maven, Gradle, npm, Yarn, Twine, pip, NuGet, and SwiftPM. CodeArtifact can automatically fetch software packages on demand from public package repositories so you can access the latest versions of application dependencies.

Key Features

Fetch software packages on demand

Publish and share packages

Approve packages and audit usage

Use and Publish packages in automated builds

AWS CodeCommit

This is a fully managed source control service that makes it easy for you to host secure and highly scalable private git repositories.

Key Features

Collaborate on code

Use your existing tools

Receive notifications and customs scripts

Create up to 5000 repositories by default

Amazon CodePipeline

This is a continuous delivery service that orchestrates the automatic building, testing and deployment of your code every-time you modify it. AWS CodePipeline can be integrated with third party pipeline softwares and AWS service.

Key Features

Rapid Delivery

Improved Quality

Configurable Workflow

Easy to integrate to your own custom systems

Amazon CodeBuild

This is a fully managed build service (no servers, no software) that compiles source code, run tests and produces software packages that are ready to deploy. With CodeBuild, you don’t need to provision, manage, and scale your own build servers. You just specify the location of your source code and choose your build settings, and CodeBuild will run your build scripts for compiling, testing, and packaging your code.

Key Features

Fully managed build services

Continuous Scaling

Extensible

Secure

Automate Continuous Integration and Delivery

Build source code hosted on Github

Pay as you go

AWS CodeDeploy

AWS CodeDeploy is a fully managed deployment service that automates software deployments to various compute services, such as Amazon Elastic Compute Cloud (EC2), Amazon Elastic Container Service (ECS), AWS Lambda, and your on-premises servers. Use CodeDeploy to automate software deployments, eliminating the need for error-prone manual operations.

Key Features

Automate deployments to remove manual operations

Deploy to many hosts

Use advanced deployment techniques

Monitor health and rollback

AWS Codestar

AWS CodeStar is a cloud-based service designed for the creation, management, and collaboration on software development projects within the AWS environment. It enables the rapid development, building, and deployment of applications by integrating various AWS services into a project’s development toolchain. This toolchain includes elements such as source control, build, deployment, virtual servers, or serverless resources, depending on the selected project template.

One notable feature of AWS CodeStar is its capability to manage permissions for project users, referred to as team members. Project owners can easily grant role-specific access to team members, simplifying the management of project resources.

However, as of July 31, 2024, Amazon Web Services (AWS) will discontinue support for creating and viewing AWS CodeStar projects. Users will no longer be able to access the AWS CodeStar console or create new projects after this date. Importantly, AWS resources created by AWS CodeStar, including source repositories, pipelines, and builds, will remain unaffected and continue to function. AWS CodeStar Connections and AWS CodeStar Notifications will also remain operational despite the discontinuation.

For users seeking an alternative, Amazon CodeCatalyst is recommended. It offers a streamlined onboarding process and additional functionalities for tracking work, developing code, and managing software projects.

So…

What is Amazon CodeCatalyst ?

Amazon CodeCatalyst

This is an integrated DevOps service designed for software development teams looking to incorporate continuous integration and deployment practices into their processes. It serves as a centralised platform where teams can plan work, collaborate on code, and perform the entire application development lifecycle, including building, testing, and deploying applications using continuous integration and continuous delivery (CI/CD) tools. CodeCatalyst facilitates easy integration of AWS resources with projects by connecting AWS accounts to the CodeCatalyst workspace. By consolidating various stages of the application lifecycle into one tool, CodeCatalyst enables teams to efficiently deliver software with speed and confidence.

Key Features

Collaboration spaces — Create spaces to collaborate with your team on projects. Spaces contain projects, repositories, and other resources.

Project templates — Start new projects quickly with templates that include common resources like source code repositories, build settings, and deployment configurations.

Source control — Integrate GitHub, Bitbucket, and AWS CodeCommit repositories into your projects.

Continuous integration — Configure automated builds, tests, and deployments using tools like AWS CodeBuild and CodePipeline.

Issue tracking — Link projects to Jira, GitHub issues, and other issue tracking tools.

Access management — Granular IAM permissions to manage access to spaces, projects, and resources.

Integrations — Connect to other AWS services and third-party tools through a marketplace of integration extensions.

AWS Cloud Development Kit (AWS CDK)

The AWS Cloud Development Kit (AWS CDK) is an open-source software development framework provided by Amazon Web Services (AWS) for building cloud infrastructure in a programmable and efficient manner. It allows developers to define cloud resources using familiar programming languages such as TypeScript, JavaScript, Python, Java, and C#. This abstraction enables the use of object-oriented programming principles and higher-level constructs to define infrastructure components.

Key Features

Provision your most common infrastructure patterns faster

Automate AWS service provisioning with Construct Hub

Write applications using tools built for the cloud

AWS CloudFormation

AWS CloudFormation simplifies the modeling and setup of AWS resources, allowing you to spend less time managing and more time focusing on your applications. By creating a template specifying desired resources, such as Amazon EC2 instances or Amazon RDS DB instances, CloudFormation handles their provisioning and configuration.

Key Features

Manage Infrastructure with DevOps

Scale production stacks

Share best practices

AWS Toolkit for Azure DevOps

The AWS Toolkit for Azure DevOps is an extension for hosted and on-premises Microsoft Azure DevOps that make it easy to manage and deploy applications using AWS. If you already use Azure DevOps, the AWS Toolkit for Azure DevOps makes it easy to deploy your code to AWS using either AWS Elastic Beanstalk or AWS CodeDeploy. No changes to your existing build/release pipeline or processes are required to integrate with AWS Services

Key Features

Use Your Existing Azure DevOps Build/Release Process

Deploy .NET Applications Directly to AWS

Deploy Serverless .NET Applications to AWS Lambda

Manage Infrastructure as Code

AWS Fault Injection Simulator (FIS)

AWS Fault Injection Service (FIS) is a fully managed service for running fault injection experiments to improve an application’s performance, observability, and resilience. FIS simplifies the process of setting up and running controlled fault injection experiments across a range of AWS services, so teams can build confidence in their application behaviour. FIS provides the controls and guardrails that teams need to run experiments in production, such as automatically rolling back or stopping the experiment if specific conditions are met.

Key Features

Run a game-day simulation

integrate with your delivery pipeline

Run CPU stress on an instance

With this services yon can accelerate your development while using DevOps practices in a secured way.

--

--

Michael Chidiogo Okoli

Highly skilled and versatile Cloud Engineer and Systems Administrator | AWS 2x Certified. Email: contact@diogomic.me