Get started Bring yourself up to speed with our introductory content.

AWS CodePipeline vs. third-party continuous delivery tools

AWS CodePipeline tightly integrates with other native tools, but should we consider a third-party tool for our DevOps workflows?

Many software development teams use continuous integration and continuous delivery to improve the quality and reliability...

of applications. Combined with a cloud platform such as AWS, IT teams can automate every aspect of the software release process, which can drastically decrease the time it takes to get application updates ready for production.

But deciding which tools to use can be a challenge for teams just getting started with continuous integration (CI) and continuous delivery (CD) on AWS. IT teams can use AWS CodePipeline, the CD service from Amazon. There also are a number of popular third-party continuous integration and continuous delivery tools, such as Jenkins, Codeship Inc., Travis CI and Circle CI. In this tip, we'll focus on using AWS CodePipeline and its main features.

How CodePipeline works

CodePipeline allows developers to model software release processes through a series of stages -- orchestrating every step, including building from a source, software testing and deployment.

AWS CodePipeline allows developers to model software release processes through a series of stages -- orchestrating every step, including building from a source, software testing and deployment.

Within CodePipeline are providers, or building block components, such as build, source, test and deployment, that make it easy to orchestrate the release process for applications. IT teams can use different types of providers to build a release pipeline. For example, the source provider defines the location of application code, which can be stored in Amazon Simple Storage Service, AWS CodeCommit or a GitHub repository.

When the service detects application code changes, the build provider can run a build on the application code output from the source provider. The build provider supports a number of integrations and can connect to a Jenkins server, CloudBees and Solano Labs CI. There's also a test provider, which allows IT teams to run unit, integration and load tests on third-party integrations.

A deployment provider uses AWS CodeDeploy or AWS Elastic Beanstalk to release application code into testing, staging or production environments.

What AWS CodePipeline brings to DevOps

In many cases, developers can use third-party continuous delivery tools for all aforementioned tasks. However, CodePipeline has deep integration with other AWS tools. For example, developers can better visualize and orchestrate software release processes natively with CodePipeline compared to other continuous delivery tools. CodePipeline also provides the following benefits:

  • Complete automation -- Developers can completely automate pipelines using API calls with various AWS software developer kits or the AWS CLI. They can model and version every aspect of a pipeline within a CloudFormation template that can reliably and repeatedly deploy every dependency.
  • Centralized auditing -- Developers can log CodePipeline API calls with AWS CloudTrail for security and operational troubleshooting.
  • Fine-grained permissions -- Developers can use AWS Identity and Access Management roles to implement resource-level permissions that specify who can take specific actions on a pipeline.
  • Low cost -- Active pipelines cost only $1 per month if there is at least one code change throughout the course of the month that flows through the pipeline. If not, there is no charge.

When it comes to implementing continuous delivery tools in AWS, there are many potential answers. But CodePipeline can be a good fit if you need deep automation capabilities, tightly integrated security controls and cost optimization.

Take our quiz to find out what you know
about AWS IaaS

Amazon Web Services continues to grow rapidly, and it's easy to confuse its many offerings. Test your AWS knowledge of infrastructure as a service in this 10-question quiz.

Next Steps

Consider these DevOps tools in AWS environments

Docker-AWS combination works wonders with CD

Automate app deployment with a DevOps process

Learn the importance of automation to DevOps transitions
This was last published in October 2016

Dig Deeper on AWS application lifecycle management (ALM) tools

PRO+

Content

Find more PRO+ content and other member only offers, here.

Join the conversation

3 comments

Send me notifications when other members comment.

By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy

Please create a username to comment.

Which third-party CI/CD tools work best in AWS?
Cancel
Having implemented a CD process with CodePipeline I can tell that it is a very convenient too. Not only it is easy to setup, but it is also very powerful, but not perfect though.

Some of things that I hope AWS fix in the (near) future:

1. To better manage multiple instances of same pipeline. Sometimes a change is still under approval when another change arrives. It is hard to tell the difference between changes when they get to the same point. 

2. My build process does not use the default Build step. We managed to create IPAs, APKs, and even microservices using a tailor made build process (through CodeBuild/Lambda/custom docker images). The result of the build is then deployed in S3 (APK/IPA) or in Lambda/API Gateway (with versioning/aliasing), not requiring an input/output of artifacts as required by CodePipeline steps. Indeed, we were forced to create a fake codebuild output, register it on Codepipeline, and only then to remove the artifact output from Codebuild in order to make it work (yuk).

3. Ability to create custom providers (a must).

Nonetheless, I am very happy with Codepipeline. 

Cancel
"tool"
Cancel

-ADS BY GOOGLE

SearchCloudApplications

TheServerSide

SearchSoftwareQuality

SearchCloudComputing

Close