June 13, 2014 | Written by: Steve Strutt
Share this post:
This blog post is part of a series in which I am exploring open cloud-inspired approaches such as OpenStack, DevOps and open standards. I want to look at how these approaches can enable IT to adapt to the shift to user and customer engagement through social and mobile applications.
This debate is shaped by the large IT organizations I work with who are seeking to evolve their existing development and operations practices and processes to a cloud-based infrastructure as a service (IaaS) delivery model. Alongside IaaS, they are also introducing platform as a service (PaaS) and software as a service (SaaS) delivery models, which are beyond the scope of my discussion here.
In my previous post, I looked at the seismic effect that social and mobile applications, (described by Geoffrey Moore and others as systems of engagement) are having on the IT landscape and organizations. Also, I looked at how the requirement for agility in delivering these applications is causing tension between developers and IT operations in many of the organizations I work with.
In this post I introduce four innovations that I believe are key to IT organizations successfully utilizing IaaS to deliver application services in this new landscape and to address the opposing objectives of developers and operations.
1. Management of pets and cattle. The one size fits all approach that many IT departments use to run applications and systems today is financially unsustainable. An analogy I like and have written about before is thinking of IT systems as pets rather than cattle. Pets are treated with care and nursed back to health if ill—an approach that is appropriate for enterprise resource planning (ERP), customer resource management (CRM), database systems of record and applications where availability, data protection and stability are important.
But pets are not appropriate in the world of systems of engagement, social and mobile apps, where the typical application model is scale-out on commodity hardware. These apps are, or should be, designed to survive IT failures. This is the world of cattle. If it fails, just replace it—two very different management styles.
The IBM approach to addressing the requirement for IT to manage both systems of record and systems of engagement delivery is to expand OpenStack support from its genesis in commodity scale-out environments to address both pets and cattle. In this regard, IBM Cloud Manager with OpenStack provides IT with a single, common infrastructure, management framework and IaaS application programming interfaces (APIs), which delivers the following:
• Enterprise standards of reliability and performance for long-running systems of record workloads on IBM mainframes, IBM Power Systems and x86
• Scale-out management of commodity hardware on x86 and OpenPower for systems of engagement workloads
2. Software definitions. These are based on applications and infrastructure through Software Defined Environments (SDE), also referred to as the Software Defined Data Center (SDDC). Traditional IT delivery relying on manual processes is just not able to deliver the agility required by businesses deploying social and mobile apps. It is one of the prime reasons I see development organizations buying self-service public cloud with credit cards.
In my opinion, one of the key benefits of IaaS cloud is the programmatic control of infrastructure through automation and APIs. Developer self-service on public cloud delivers increased agility but loses much of the potential value. The ability to automate provisioning of compute, storage and networking through programmatic APIs provides greater benefit. In this regard, IBM is building its Software Defined Environments on the OpenStack framework and APIs to enable full automation of environment delivery for both on premises and off premises clouds. I will cover this in more detail in a future post.
3. Application patterns. These are templates that define an application and its infrastructure as code. Being reusable, patterns over time become robust and proven building blocks. They enable entire environments to be rapidly and repeatedly deployed time and time again without error, increasing stability and reducing failures due to misconfiguration. With the IBM Virtual System (vSys) Pattern technology, we are seeing the deployment time for complex applications such as business process management (BPM) and mobile apps being reduced from days and weeks down to minutes and hours with significant client time-to-market benefits.
Patterns are a fundamental component of the Software Defined Environment, driving the programmatic configuration of the underlying infrastructure, application and middleware components.
Standards in this area are essential. From a standards perspective, OASIS is developing TOSCA, a portable application standard. However, having a standard does not mean it will be adopted. The agreement at the OpenStack Hong Kong design summit that OpenStack HEAT Orchestration Templates (HOT) would align with the TOSCA “Simple Profile” is a great step towards having a common, industry-wide pattern technology—progress that is reflected in the HOT templates in the recent OpenStack Icehouse release.
4. DevOps. DevOps, or more correctly a subset called deployment automation, along with agile development is a significant cultural change for many development and operations organizations. As a subset of DevOps, deployment automation focuses only on automating the deployment stages of the development life cycle and can be adopted independently of other DevOps capabilities. The following graphic illustrates the application delivery pipeline as implemented by the IBM deployment automation solution, UrbanCode Deploy.
At its core, uDeploy manages the programmatic deployment of application builds and their required infrastructure and middleware environments through development, multiple test iterations and finally into production. The benefits are faster application roll out and improved delivery consistency.
Deployment automation with uDeploy can be implemented for physical, virtual or cloud-based systems. Its ability to dynamically create environments for test and development using private and public cloud provisioning APIs brings significant additional value.
Each of these innovations has value by itself, but it is my experience that IBM clients are gaining greater value when they bring all of these approaches together.
In my next blog post, I will take a deeper look at how combining deployment automation, Software Defined Environments and patterns enables IT to effectively deliver social and mobile applications while continuing to maintain their systems of record.
How is your IT organization handling the challenge of delivering social and mobile? I would be interested to hear what you have to say, so leave a comment below or connect with me on Twitter @SteveStrutt.
More from Steve Strutt:
The seismic impact of social and mobile on IT
Why the contract between IT & the business needs resetting for cloud
More reasons why the IT/business contract needs resetting for cloud
Reimagining enterprise IT in the social, mobile age with open cloud
Will improved efficiency lead to increased consumption of OpenStack products?
Dispatch from IBM Pulse: Standing room only at OpenStack Summit