AWS DevOps & Developer Productivity Blog

Category: Best Practices

Multi-Region Terraform Deployments with AWS CodePipeline using Terraform Built CI/CD

As of February 2022, the AWS Cloud spans 84 Availability Zones within 26 geographic Regions, with announced plans for more Availability Zones and Regions. Customers can leverage this global infrastructure to expand their presence to their primary target of users, satisfying data residency requirements, and implementing disaster recovery strategy to make sure of business continuity. […]

Build Health Aware CI/CD Pipelines

Everything fails all the time — Werner Vogels, AWS CTO At the moment of imminent failure, you want to avoid an unlucky deployment. I’ll start here with a short story that demonstrates the purpose of this post. The DevOps team has just started a database upgrade with a planned outage of 30 minutes. The team […]

Improve the performance of Lambda applications with Amazon CodeGuru Profiler

Amazon CodeGuru Profiler recently began providing recommendations for applications written in Python. Additionally, the new automated onboarding process for Lambda functions makes it even easier to use CodeGuru Profiler with serverless applications built on Lambda. This post highlights these new features by explaining how to set up and utilize Codeguru Profiler on an AWS Lambda function written in Python.

Deploying data lake ETL jobs using CDK Pipelines

Deploy data lake ETL jobs using CDK Pipelines

This post is co-written with Isaiah Grant, Cloud Consultant at 2nd Watch. Many organizations are building data lakes on AWS, which provides the most secure, scalable, comprehensive, and cost-effective portfolio of services. Like any application development project, a data lake must answer a fundamental question: “What is the DevOps strategy?” Defining a DevOps strategy for […]

The 3 hexagons of the well architected logo appear to the right of the words AWS Well-Architected.

Choosing a Well-Architected CI/CD approach: Open-source software and AWS Services

Take a Well-Architected approach to make an informed decision when choosing to implement CI/CD using open-source tools on AWS services, using managed AWS services, or a combination of both.

We will look at key considerations for evaluating open-source software and AWS Services using the perspectives of a startup company, and a mature company, as examples. These will give you two very different points of view that you can use to compare to your own organization. To make this investigation easier we will use Continuous Integration (CI) and Continuous Delivery (CD) capabilities as the target of our investigation.

In our next two blog posts we will follow two AWS customers Iponweb and BigHat Biosciences as they share their CI/CD journeys, their perspective, the decisions they made, and why.

To end the series, we will explore an example reference architecture showing the benefits AWS provides regardless of your emphasis on open source tools or managed AWS services.

Choosing a CI/CD approach: Open Source on AWS, an Iponweb story

Iponweb is a global leader in building programmatic and real-time advertising technology and infrastructure for some of the world’s biggest digital media buyers and sellers. The company develops client-facing products and internal development tools that must be platform agnostic to support spanning across multiple cloud services. In this post, we explore how Iponweb applied key […]

CDK Philosophy

Best practices for developing cloud applications with AWS CDK

April 20, 2022: Updates are available in the Best practices topic of the AWS CDK documentation. The documentation is the most up-to-date resource going forward. In this post, we discuss strategies for organizing the development of complex cloud applications with large teams, using the AWS Cloud Development Kit (AWS CDK) as a central technology. AWS […]

Improving AWS Java applications with Amazon CodeGuru Reviewer

Amazon CodeGuru Reviewer is a machine learning (ML)-based AWS service for providing automated code reviews comments on your Java and Python applications. Powered by program analysis and ML, CodeGuru Reviewer detects hard-to-find bugs and inefficiencies in your code and leverages best practices learned from across millions of lines of open-source and Amazon code. You can […]

Tightening application security with Amazon CodeGuru

Amazon CodeGuru is a developer tool that provides intelligent recommendations for improving code quality and identifies an application’s most expensive lines of code. To help you find and remediate potential security issues in your code, Amazon CodeGuru Reviewer now includes an expanded set of security detectors.  In this post, we discuss the new types of […]

Architecture diagram of a CI/CD pipeline for single-tenant SaaS solutions

Building a cross-account CI/CD pipeline for single-tenant SaaS solutions

This post describes how to automate the deployment process of a single-tenant SaaS solution to deliver software quickly, securely, and less error-prone for each existing tenant. To achieve a higher level of environment segregation across the tenants, I demonstrate all the steps to build and configure a CI/CD pipeline using AWS CodeCommit, AWS CodePipeline, AWS CodeBuild, and AWS CloudFormation. For each new version, the pipeline automatically deploys the same application version on the multiple tenant AWS accounts.