Infrastructure as Code
So what is Terraform? Terraform is one of the many infrastructure as code services available today for rapidly deploying infrastructure on the cloud. Terraform is authored and promoted by Hashicorp and is available on all leading cloud platforms.
There are 3 key characteristics which make Terraform very attractive;
Declarative: This capability allows cloud architects to code, plan and apply the infrastructure to be used. The focus is on the ‘what’ and not the ‘how’. Instead of being prescriptive, it enables them to declare the end state and specify the key resources required. Resources could include, VMs, storage, VPNs, containers.
Pluggable: This allows the code and resources declared to be pluggable for infrastructure management across cloud platforms and also SaaS applications.
DevOps first: With a DevOps first approach infrastructure as code has become the framework for rapidly deploying infrastructure at scale in a rapidly changing environment. Full end to end process frameworks have further streamlined this process.
Disaster Recovery Orchestration At Scale
Everyone can recover from a single VM failover to the cloud. Yes, it takes a few manual steps but can be done quite quickly. The challenges occur when you try to fail over 1000s of VMs, and mission critical databases including the likes of Oracle and SAP HANA to the cloud and across clouds during a disaster. The challenge of allocating resources at scale and across clouds further induces risks of human errors.
The best practice for disaster recovery in the cloud calls for having a run play book which can be simulated on a regular basis to ensure data things go smoothly when disaster occurs. A run time play book which leverage Terraform allows you to specify the resources needed without specifying the actual resources and keeping it portable. This gives organizations the agility and flexibility they need in time of crisis.
Building Multi-Tier Applications
The most common applications (like SAP) have a 3-tier architecture – a web server, an application layer and a database tier. Additional tiers get added for API servers, caching servers, routing meshes, etc. This pattern is used because the tiers can be scaled independently and provide a separation of concerns. Terraform is an ideal tool for building and managing such multi-tier SAP application infrastructures. Each tier is typically described as a collection of resources, and the dependencies between each tier are handled automatically.
Once the 3-tier application is provisioned Terraform can be also used to mount the database ( HANA, Oracle, Sybase etc) copy from Actifio so the application comes alive. Actifio enables data to be defined as an infrastructure layer provisioned using the same mechanism as other components in terraform.