Infrastructure Consumption Model: Need for Business Driven Infrastructure
Data Centers and their role in enabling a digital enterprise is emerging as a key consideration for more enterprise organizations. As organizations focus on digitization, the impact of data center and the ease of their usability is gaining increasing focus. However, there is a constant struggle for IT organizations to make it easier for the business to consume and manage infrastructure. Change of approach is critical prior to designing the consumption model.
There is a strong focus on software defined networking but is it enough? The software vendors publish the infrastructure configurations required to run their software but to get that provisioned, organizations have to kick start a project to evaluate, procure, provision and sometimes configure the infrastructure. Do we really need a system administrator to provision infrastructure? Do we really need to know how many virtual machines and what their configuration is? Will a business guy ever know the nuts bolts of the infrastructure needed to run the application? Who is the customer for the more Cloud Consumption Models? System Administrators or Application/Business Owners?
Business Driven Infrastructure: The Concept
If we come across a consumption model wherein we are required to define in business terms what my application needs instead of what configuration of the infrastructure is needed. Every large enterprise defines business priority and criticality for their applications. The level of priority defines and drives certain additional requirements like disaster recovery, failover, resiliency and high-availability requirements.
So instead of asking the configuration of the virtual machines, why can we design a consumption model where we ask more about the requirements of the application – single node, multi-node with failover, multi-node with failover across at least 2 data center and/or with disaster recovery and/or geo-affinity enabled. Or how many environments are required? What is the purpose of those environments?
Instead of asking how much memory is required, we need to ask the question about how many users will access the system and if there is a pattern to the same. Like the usage is more during certain hours/days/months and drops drastically otherwise. Or if there is a geo-affinity with respective to usage of the application?
Instead of asking how much storage is required, we need to ask what data we need to backup if any. If we actually backup, how long that needs to be retained before it’s recycled? Any policy or compliance aspects are required to be considered for data storage, accessibility and backups. What is more critical to know how frequently the backup is required to be restored?
To summarize, the goal is define business requirements and not technical specs for the infrastructure required for running an application.
IaaT: Infrastructure-as-a-Template enables DevOps agility for IT organizations
Once we have all the business requirements for an application, we can put together a template and then use that to provision the required infrastructure. Often IT organizations can have a pre-defined templates which can serve the requirements of most applications. For applications where it doesn’t fit an existing template, it can create a new template by compiling the infrastructure components required to meet the business requirements defined for that application. Infrastructure-as-a-code can be highly leveraged to achieve this. This strengthens the time to capability and making infrastructure available to business teams for IT organizations. The focus on automation and DevOps driven delivery will help IT organization to improve their overall ability to deliver the infrastructure required by the business. To summarize, the business teams need to define the infra requirements but the control of the infrastructure is contained within the specialized IT team who build and support these reusable and distributable templates. For the advanced user community, they can also define and refine the derived templates.
With a key focus on optimal resource utilization and operational excellence with respect to infrastructure delivery along with making it easier for business team to interact with IT team this approach can prove a lot useful than the traditional approach of defining the infrastructure configurations for deploying applications.