StackShareStackShare
Follow on
StackShare

Discover and share technology stacks from companies around the world.

Follow on

© 2025 StackShare. All rights reserved.

Product

  • Stacks
  • Tools
  • Feed

Company

  • About
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  1. Stackups
  2. DevOps
  3. Build Automation
  4. Infrastructure Build Tools
  5. AWS Cloud Development Kit vs Google Cloud Deployment Manager

AWS Cloud Development Kit vs Google Cloud Deployment Manager

OverviewDecisionsComparisonAlternatives

Overview

Google Cloud Deployment Manager
Google Cloud Deployment Manager
Stacks24
Followers113
Votes5
AWS Cloud Development Kit
AWS Cloud Development Kit
Stacks208
Followers102
Votes0
GitHub Stars12.5K
Forks4.3K

AWS Cloud Development Kit vs Google Cloud Deployment Manager: What are the differences?

  1. 1. Integration with Cloud Provider Services: The key difference between AWS Cloud Development Kit (CDK) and Google Cloud Deployment Manager (CDM) is the level of integration with their respective cloud provider services. CDK allows developers to define and provision AWS resources using familiar programming languages like Python, JavaScript, and TypeScript. CDM, on the other hand, uses YAML or Python templates to provision resources on Google Cloud Platform (GCP).

  2. 2. Language Support: CDK offers a wider range of language support compared to CDM. It supports popular programming languages like Python, JavaScript, and TypeScript, allowing developers to leverage their existing skills. CDM primarily uses YAML for resource definitions, but it also provides some support for using Python templates.

  3. 3. Resource Coverage: Another key difference lies in the coverage of resources and services offered by CDK and CDM. CDK offers a comprehensive set of AWS resource types and services, including compute, storage, databases, networking, and more. CDM, on the other hand, is primarily focused on managing Google Cloud resources and may have a narrower range of resource types compared to CDK.

  4. 4. Deployment Methodology: CDK follows an imperative programming model, where developers define the desired state of their infrastructure using code. CDK then translates this code into a CloudFormation template, which is used for deployment. CDM, on the other hand, follows a declarative approach, where developers define the desired state using YAML or Python templates, and CDM handles the deployment and provisioning of resources based on these templates.

  5. 5. Community and Ecosystem: The CDK has a vibrant and active community, with a wide range of contributions from developers around the world. The community has developed and shared numerous libraries, constructs, and patterns that can be used with CDK. CDM, being a Google Cloud-specific tool, may have a smaller community and ecosystem compared to CDK.

  6. 6. Maturity and Adoption: CDK has been available since 2018 and has gained significant traction within the AWS developer community. It has been used in production by various organizations and has received frequent updates from AWS. CDM, although being a mature tool, may have a comparatively lower adoption rate and community support due to its specific focus on Google Cloud.

In summary, the key differences between AWS CDK and Google CDM lie in their level of integration with cloud provider services, language support, resource coverage, deployment methodology, community and ecosystem, as well as maturity and adoption. CDK offers wider language support and a comprehensive set of AWS resource types, while CDM focuses on Google Cloud and may have a narrower range of resource types.

Share your Stack

Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.

View Docs
CLI (Node.js)
or
Manual

Advice on Google Cloud Deployment Manager, AWS Cloud Development Kit

Sung Won
Sung Won

Nov 4, 2019

DecidedonGoogle Cloud IoT CoreGoogle Cloud IoT CoreTerraformTerraformPythonPython

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

2.25M views2.25M
Comments
Timothy
Timothy

SRE

Mar 20, 2020

Decided

I personally am not a huge fan of vendor lock in for multiple reasons:

  • I've seen cost saving moves to the cloud end up costing a fortune and trapping companies due to over utilization of cloud specific features.
  • I've seen S3 failures nearly take down half the internet.
  • I've seen companies get stuck in the cloud because they aren't built cloud agnostic.

I choose to use terraform for my cloud provisioning for these reasons:

  • It's cloud agnostic so I can use it no matter where I am.
  • It isn't difficult to use and uses a relatively easy to read language.
  • It tests infrastructure before running it, and enables me to see and keep changes up to date.
  • It runs from the same CLI I do most of my CM work from.
385k views385k
Comments

Detailed Comparison

Google Cloud Deployment Manager
Google Cloud Deployment Manager
AWS Cloud Development Kit
AWS Cloud Development Kit

Google Cloud Deployment Manager allows you to specify all the resources needed for your application in a declarative format using yaml.

It is an open source software development framework to model and provision your cloud application resources using familiar programming languages. It uses the familiarity and expressive power of programming languages for modeling your applications. It provides you with high-level components that preconfigure cloud resources with proven defaults, so you can build cloud applications without needing to be an expert.

-
Easier cloud onboarding; Faster development process; Customizable and shareable; No context switching
Statistics
GitHub Stars
-
GitHub Stars
12.5K
GitHub Forks
-
GitHub Forks
4.3K
Stacks
24
Stacks
208
Followers
113
Followers
102
Votes
5
Votes
0
Pros & Cons
Pros
  • 2
    Automates infrastructure deployments
  • 1
    Infrastracture as a code
  • 1
    Fast deploy and update
  • 1
    Easy to deploy for GCP
Cons
  • 1
    Only using in GCP
No community feedback yet
Integrations
Jinja
Jinja
Python
Python
Google Cloud Storage
Google Cloud Storage
Google Compute Engine
Google Compute Engine
Google Cloud SQL
Google Cloud SQL
C#
C#
JavaScript
JavaScript
Visual Studio Code
Visual Studio Code
Java
Java
Python
Python
TypeScript
TypeScript
.NET
.NET
AWS CloudFormation
AWS CloudFormation

What are some alternatives to Google Cloud Deployment Manager, AWS Cloud Development Kit?

AWS CloudFormation

AWS CloudFormation

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.

Packer

Packer

Packer automates the creation of any type of machine image. It embraces modern configuration management by encouraging you to use automated scripts to install and configure the software within your Packer-made images.

Scalr

Scalr

Scalr is a remote state & operations backend for Terraform with access controls, policy as code, and many quality of life features.

Pulumi

Pulumi

Pulumi is a cloud development platform that makes creating cloud programs easy and productive. Skip the YAML and just write code. Pulumi is multi-language, multi-cloud and fully extensible in both its engine and ecosystem of packages.

Azure Resource Manager

Azure Resource Manager

It is the deployment and management service for Azure. It provides a management layer that enables you to create, update, and delete resources in your Azure subscription. You use management features, like access control, locks, and tags, to secure and organize your resources after deployment.

Habitat

Habitat

Habitat is a new approach to automation that focuses on the application instead of the infrastructure it runs on. With Habitat, the apps you build, deploy, and manage behave consistently in any runtime — metal, VMs, containers, and PaaS. You'll spend less time on the environment and more time building features.

Yocto

Yocto

It is an open source collaboration project that helps developers create custom Linux-based systems regardless of the hardware architecture. It provides a flexible set of tools and a space where embedded developers worldwide can share technologies, software stacks, configurations, and best practices that can be used to create tailored Linux images for embedded and IOT devices, or anywhere a customized Linux OS is needed.

GeoEngineer

GeoEngineer

GeoEngineer uses Terraform to plan and execute changes, so the DSL to describe resources is similar to Terraform's. GeoEngineer's DSL also provides programming and object oriented features like inheritance, abstraction, branching and looping.

Atlas

Atlas

Atlas is one foundation to manage and provide visibility to your servers, containers, VMs, configuration management, service discovery, and additional operations services.

Buildroot

Buildroot

It is a tool that simplifies and automates the process of building a complete Linux system for an embedded system, using cross-compilation.

Related Comparisons

GitHub
Bitbucket

Bitbucket vs GitHub vs GitLab

GitHub
Bitbucket

AWS CodeCommit vs Bitbucket vs GitHub

Kubernetes
Rancher

Docker Swarm vs Kubernetes vs Rancher

gulp
Grunt

Grunt vs Webpack vs gulp

Graphite
Kibana

Grafana vs Graphite vs Kibana