What AWS services can help you automate your development pipeline for continuous integration and continuous deployment?

This Quick Start builds a serverless CI/CD (continuous integration and continuous delivery) environment on the Amazon Web Services (AWS) Cloud, to provide an enterprise-ready, dynamic deployment pipeline for your serverless applications.

The Quick Start uses several AWS services to enable multiple development teams within an organization to collaborate securely and efficiently on serverless application deployments. For example, AWS services such as Amazon Simple Storage Service (Amazon S3), AWS Secrets Manager, AWS CodeCommit, AWS CodeBuild, and AWS CodeDeploy provide artifact storage, parameter management, automated testing, builds, deployment, and change management for serverless applications across multiple AWS accounts. Enterprises can augment the basic pipeline with additional deployment, testing, or approval steps based on their requirements.

The Quick Start includes AWS CloudFormation templates that set up the CI/CD environment in about 20 minutes.

This Quick Start was developed by Trek10 in collaboration with AWS. Trek10 is an APN Partner.

  • This Quick Start follows AWS multi-account best practices for isolation of resources. After you prepare separate AWS accounts for development, production, and shared services, use this Quick Start to set up the following:

    • AWS Identity and Access Management (IAM) users, roles, and groups in your AWS development, production, and shared services accounts to control access to pipeline actions and deployed resources.
    • Dynamic branch pipelines for deploying and testing new feature code in Git branches, using AWS CodePipeline.
    • A master code pipeline that deploys to multiple AWS accounts, using AWS CodePipeline.
    • An AWS CodeCommit repository for storing application code.
    • Amazon Simple Storage Service (Amazon S3) buckets for pipeline artifacts.
    • AWS Secrets Manager to store sensitive configuration data in a central location.
    • AWS CodeBuild and AWS CodeDeploy configurations for building, deploying, and testing serverless applications.
    • A sample serverless application that uses AWS Lambda, Amazon API Gateway, and Amazon DynamoDB.
    • Integration with other Amazon services such as AWS Lambda, AWS Key Management Service (AWS KMS), and Amazon Simple Notification Service (Amazon SNS).

    View deployment guide for details

     See the source code for this Quick Start

    Switch to full-screen view

  • To deploy the serverless CI/CD environment, follow the instructions in the deployment guide. The deployment process includes these steps:

    1. If you don't already have an AWS account, sign up at //aws.amazon.com, and set up sub-accounts for development, production, and shared services.
    2. In the development and production accounts, launch the AWS CloudFormation template that sets up cross-account access. Each deployment takes about 2 minutes.
    3. Sign in to the shared services account, and launch the template to deploy resources. This deployment takes 10-15 minutes.
    4. Test the deployment by starting a CI/CD pipeline. You can use the sample application that's included with the Quick Start.

    Amazon may share user-deployment information with the AWS Partner that collaborated with AWS on this Partner Solution.  

    View deployment guide for details

  • You are responsible for the cost of the AWS services used while running this Quick Start reference deployment. There is no additional cost for using the Quick Start.

    The AWS CloudFormation template for this Quick Start includes configuration parameters that you can customize. Some of these settings, such as instance type, will affect the cost of deployment. See the pricing pages for each AWS service you will be using for cost estimates. Prices are subject to change.

    Tip   After you deploy the Quick Start, we recommend that you enable the AWS Cost and Usage Report to track costs associated with the Quick Start. This report delivers billing metrics to an S3 bucket in your account. It provides cost estimates based on usage throughout each month, and finalizes the data at the end of the month. For more information about the report, see the AWS documentation.

  • If you need help deploying, integrating, or managing this workload, we offer an AWS Solutions Consulting Offer based on the architecture shown on the What you’ll build tab. AWS Solutions Consulting Offers are delivered by an AWS Competency Partner.

    View the AWS Solutions Consulting Offer

Skip to Main Content

Continuous delivery is a software development practice where code changes are automatically prepared for a release to production. A pillar of modern application development, continuous delivery expands upon continuous integration by deploying all code changes to a testing environment and/or a production environment after the build stage. When properly implemented, developers will always have a deployment-ready build artifact that has passed through a standardized test process. 

Continuous delivery lets developers automate testing beyond just unit tests so they can verify application updates across multiple dimensions before deploying to customers. These tests may include UI testing, load testing, integration testing, API reliability testing, etc. This helps developers more thoroughly validate updates and pre-emptively discover issues. With the cloud, it is easy and cost-effective to automate the creation and replication of multiple environments for testing, which was previously difficult to do on-premises.

With continuous delivery, every code change is built, tested, and then pushed to a non-production testing or staging environment. There can be multiple, parallel test stages before a production deployment. The difference between continuous delivery and continuous deployment is the presence of a manual approval to update to production. With continuous deployment, production happens automatically without explicit approval. 

Continuous delivery automates the entire software release process. Every revision that is committed triggers an automated flow that builds, tests, and then stages the update. The final decision to deploy to a live production environment is triggered by the developer.

Continuous delivery lets your team automatically build, test, and prepare code changes for release to production so that your software delivery is more efficient and rapid.

These practices help your team be more productive by freeing developers from manual tasks and encouraging behaviors that help reduce the number of errors and bugs deployed to customers.

Your team can discover and address bugs earlier before they grow into larger problems later with more frequent and comprehensive testing. Continuous delivery lets you more easily perform additional types of tests on your code because the entire process has been automated.

Continuous delivery helps your team deliver updates to customers faster and more frequently. When continuous delivery is implemented properly, you will always have a deployment-ready build artifact that has passed through a standardized test process.  

Última postagem

Tag