Likelihood to Recommend I think AWS CodePipeline is a great tool for anyone wanted automated deployments in a multi-server/container AWS environment. AWS also offers services like Elastic Beanstalk that provide a more managed hosting & deployment experience. CodePipeline is a good middle ground with solid, built-in automation with enough customizability to not lock people into one deployment or architecture philosophy.
Read full review 8 because it's currently best-in-class and is completely essential to use in contrast to not expressing your infrastructure as code. That said, new contenders are nipping at its heels, and I expect stronger tools to emerge in the coming years. Hopefully the Terraform team is able to keep pace.
Read full review Pros It is reliable and works without errors It integrates well with our repository and all other AWS functions as well as our end database Read full review Terraform is cloud agnostic. Just select the suitable provider for the cloud and it will do the job. Templating is possible to make the Terraform templates reusable. Variables can be created to make the templates generic so that it can be reused for different environments or resources. Read full review Cons Ease of use - things like CircleCI or other tools are a bit easier to learn. Ability to build from more sources. Read full review The errors generated by the plan and preview commands are pretty cryptic, it can be hard for newcomers to the scripting language to understand how to address problems. Access controls around workspaces is limited which makes it harder to secure reduce the scope of teams ability. Analytics around user usage, applies and plans would be helpful for managemenet. Read full review Usability Overall, I give AWS Codepipeline a 9 because it gets the job done and I can't complain much about the web interface as much of the action is taking place behind the scenes on the terminal locally or via Amazon's infrastructure anyway. It would be nicer to have a better flowing and visualizable web interface, however.
Read full review I love Terraform and I think it has done some great things for people that are working to automate their provisioning processes and also for those that are in the process of moving to the cloud or managing cloud resources. There are some quirks to HCL that take a little bit of getting used to and give picking up Terraform a little bit of a learning curve, thus the rating
Read full review Performance Our pipeline takes about 30 minutes to run through. Although this time depends on the applications you are using on either end, I feel that it is a reasonable time to make upgrades and updates to our system as it is not an every day push.
Read full review Terraform's performance is quite amazing when it comes to deployment of resources in AWS. Of course, the deployment times depend on various parameters like the number of resources to deploy and different regions to deploy. Terraform cannot control that. The only minor drawback probably shows up when a terraform job is terminated mid way. Then in many cases, time-consuming manual cleanup is required.
Read full review Support Rating We didn't need a lot of support with AWS CodePipeline as it was pretty straightforward to configure and use, but where we ran into problems, the AWS community was able to help. AWS support agents were also helpful in resolving some of the minor issues we encountered, which we could not find a solution elsewhere.
Read full review I have yet to have an opportunity to reach out directly to HashiCorp for support on Terraform. However, I have spent a great deal of time considering their documentation as I use the tool. This opinion is based solely on that. I find the Terraform documentation to have great breadth but lacking in depth in many areas. I appreciate that all of the tool's resources have an entry in the docs but often the examples are lacking. Often, the examples provided are very basic and prompt additional exploration. Also, the links in the documentation often link back to the same page where one might expect to be linked to a different source with additional information.
Read full review Alternatives Considered CodeCommit and CodeDeploy can be used with CodePipeline so it’s not really fair to stack them against each other as they can be quite the compliment. The same goes for
Beanstalk , which is often used as a deployment target in relation to CodePipeline.
CodePipeline fulfills the CI/CD duty, where the other services do not focus on that specific function. They are supplements, not replacements. CodePipeline will detect the updated code and handle deploying it to the actual instance via
Beanstalk .
Jenkins is open source and not a native AWS service, that is its primary differentiator.
Jenkins can also be used as a supplement to CodePipeline.
Read full review Terraform is the solid leader in the space. It allows you to do more then just provisioning within a pre-existing servers. It is more extensible and has more providers available than it competitors. It is also open source and more adopted by the community then some of the other solutions that are available in the market place.
Read full review Return on Investment CodePipeline has reduced ongoing devops costs for my clients, especially around deployment & testing. CodePipeline has sped up development workflow by making the deployment process automated off git pushes. Deployment takes very little coordination as the system will just trigger based on what is the latest commit in a branch. CodePipeline offered a lot of out-of-the-box functionality that was much simpler to setup than a dedicated CI server. It allowed the deployment process to built and put into production with much less and effort and cost compared to rolling the functionality manually. Read full review we are able to deploy our infrastructure in a couple of ours in an automated and repeatable way, before this could take weeks if the work was done manually and was a lot of error prone. having the state file, you can see a diff of what things have changed manually out side of Terraform which is a huge plus if state file gets corrupted, it is very hard to debug or restore it without an impact or spending hours .. writing big scale code can be very challenging and hard to be efficient so it's usable by the whole team Read full review ScreenShots HashiCorp Terraform Screenshots