This blog is co-authored with Vinay Rao.
Recently, I was invited to speak at a meetup sponsored by HashiCorp and Oracle. The key message was automation across cloud vendors like Oracle, Microsoft, Amazon, and Google using HashiCorp’s open source tool, Terraform. If you already use Terraform for one cloud, you can extend the use of it to other clouds. This capability enables enterprises to drive automation across multicloud deployments, as I have described in another post. For example, you can use Terraform to deploy a Kubernetes cluster in both Oracle Cloud Infrastructure and Microsoft Azure.
My last post talked about automation and cloud governance, and the meetup inspired me to start thinking about different levels of automation for cloud infrastructure. There is a well-defined pyramid for industrial manufacturing that describes different levels of automation, but I couldn’t find one for cloud infrastructure. Most resources I found talked about the IaaS, PaaS, and SaaS deployment model, but they lacked levels similar to the manufacturing pyramid. So, I started to create one, and came up with the following conceptual pyramid. The pyramid is more applicable to IaaS or PaaS, rather than SaaS.
First, let’s talk about the top level, Voice, which is the icing on the cake! The growth of voice-controlled devices knows no bounds with extendable skills and services such as IFTTT (If This Then That). IT consumerization is extending from laptops and smartphones to voice assistance like Alexa, Siri, and Google Assistant. You can use voice assistants to roll down your car window, and now, you can use it to provision, scale, or destroy (be careful!) your cloud infrastructure.
For example, the following video shows how you can scale an existing block volume or provision a Container Engine for Kubernetes cluster on Oracle Cloud Infrastructure by using Apple’s Siri. The video uses iPhone shortcuts along with Linux scripts and Terraform to provision or update block storage and Kubernetes. You can similarly use CLIs, REST APIs, and SDKs provided by the cloud provider.
The next level in the pyramid, Intelligent, has similar characteristics to robotic process automation (RPA). Similar because it automates repetitive production tasks without human interaction but has a “self-learning” capability with AI. According to CIO Dive’s 5 data trends for 2020, AI will gradually enter more mature stages, and take over some backend processes at the enterprise level. Companies such as Oracle Corporation and Automation Anywhere are leading in this space.
For example, Oracle Autonomous Database leverages AI and machine learning to provide full, end-to-end automation for provisioning, security, updates, availability, performance, change management, and error prevention. You can even combine the power of Voice to provision an Autonomous Database and, after it’s provisioned, let it automatically (intelligently) index or scale without human interaction.
The bottom three levels of the pyramid are established and gaining maturity in the cloud. The Supervisory and Control and Orchestration levels will become more Intelligent and Voice capable. According to CIO Dive’s 5 cloud trends for 2020, containers are taking over as the dominant strategy for cloud portability. Kubernetes, which provides the platform to run, scale, maintain, and orchestrate across containers, provides “self-healing” using ReplicaSets and Deployments. The Control and Orchestration level of the pyramid also encourages team collaboration using tools such as Oracle Resource Manager or Terraform Enterprise.
The Field level is where someone in the field (developers or operational staff) uses a cloud console, writes a script, or uses CLI to provision from their local laptop. This level has minimum to no automation.
The video gave you a glimpse into how the levels work with each other. Each level in the pyramid plays a complementary role. With any automation, it’s always a good idea to consider the security of what is allowed and who has access at each level. Automation should be fully tested and always have manual overrides!
To try this out yourself, go to the following Github repository: