Over the last couple of years IT Operations is on a journey to evolve infrastructure. This is needed to keep pace with the ever growing demands of the business. Especially developers are now asking for an “on demand” experience when it comes to consuming infrastructure resources.
All too often this is a challenge for most IT Operations teams. Most have set their first steps into providing Infrastructure-as-a-Service (IaaS), but that still does not provide the experience that developers are asking for. In order to provide this, IT Operations needs to rethink how they manage and operate their infrastructure.
Moving towards Infrastructure-as-Code (IaC)
To provide new applications and features, developers over the years have moved to a new methodology : Agile. Agile software development has gained momentum amongst developers within Enterprise customers today. One of the key results of this new way of building and delivering software is in code releases, and with that application deployments can happen more frequently.
Traditionally new application deployments being pushed into production happened once a year or every half year. With the move to Agile software development, code is released every month, day or sometimes every hour. This however also has an impact on the infrastructure; specifically the consumption of infrastructure.
Infrastructure, and with that IT Operations, needs to be capable of handling that change frequency within the infrastructure and on the applications that they are running. It should be easy to change something rather than being an obstacle and constrain the consumers (i.e. developers) from doing their job.
In order to make that happen, a lot of Enterprise customers are moving towards the methodology called “Infrastructure as Code” (IaC). The goal of IaC is to automate the provisioning and maintenance of the infrastructure to the fullest extent. For this to be achieved all components of the infrastructure need to provide an application programmatic interface (a.k.a. API) which can be addressed in automating the steps that normally are done manually. Preferably the interfaces are standardized to industry standards and / or open formats as much as possible.
Being able to address the infrastructure components programmatically makes it possible for the infrastructure to be “coded” to the needs of the consumer. In other words the infrastructure can be managed in a similar fashion as if it were an application.
With that, the IT Operations teams need to be able to “program” the infrastructure and will need to adopt similar methodologies like developers; To version control their changes and to make sure that new changes are thoroughly tested before going in production.
Basically what we are seeing is that IT Operations teams need to apply an Agile methodology to manage and maintain the infrastructure to keep up with the rapid pace of change that is demand by their consumers : the developers and application operators.
In order to do that we need to have an infrastructure that can be easily adjusted to those needs. So, we need to rethink how we currently operate our infrastructure. For that we need an infrastructure that can adapt the changes quickly and easily.
We need to move away from the manual configuration and management. We need to be able to address the infrastructure as if it were an application: manage infrastructure as if it were code.
If we need to define the characteristics of such an infrastructure it would need to be the following:
- declarative, programmable interface (API);
- easily import and export configurations with the ability to iterate easily;
- version controlled and staged deployment of new infrastructure functionality;
- be able to instantly gratify resource consumption needs;
- manages across both private, hybrid and public cloud resources;
These platform capabilities make it possible to adopt the methodology of “Infrastructure as Code”. This new way of operational management will make it possible to easily develop new services that are requested by consumers. Typically these are the developers and Lines of Business (LoB).
To provide a true “Agile Infrastructure” that delivers value of new infrastructure resources at a faster pace.
VMware Evolving it’s Products to Help Customers Become Agile
And this is where VMware provides tools that can help achieve and realise that time-to-value quicker and faster. By providing tools that can help structure an “Agile Infrastructure”.
Tools by itself are not a guarantee for a successful move towards Infrastructure as Code. This also needs alignment with a new way of work that involves people and process to move towards that. But it sure helps to have tools that are build and designed with that narrative in mind : a toolset aimed towards infrastructure development that has multi-cloud and application focus embedded in its core.
Thats what VMware has created the new release of vRealize Automation (Cloud). vRealize Automation (Cloud) helps IT Operations departments of customers to required solutions and services faster by automating across clouds. All of which are delivered as easy of deployment, through SaaS or a downloadable appliance, that will deliver quick time-to-value after they start using it.
vRealize Automation (Cloud) exists out of 3 solutions of which each plays a part in helping to deliver (new) cloud services that can be consumed through API, through code or through user interface interaction.
- Cloud Assembly : Automation tool to define, build and govern blueprints across clouds. It gives user the ability to (cloud agnostic) model application and infrastructure resources. Cloud Assembly provides a policy based governance model to define “guard rails” for deployment across both public and private cloud endpoints.
- Service Broker : Central service aggregator to provide as a portal to consumers. This can be consumed through web UI or API. The tool provides the ability to define policies on various aspects for the services that it governs.
- Code Stream : Service to model continuous delivery pipelines. This gives an entry point for getting new application code into production. Focussing primarily on the continuous deployment part leveraging the services created by Cloud Assembly or managed by Service Broker.
Delivering on the promise of Infrastructure-as-Code
By moving towards the Infrastructure-as-Code methodology and adopting tools that help make it successful it should result into outcomes that help the business become more agile.
From a consumption perspective IT Operations should be more agile and capable of facilitating the below outcomes :
- On-demand resources : Consumers should be able to consume infrastructure any-time and on-demand without being restricted.
- Programmable interaction : Everything should be programmable through APIs or command line.
- Multi-cloud, multi application framework : Any type of infrastructure, VM or container, can be deployed in any type of private, hybrid or public cloud.
So to conclude with vRealize Automation (Cloud) VMware helps customers to move towards Infrastructure-as-Code easily. Again it’s not only the technology, you need to implement the process and evolve people skills to get there. But with vRealize Automation (Cloud) it becomes a lot easier to achieve the goal of Infrastructure as Code.