Alternatives to AWS CloudFormation logo

Alternatives to AWS CloudFormation

AWS CodeDeploy, Chef, Terraform, AWS Elastic Beanstalk, and AWS Config are the most popular alternatives and competitors to AWS CloudFormation.
752
447
+ 1
73

What is AWS CloudFormation and what are its top alternatives?

You can use AWS CloudFormation’s sample templates or create your own templates to describe the AWS resources, and any associated dependencies or runtime parameters, required to run your application. You don’t need to figure out the order in which AWS services need to be provisioned or the subtleties of how to make those dependencies work.
AWS CloudFormation is a tool in the Infrastructure Build Tools category of a tech stack.

AWS CloudFormation alternatives & related posts

AWS CodeDeploy logo

AWS CodeDeploy

181
116
36
181
116
+ 1
36
Coordinate application deployments to Amazon EC2 instances
AWS CodeDeploy logo
AWS CodeDeploy
VS
AWS CloudFormation logo
AWS CloudFormation

related AWS CodeDeploy posts

Chris McFadden
Chris McFadden
VP, Engineering at SparkPost · | 9 upvotes · 51.1K views
atSparkPostSparkPost
AWS CodeBuild
AWS CodeBuild
AWS CodeDeploy
AWS CodeDeploy
Amazon EC2 Container Service
Amazon EC2 Container Service
AWS Lambda
AWS Lambda
GitHub
GitHub

The recent move of our CI/CD tooling to AWS CodeBuild / AWS CodeDeploy (with GitHub ) as well as moving to Amazon EC2 Container Service / AWS Lambda for our deployment architecture for most of our services has helped us significantly reduce our deployment times while improving both feature velocity and overall reliability. In one extreme case, we got one service down from 90 minutes to a very reasonable 15 minutes. Container-based build and deployments have made so many things simpler and easier and the integration between the tools has been helpful. There is still some work to do on our service mesh & API proxy approach to further simplify our environment.

See more
Sathish Raju
Sathish Raju
Founder/CTO at Kloudio · | 5 upvotes · 19.6K views
atKloudioKloudio
Node.js
Node.js
Angular 2
Angular 2
React
React
TypeScript
TypeScript
Docker
Docker
AWS CodePipeline
AWS CodePipeline
AWS CodeDeploy
AWS CodeDeploy
AWS Lambda
AWS Lambda
#Kloudio.
#AWS

At Kloud.io we use Node.js for our backend Microservices and Angular 2 for the frontend. We also use React for a couple of our internal applications. Writing services in Node.js in TypeScript improved developer productivity and we could capture bugs way before they can occur in the production. The use of Angular 2 in our production environment reduced the time to release any new features. At the same time, we are also exploring React by using it in our internal tools. So far we enjoyed what React has to offer. We are an enterprise SAAS product and also offer an on-premise or hybrid cloud version of #kloudio. We heavily use Docker for shipping our on-premise version. We also use Docker internally for automated testing. Using Docker reduced the install time errors in customer environments. Our cloud version is deployed in #AWS. We use AWS CodePipeline and AWS CodeDeploy for our CI/CD. We also use AWS Lambda for automation jobs.

See more

related Chef posts

Marcel Kornegoor
Marcel Kornegoor
CTO at AT Computing · | 5 upvotes · 197.3K views
atAT ComputingAT Computing
Linux
Linux
Ubuntu
Ubuntu
CentOS
CentOS
Debian
Debian
Red Hat Enterprise Linux
Red Hat Enterprise Linux
Fedora
Fedora
Visual Studio Code
Visual Studio Code
Jenkins
Jenkins
VirtualBox
VirtualBox
GitHub
GitHub
Docker
Docker
Kubernetes
Kubernetes
Google Compute Engine
Google Compute Engine
Ansible
Ansible
Puppet Labs
Puppet Labs
Chef
Chef
Python
Python
#ATComputing

Since #ATComputing is a vendor independent Linux and open source specialist, we do not have a favorite Linux distribution. We mainly use Ubuntu , Centos Debian , Red Hat Enterprise Linux and Fedora during our daily work. These are also the distributions we see most often used in our customers environments.

For our #ci/cd training, we use an open source pipeline that is build around Visual Studio Code , Jenkins , VirtualBox , GitHub , Docker Kubernetes and Google Compute Engine.

For #ServerConfigurationAndAutomation, we have embraced and contributed to Ansible mainly because it is not only flexible and powerful, but also straightforward and easier to learn than some other (open source) solutions. On the other hand: we are not affraid of Puppet Labs and Chef either.

Currently, our most popular #programming #Language course is Python . The reason Python is so popular has to do with it's versatility, but also with its low complexity. This helps sysadmins to write scripts or simple programs to make their job less repetitive and automating things more fun. Python is also widely used to communicate with (REST) API's and for data analysis.

See more

related Terraform posts

Google Cloud IoT Core
Google Cloud IoT Core
Terraform
Terraform
Python
Python
Google Cloud Deployment Manager
Google Cloud Deployment Manager
Google Cloud Build
Google Cloud Build
Google Cloud Run
Google Cloud Run
Google Cloud Bigtable
Google Cloud Bigtable
Google BigQuery
Google BigQuery
Google Cloud Storage
Google Cloud Storage
Google Compute Engine
Google Compute Engine
GitHub
GitHub

Context: I wanted to create an end to end IoT data pipeline simulation in Google Cloud IoT Core and other GCP services. I never touched Terraform meaningfully until working on this project, and it's one of the best explorations in my development career. The documentation and syntax is incredibly human-readable and friendly. I'm used to building infrastructure through the google apis via Python , but I'm so glad past Sung did not make that decision. I was tempted to use Google Cloud Deployment Manager, but the templates were a bit convoluted by first impression. I'm glad past Sung did not make this decision either.

Solution: Leveraging Google Cloud Build Google Cloud Run Google Cloud Bigtable Google BigQuery Google Cloud Storage Google Compute Engine along with some other fun tools, I can deploy over 40 GCP resources using Terraform!

Check Out My Architecture: CLICK ME

Check out the GitHub repo attached

See more
Praveen Mooli
Praveen Mooli
Engineering Manager at Taylor and Francis · | 12 upvotes · 345.3K views
MongoDB Atlas
MongoDB Atlas
Java
Java
Spring Boot
Spring Boot
Node.js
Node.js
ExpressJS
ExpressJS
Python
Python
Flask
Flask
Amazon Kinesis
Amazon Kinesis
Amazon Kinesis Firehose
Amazon Kinesis Firehose
Amazon SNS
Amazon SNS
Amazon SQS
Amazon SQS
AWS Lambda
AWS Lambda
Angular 2
Angular 2
RxJS
RxJS
GitHub
GitHub
Travis CI
Travis CI
Terraform
Terraform
Docker
Docker
Serverless
Serverless
Amazon RDS
Amazon RDS
Amazon DynamoDB
Amazon DynamoDB
Amazon S3
Amazon S3
#Backend
#Microservices
#Eventsourcingframework
#Webapps
#Devops
#Data

We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

To build #Webapps we decided to use Angular 2 with RxJS

#Devops - GitHub , Travis CI , Terraform , Docker , Serverless

See more

related AWS Elastic Beanstalk posts

Julien DeFrance
Julien DeFrance
Principal Software Engineer at Tophatter · | 16 upvotes · 846.7K views
atSmartZipSmartZip
Rails
Rails
Rails API
Rails API
AWS Elastic Beanstalk
AWS Elastic Beanstalk
Capistrano
Capistrano
Docker
Docker
Amazon S3
Amazon S3
Amazon RDS
Amazon RDS
MySQL
MySQL
Amazon RDS for Aurora
Amazon RDS for Aurora
Amazon ElastiCache
Amazon ElastiCache
Memcached
Memcached
Amazon CloudFront
Amazon CloudFront
Segment
Segment
Zapier
Zapier
Amazon Redshift
Amazon Redshift
Amazon Quicksight
Amazon Quicksight
Superset
Superset
Elasticsearch
Elasticsearch
Amazon Elasticsearch Service
Amazon Elasticsearch Service
New Relic
New Relic
AWS Lambda
AWS Lambda
Node.js
Node.js
Ruby
Ruby
Amazon DynamoDB
Amazon DynamoDB
Algolia
Algolia

Back in 2014, I was given an opportunity to re-architect SmartZip Analytics platform, and flagship product: SmartTargeting. This is a SaaS software helping real estate professionals keeping up with their prospects and leads in a given neighborhood/territory, finding out (thanks to predictive analytics) who's the most likely to list/sell their home, and running cross-channel marketing automation against them: direct mail, online ads, email... The company also does provide Data APIs to Enterprise customers.

I had inherited years and years of technical debt and I knew things had to change radically. The first enabler to this was to make use of the cloud and go with AWS, so we would stop re-inventing the wheel, and build around managed/scalable services.

For the SaaS product, we kept on working with Rails as this was what my team had the most knowledge in. We've however broken up the monolith and decoupled the front-end application from the backend thanks to the use of Rails API so we'd get independently scalable micro-services from now on.

Our various applications could now be deployed using AWS Elastic Beanstalk so we wouldn't waste any more efforts writing time-consuming Capistrano deployment scripts for instance. Combined with Docker so our application would run within its own container, independently from the underlying host configuration.

Storage-wise, we went with Amazon S3 and ditched any pre-existing local or network storage people used to deal with in our legacy systems. On the database side: Amazon RDS / MySQL initially. Ultimately migrated to Amazon RDS for Aurora / MySQL when it got released. Once again, here you need a managed service your cloud provider handles for you.

Future improvements / technology decisions included:

Caching: Amazon ElastiCache / Memcached CDN: Amazon CloudFront Systems Integration: Segment / Zapier Data-warehousing: Amazon Redshift BI: Amazon Quicksight / Superset Search: Elasticsearch / Amazon Elasticsearch Service / Algolia Monitoring: New Relic

As our usage grows, patterns changed, and/or our business needs evolved, my role as Engineering Manager then Director of Engineering was also to ensure my team kept on learning and innovating, while delivering on business value.

One of these innovations was to get ourselves into Serverless : Adopting AWS Lambda was a big step forward. At the time, only available for Node.js (Not Ruby ) but a great way to handle cost efficiency, unpredictable traffic, sudden bursts of traffic... Ultimately you want the whole chain of services involved in a call to be serverless, and that's when we've started leveraging Amazon DynamoDB on these projects so they'd be fully scalable.

See more
AWS Elastic Beanstalk
AWS Elastic Beanstalk
Heroku
Heroku
Ruby
Ruby
Rails
Rails
Amazon RDS for PostgreSQL
Amazon RDS for PostgreSQL
MariaDB
MariaDB
Microsoft SQL Server
Microsoft SQL Server
Amazon RDS
Amazon RDS
AWS Lambda
AWS Lambda
Python
Python
Redis
Redis
Memcached
Memcached
AWS Elastic Load Balancing (ELB)
AWS Elastic Load Balancing (ELB)
Amazon Elasticsearch Service
Amazon Elasticsearch Service
Amazon ElastiCache
Amazon ElastiCache

We initially started out with Heroku as our PaaS provider due to a desire to use it by our original developer for our Ruby on Rails application/website at the time. We were finding response times slow, it was painfully slow, sometimes taking 10 seconds to start loading the main page. Moving up to the next "compute" level was going to be very expensive.

We moved our site over to AWS Elastic Beanstalk , not only did response times on the site practically become instant, our cloud bill for the application was cut in half.

In database world we are currently using Amazon RDS for PostgreSQL also, we have both MariaDB and Microsoft SQL Server both hosted on Amazon RDS. The plan is to migrate to AWS Aurora Serverless for all 3 of those database systems.

Additional services we use for our public applications: AWS Lambda, Python, Redis, Memcached, AWS Elastic Load Balancing (ELB), Amazon Elasticsearch Service, Amazon ElastiCache

See more
AWS Config logo

AWS Config

26
24
4
26
24
+ 1
4
Config gives you a detailed inventory of your AWS resources and their current configuration, and continuously records configuration...
AWS Config logo
AWS Config
VS
AWS CloudFormation logo
AWS CloudFormation
Azure Resource Manager logo

Azure Resource Manager

8
5
0
8
5
+ 1
0
A management framework that allows administrators to deploy, manage and monitor Azure resources
    Be the first to leave a pro
    Azure Resource Manager logo
    Azure Resource Manager
    VS
    AWS CloudFormation logo
    AWS CloudFormation
    AWS Service Catalog logo

    AWS Service Catalog

    10
    15
    0
    10
    15
    + 1
    0
    Create and manage catalogs of IT services that are approved for use on AWS
      Be the first to leave a pro
      AWS Service Catalog logo
      AWS Service Catalog
      VS
      AWS CloudFormation logo
      AWS CloudFormation
      Packer logo

      Packer

      358
      223
      40
      358
      223
      + 1
      40
      Create identical machine images for multiple platforms from a single source configuration
      Packer logo
      Packer
      VS
      AWS CloudFormation logo
      AWS CloudFormation

      related Packer posts

      Pedro Arnal Puente
      Pedro Arnal Puente
      CTO at La Cupula Music SL · | 7 upvotes · 107.7K views
      atLa Cupula Music SLLa Cupula Music SL
      Debian
      Debian
      Amazon EC2
      Amazon EC2
      Amazon S3
      Amazon S3
      Amazon RDS for Aurora
      Amazon RDS for Aurora
      Redis
      Redis
      Amazon ElastiCache
      Amazon ElastiCache
      Terraform
      Terraform
      Packer
      Packer
      Ansible
      Ansible

      Our base infrastructure is composed of Debian based servers running in Amazon EC2 , asset storage with Amazon S3 , and Amazon RDS for Aurora and Redis under Amazon ElastiCache for data storage.

      We are starting to work in automated provisioning and management with Terraform , Packer , and Ansible .

      See more
      John Kodumal
      John Kodumal
      CTO at LaunchDarkly · | 3 upvotes · 61.8K views
      atLaunchDarklyLaunchDarkly
      Ansible
      Ansible
      Spinnaker
      Spinnaker
      Terraform
      Terraform
      Packer
      Packer
      Armory
      Armory

      LaunchDarkly is almost a five year old company, and our methodology for deploying was state of the art... for 2014. We recently undertook a project to modernize the way we #deploy our software, moving from Ansible-based deploy scripts that executed on our local machines, to using Spinnaker (along with Terraform and Packer) as the basis of our deployment system. We've been using Armory's enterprise Spinnaker offering to make this project a reality.

      See more
      GeoEngineer logo

      GeoEngineer

      47
      54
      0
      47
      54
      + 1
      0
      Ruby DSL and DSL (geo) to codify then plan and execute changes to cloud resources, by Coinbase
        Be the first to leave a pro
        GeoEngineer logo
        GeoEngineer
        VS
        AWS CloudFormation logo
        AWS CloudFormation
        Pulumi logo

        Pulumi

        28
        37
        4
        28
        37
        + 1
        4
        Open-source cloud development platform
        Pulumi logo
        Pulumi
        VS
        AWS CloudFormation logo
        AWS CloudFormation
        Habitat logo

        Habitat

        21
        36
        4
        21
        36
        + 1
        4
        Application Automation framework by Chef
        Habitat logo
        Habitat
        VS
        AWS CloudFormation logo
        AWS CloudFormation
        Atlas logo

        Atlas

        18
        24
        0
        18
        24
        + 1
        0
        Develop, deploy, and maintain your application anywhere. Use one console and one workflow from development to production
          Be the first to leave a pro
          Atlas logo
          Atlas
          VS
          AWS CloudFormation logo
          AWS CloudFormation
          Yocto logo

          Yocto

          18
          8
          0
          18
          8
          + 1
          0
          An open Source embedded Linux build system
            Be the first to leave a pro
            Yocto logo
            Yocto
            VS
            AWS CloudFormation logo
            AWS CloudFormation
            Google Cloud Deployment Manager logo

            Google Cloud Deployment Manager

            10
            18
            0
            10
            18
            + 1
            0
            Create and manage cloud resources with simple templates
              Be the first to leave a pro
              Google Cloud Deployment Manager logo
              Google Cloud Deployment Manager
              VS
              AWS CloudFormation logo
              AWS CloudFormation

              related Google Cloud Deployment Manager posts

              Google Cloud IoT Core
              Google Cloud IoT Core
              Terraform
              Terraform
              Python
              Python
              Google Cloud Deployment Manager
              Google Cloud Deployment Manager
              Google Cloud Build
              Google Cloud Build
              Google Cloud Run
              Google Cloud Run
              Google Cloud Bigtable
              Google Cloud Bigtable
              Google BigQuery
              Google BigQuery
              Google Cloud Storage
              Google Cloud Storage
              Google Compute Engine
              Google Compute Engine
              GitHub
              GitHub

              Context: I wanted to create an end to end IoT data pipeline simulation in Google Cloud IoT Core and other GCP services. I never touched Terraform meaningfully until working on this project, and it's one of the best explorations in my development career. The documentation and syntax is incredibly human-readable and friendly. I'm used to building infrastructure through the google apis via Python , but I'm so glad past Sung did not make that decision. I was tempted to use Google Cloud Deployment Manager, but the templates were a bit convoluted by first impression. I'm glad past Sung did not make this decision either.

              Solution: Leveraging Google Cloud Build Google Cloud Run Google Cloud Bigtable Google BigQuery Google Cloud Storage Google Compute Engine along with some other fun tools, I can deploy over 40 GCP resources using Terraform!

              Check Out My Architecture: CLICK ME

              Check out the GitHub repo attached

              See more
              Terraform
              Terraform
              Google Cloud Deployment Manager
              Google Cloud Deployment Manager
              AWS CloudFormation
              AWS CloudFormation

              I use Terraform because it hits the level of abstraction pocket of being high-level and flexible, and is agnostic to cloud platforms. Creating complex infrastructure components for a solution with a UI console is tedious to repeat. Using low-level APIs are usually specific to cloud platforms, and you still have to build your own tooling for deploying, state management, and destroying infrastructure.

              However, Terraform is usually slower to implement new services compared to cloud-specific APIs. It's worth the trade-off though, especially if you're multi-cloud. I heard someone say, "We want to preference a cloud, not lock in to one." Terraform builds on that claim.

              Terraform Google Cloud Deployment Manager AWS CloudFormation

              See more
              SparkleFormation logo

              SparkleFormation

              2
              0
              0
              2
              0
              + 1
              0
              Provisions, modifies, and destroys stacks in a predictable & repeatable manner
                Be the first to leave a pro
                SparkleFormation logo
                SparkleFormation
                VS
                AWS CloudFormation logo
                AWS CloudFormation
                GoFormation logo

                GoFormation

                2
                4
                0
                2
                4
                + 1
                0
                An open source Go library for working with AWS CloudFormation
                  Be the first to leave a pro
                  GoFormation logo
                  GoFormation
                  VS
                  AWS CloudFormation logo
                  AWS CloudFormation
                  Fugue logo

                  Fugue

                  1
                  1
                  0
                  1
                  1
                  + 1
                  0
                  Automate cloud infrastructure operations and governance
                    Be the first to leave a pro