Have you ever built out a new infrastructure by hand, creating servers to a specification in a spreadsheet? For many, the process of building virtual infrastructure is almost as manual as bolting the servers into a rack.
It doesn’t have to be that way: creating a virtual server automatically is no more than an API call away. Defining your infrastructure as code (IaC) is possible and sometimes even easy.
Writing code to deploy infrastructure provides the obvious benefits of automation and reduced running costs, but that is not the only reason to define IaC.
Code is controlled and repeatable
Programmers have got control of their process nailed. SAP calls it ‘software logistics’ and was decades ahead of the game with the transport model. Changes are made in a development system and transported through to production automatically, with physically enforced rules for user testing and change control.
In the world of code, mistakes can be backed out. There is version control, from the familiar ‘Version Management’ menu in SE80 in SAP through opensource tools like Git, it’s easy to keep track of every change.
If your infrastructure is defined as code, changes are made in development and deployed through to production with the same rigour as a development change. A disaster? Simply re-run your code and everything is back how it should be.
Enable business agility
The real value of infrastructure as code comes from how much more you can do with an infrastructure defined in code.
Imagine you can create a project system (a clone of production) just by logging a fully automatic service request. Or refresh a quality assurance landscape without the usual time delay and catalogue of errors that is common afterwards. If the landscape was built by code initially, you only need to run it again!
At Absoft we can create a cloned SAP system containing our ADIMA pre-configured SAP S/4HANA product by deploying a template to a new Microsoft Azure subscription, and it’s essentially a one-click process. Infrastructure as Code is a vital part of enabling a cost-effective deployment of the product and key to our business.
So how do you do it?
The technical challenge is in connectivity to all the moving parts. Think of an SAP system build: you’ve got to connect to a cloud platform to make a virtual machine, then into the virtual machine to configure it, automate the installers for the SAP software and finally connect to the running SAP system itself. That’s a lot of touchpoints to define absolutely everything in code.
The market is awash with tools to help. Terraform is an example of a tool that defines the server infrastructure. Ansible can run the tasks (playbooks) on the servers after you have built them, and it provides an incredible number of modules to work with different parts of the operating system.
At Absoft we’ve done a lot of work to develop the capability to automate SAP Software Provisioning Manager through Ansible playbooks, so we can deploy the SAP software. More will be announced soon on what we can do inside SAP to complete the post-processing, as that’s the final step to a truly hands-off experience.
“Ok, I have the technology, now how do I prepare my team”?
You cannot underestimate how Infrastructure as Code changes existing ways of working. In one team, you need infrastructure skills, coding skills, knowledge of the specific toolsets and SAP Basis.
There is a new discipline to learn: don’t fiddle with things. If it’s wrong, fix the code and redeploy it. Some people go as far as to say that if you are logging into your servers with ssh or Remote Desktop ever, then you are doing it wrong.
Get started today
Moving to the cloud, or new hardware, is the optimal time to build a complete landscape out with Infrastructure as Code from the beginning. If you aren’t doing that right now, you can consider automating some frequent activities instead to start building up skills and experience before you dive in later.
Infrastructure as Code is the future, it’s control and automation coming into the IT infrastructure world and SAP landscapes are joining the party. The benefits in business agility align perfectly with new cloud technology so now is the time to start.