Cloud Automation Services in action
On March 21 I presented at the Dutch VMUG. If you don’t know the Dutch VMUG, it’s the biggest VMware User Group event in the world and this year there were about 900 attendees. I had two sessions on VMware Cloud Automation Services (CAS), a 20 minute lightning talk and a 45 minute breakout including an extensive demo to show Cloud Automation Services in action. Both sessions were well visited and I got very positive feedback on my talk as well as my demo. The demo was split into four parts showing off the main modules of CAS; Cloud Assembly, Service Broker and Code Stream.
Part 1 – Configuring Cloud Assembly using the API
Cloud Automation Services is a SaaS offering. The management plane lives in the cloud and therefor no software needs to be installed on-prem. Just go to cloud.vmware.com, log in and start consuming the services. But before you can start building your blueprints and deploy cloud infrastructure and applications on top, you first have to configure Cloud Assembly by adding Cloud Accounts, creating Cloud Zones, Profiles and Projects. This can be done all through the GUI but VMware Cloud Automation Services is fully API driven and therefore the configuration can be done programmatically.
In this first demo I’ll use Postman and the Cloud Assembly API to create a Project using existing Cloud Accounts & Zones. Then create a new blueprint using Infrastructure as Code and deploy the blueprint.
Part 2- Developing blueprints in Cloud Assembly using Infrastructure as Code
With Cloud Assembly you can create cloud agnostic infrastructure blueprints using the design canvas and/or Infrastructure as Code. Once a blueprint is created, you can then iterate on this blueprint, make online changes and create versions, deploy them for test and finally release it to be consumed by your end-users.
In this second demo I’ll make changes to the blueprint that was created earlier in part 1. Using Infrastructure as Code, I’ll add all kinds of inputs, variables, tags, constraints and Cloud-init commands for deploying a web application. During the development I create multiple versions, deploy a blueprint and make changes to an existing deployment.
Part 3 – Release Catalog content with Service Broker
With Service Broker you can aggregate content from multiple clouds and platforms into a single self-service portal and apply role-based policies for governance.
In this third demo I release the final version of the blueprint. Then add and share the Cloud Assembly blueprint plus an AWS Cloud Formation Template as content into Service Broker catalog. Finally, I create a lease policy, attach the policy to the Project and deploy the blueprint to verify the policy is being applied.
Part 4 – Automatic Software deployment using Code Stream pipelines
To deliver better software faster, organizations are looking into new ways of working and adopt agile methods like DevOps. Continuous Integration (CI) and Continuous Delivery/Deployment (CD) tools support the DevOps way of working. What Code Stream provides is Continuous Delivery of your software by using automated pipelines who are highly integrated with existing developer tools providing speed, transparency and insight in the complete software development process.
In this final demo I’ll create a deployment pipeline with a Dev and Prod stage. The Dev stage will deploy a Cloud Assembly blueprint with a web application into a Dev environment (AWS) and will destroy the deployment after a check and approval of the new web application code. After a second approval, the blueprint will be automatically deployed into the Prod environment (vSphere). To trigger the pipeline, I’ll setup a Git integration with the code repository of the web application on Github. After each new commit to the repository, the pipeline will start. I also have setup notifications to a Slack channel using a webhook.
By seeing Cloud Automation Services in action I hope you are convinced that these Automation services, build by VMware from scratch, are very relevant in adopting agile methods like DevOps by providing a fully API driven platform with native Cloud integration and have the ability to do everything in Code which makes it easier to share across teams, track versioning and being completely cloud agnostic.