More on Application Centric vs. Infrastructure Centric Management
By Jamal Mazhar, On 1/16/09 9:15 PM
In reference to my earlier blog on Application Centric Management, there is a discussion on the cloud computing group , I posted a detailed response, sharing it here:
When we say we need application centric approach it is implied that it is needed from application owner perspective, people who are responsible for managing applications, their service levels etc. People responsible for running infrastructure and providing infrastructure as a service, e.g. Amazon, GoGrid, alt. needs infrastructure perspective to manage their infrastructure. However, the application owners who are consumers of infrastructure as a service will make their life a nightmare if they try to manage applications running on virtual resources using infrastructure perspective.
Let’s look at some historic context of 4 phases of IT evolution to get the perspective of why application centric approach is needed.
Phase I: In good old days, application owners bought dedicated hardware for running their applications and they had the flexibility to install whatever patches, OS, etc. they needed for their applications on the dedicated hardware. This was an era of high flexibility and low hardware utilization.
Phase II: CIOs and their bosses didn’t like it as utilization was low, question was why are we wasting hardware, so the directive came from the top that let’s consolidate the infrastructure. Once the infrastructure, especially the servers, was consolidated application owner lost flexibility as anytime they have to make a change to infrastructure they needed to check with 10 groups within an enterprise to make sure they are not going to step on someone’s toes because applications were using shared resources. This was a time of higher server utilization but lower flexibility, configuration management and time of running regression tests on multiple applications even if the change was required by a single application. Several IT organizations are still stuck in this phase.
Phase III: Then came along virtualization, it resolved the conflict b/w flexibility and utilization by allowing each application owner to run/install their own OS/patches on a virtual server which is using a slice of the physical server resources. Hence each application owner was able to run their own application on their dedicated virtual server and apply patches, changes etc. without impacting the other applications running on different virtual servers on the same physical box. Although virtualization solved the problem of lack of flexibility, it created a new management nightmare, because for every physical server we ended up having multiple virtual servers. So from application owner perspective it introduced a new complexity as they need to track all the virtual resources used by their applications. This problem was significant for internal clouds or virtualized environments, however, when you add the scale of public clouds, especially clouds in different locations the management becomes a nightmare from enterprise perspective. How can a large company with 100s of application using 1000s of servers manage this complexity?
Phase IV: Taking an application centric perspective for managing virtual resources addresses the complexity issue, as each application owner can manage the entire infrastructure used by their application as a system. It also allows each application owner to individually hold accountable the infrastructure as a service provider for SLAs of the infrastructure as a service which may impact the service levels for their applications. So complexity is managed by having distributed management as each application owner can manage their own virtual resources. The infrastructure as a service provider could be an internal IT team responsible for managing private cloud and/or it could be one or multiple public cloud providers. In IT all the work we do ultimately leads to delivering and managing business applications, and business holds us accountable based on not how fast our routers or servers are but, are we delivering applications on time and are the applications meeting the business service levels. Business users are judging us from application perspective, we will do ourselves disservice by not taking an application centric approach for managing our applications.
Here is the summary of IT evolution:
Phase I - Cowboy Days: Each application owner had their own dedicated infrastructure/hardware. Flexibility High, Utilization of Resources Low.
Phase II - Consolidation: Application running on shared infrastructure. Utilization High, Flexibility Low.
Phase III – Virtualization: Use of virtualization in the datacenters and use of public and private clouds. Utilization High, Flexibility High, Complexity High.
Phase IV – Application Centric Management: Use of application centric management for managing virtual resources. Utilization High, Flexibility High, Complexity Low.
Watch this 5-min video on Benefits and Challenges of Cloud Computing on YouTube.