Cloud Automation

New Cloud Assembly Objects – Amazon DB and Amazon API Gateway

Infrastructure teams continue to move beyond Virtual Machines in favor of Cloud Native constructs. It’s hard to find a company that isn’t using Amazon S3 or Azure Blob storage for something today! One of the guiding concepts of Cloud Automation Services was being aware of how these Cloud Native Services are consumed within the platform.

This month, we have added 2 new object types to Cloud Assembly’s blueprint canvas – Amazon DB and Amazon API Gateway.

We have covered other AWS native constructs supported in Cloud Assembly in this post.

Amazon DB

The Amazon DB object directly interacts with the RDS engine to provide an easier to consume database object for the canvas. Both MySQL and PostgreSQL databases are supported. You can learn more about the RDS objects and supported runtime’s here at AWS. A sample schema for consuming this service is below:

 Cloud_Service_AWS_DB_Instance_1:
 type: Cloud.Service.AWS.DB.Instance
 properties:
   identifier: 'my-aws-db'
   allocated_storage: 20
   storage_type: gp2
   engine: '${input.dbtype}'
   engine_version: '${input.dbtype == "postgres" ? "10.1" : "5.7"}'
   account: Amazon Web Services
   instance_class: db.t2.micro
   provider_region: us-west-1
   name: '${input.dbname}'
   username: foo
   password: foobarbaz
   publicly_accessible: true
   skip_final_snapshot: true

You’ll notice in the above example, I use a conditional expression to set the versions of the database engine to use based on a “dbtype” input, which maps back to postgresql or mysql. This allows me a greater level of flexibility in the way my blueprint is authored. Note the publicly_accessible and skip_final_snapshot properties which have been applied. These properties allow Cloud Assembly to completely manage the objects lifecycle. Please keep these applied in order to allow the object to successfully clean up from Cloud Assembly if you ever delete it!

Amazon API Gateway

API Gateway is an incredibly powerful capability that allows a customer to chain AWS Lambda functions (as well as many other Cloud Native services) together to create API endpoints. These capabilities form the backbone of Serverless platforms when combining these features with S3 buckets, and other Cloud Native objects. Best of all, these can be architected directly from the design canvas!

Stay tuned for a deep drive around how to configure and consume API Gateway alongside Lambda in a future article!

Wrapping Up

We’re continuing to add more services to Cloud Assembly every month. As we continue to expand beyond VM’s and into the public cloud world, these building blocks are going to become more critical to next generation application deployments.

To learn more, and get started today, consider signing up for a trial of VMware Cloud Automation Services.