Recently we outlined the multiple paths to extensibility in Cloud Assemvly. Within this post we talked about Action Based Extensibility (ABX) as a new path to extending your Hybrid Cloud. Action Based Extensibilty enables users to leverage Function as a Service in AWS Lambda and Azure Function to execute arbitrary code against Cloud Assembly machines during specific lifecycle states.
Beyond this capability, and being covered in a separate post, is the ability to publsh out these ABX “Actions” as catalog items in Service Broker!
As one of the newest features in Cloud Automaton Services, we’re constantly making updates to add functionality to the service. Let’s jump into the most recent improvements to this service!
ABX – Integrated API Authentication
We’ve received many requests from users who want to use ABX to interact directly with the Cloud Automation Services API. As CAS is hosted in Public Cloud today, it’s a valid request!
We’ve added the capability to ABX to natively call several of the Cloud Automation Services API’s leveraging the “current” users credentials. To understand this capability, let’s take a look at an ABX Action…
In this Action we are interacting with the “Context” object to interact with an integrated request module that has the authentication capabilities built in. In this Action, we’re using that functionality to call the Code Stream pipeline API service to initiate a Pipeline!
Local Action Versioning
Versioning of artifacts within Cloud Assembly is a key concept. We’ve expanded this versioning to also include Action’s within ABX!
With this capability we can continue to iterate on exsting Actions as well as their associated script artifacts. We can track changes between other versions, as well as rollback to earlier versions in the event of issues.
Git Integrated Actions
Beyond local versioning of Actions, we’ve also introduced support for storing and synchronizing Actions with both GitHub and GitLab.
Adding this synchronization to an existing or new GitHub or GitLab integration allows us to bi-directionally synchronize actions with an environment. In this example, we have stored our Actions in an “Actions” folder in our GitHub repository here – https://github.com/codyde/cas-blueprints/tree/master/Actions
With Actions stored in Git, we can issue pull requests against them for issues, merge in new changes, or update/reconfigure them externally leveraging our favorite scripting tool. This is just another example of how we’re bringing GitOps into Cloud Automation Services!
Once the Actions are synchronized, commit data is stored as part of versioning tab.
When Actions are changed inside Cloud Assembly, that code is pushed into our repository. Conversely, as actions are changed remotely in GitHub or GitLab – these changes are pulled in with a new version established!
ABX has a bright future ahead of it! These enhancements continue to reinforce our Hybrid Cloud capabilities by bringing a more “Cloud Native” model to extensibility. By bringing GitOps further into the platform, we make it easier for Cloud Administrators to work with code directly in the ways they want to! Our integrated API authentication allows us to build extensibility that not only interacts with 3rd party platforms – but also allows ABX to interact with itself!
Stay tuned for more information about Cloud Automation Services, and make sure to sign up for a trial at https://cloud.vmware.com!