AWS Cloud Development Kit vs Google Cloud Deployment Manager

Need advice about which tool to choose?Ask the StackShare community!

AWS Cloud Development Kit

205
101
+ 1
0
Google Cloud Deployment Manager

26
112
+ 1
5
Add tool

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.

Decisions about AWS Cloud Development Kit and Google Cloud Deployment Manager

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.
See more

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
Manage your open source components, licenses, and vulnerabilities
Learn More
Pros of AWS Cloud Development Kit
Pros of Google Cloud Deployment Manager
    Be the first to leave a pro
    • 2
      Automates infrastructure deployments
    • 1
      Fast deploy and update
    • 1
      Infrastracture as a code
    • 1
      Easy to deploy for GCP

    Sign up to add or upvote prosMake informed product decisions

    Cons of AWS Cloud Development Kit
    Cons of Google Cloud Deployment Manager
      Be the first to leave a con
      • 1
        Only using in GCP

      Sign up to add or upvote consMake informed product decisions

      - No public GitHub repository available -

      What is AWS Cloud Development Kit?

      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.

      What is Google Cloud Deployment Manager?

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

      Need advice about which tool to choose?Ask the StackShare community!

      What companies use AWS Cloud Development Kit?
      What companies use Google Cloud Deployment Manager?
      Manage your open source components, licenses, and vulnerabilities
      Learn More

      Sign up to get full access to all the companiesMake informed product decisions

      What tools integrate with AWS Cloud Development Kit?
      What tools integrate with Google Cloud Deployment Manager?

      Sign up to get full access to all the tool integrationsMake informed product decisions

      What are some alternatives to AWS Cloud Development Kit and Google Cloud Deployment Manager?
      Git
      Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
      GitHub
      GitHub is the best place to share code with friends, co-workers, classmates, and complete strangers. Over three million people use GitHub to build amazing things together.
      Visual Studio Code
      Build and debug modern web and cloud applications. Code is free and available on your favorite platform - Linux, Mac OSX, and Windows.
      Docker
      The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere
      npm
      npm is the command-line interface to the npm ecosystem. It is battle-tested, surprisingly flexible, and used by hundreds of thousands of JavaScript developers every day.
      See all alternatives