Building, Managing and Scaling Enterprise Cloud Systems – Orchestration & Management Challenges
While the business benefits of Cloud computing have become increasingly documented over the past few years, the challenges associated with building, scaling and managing cloud infrastructures are far less understood. To better understand some of these challenges we sat down with Declan Morris, VP of Cloud and IT Operations at Splunk (and a BGV Technology Advisor). This is the first part of a multi-series blog on this topic focusing on orchestration and automation. In a recent research report sponsored by Verizon, a survey by Harvard Business Review Analytic Services revealed that at least 70% of the organizations have adopted some form of cloud computing within their companies. This rapid adoption has been driven by the need for business agility without greater capital investment, increased employee productivity and reduction in business complexity…. Not only are more businesses relying on the cloud for their mission critical applications, enterprises are discovering new ways to use it. Having a cloud based service offering has become a must for any enterprise software vendor. Companies must combine applications, data and support into a single, high-performing entity offered in the cloud. Invariably, enabling such a cloud service requires a combination of compute, storage, database and network services. This requirement changes the paradigm for the operations teams, who were used to building and managing infrastructure by piecing equipment together. These days, the operations teams manage infrastructure by putting together disparate cloud services such as Salesforce, NetSuite, AWS, Box etc. to provide an end-to-end solution for their customers. They have to build mash-ups of services that best fit the needs of their customers. This has created the challenge for operations teams to automate and orchestrate these disparate cloud services. This represents a dramatic shift from managing equipment to managing API calls to various services. Providing high availability, self-healing and auto-scalable infrastructure has become a norm. Meeting such requirements requires the use of a new breed of automation and orchestration tools. A few years ago, there were very few choices. One approach was “home grown” internally developed integration tools – solutions that present its own set of challenges associated with maintenance and complexity. Fortunately, a new breed of Cloud Management Systems (CMS) companies has begun to emerge to fill the gap – this includes companies like Puppet, Chef, Salt and Ansible. While each of these firms are slightly different from each other as outlined in this post, each provide a custom Domain Specific Language (DSL) or structured file format that allows the user to define the desired end state for their system without coding the procedures for getting there. However, this level of abstraction is not sufficient to address the challenge at hand. The problem of integrating multiple SaaS providers still remains. Startups such as MuleSoft, Boomi etc have emerged to solve this problem by providing integration platforms for connecting SaaS and enterprise applications in the cloud and on-premise, both within and outside the organization. Underneath their offering, these platforms make use of software such as OpenStack, Scalr and Puppet to integrate the disparate SaaS providers with the objective of providing a fault tolerant, auto-healing and scalable automation and orchestration platform for the operations team. In such architectures, multi-tenant implementations used to be a necessity to justify the cost and complexity associated with deployments. A significant advantage of adopting these tools is that, enterprise software providers can now offer true single-tenant Virtual Private Cloud solutions to their customers in a cost efficient way.