Recent outages of leading cloud providers affecting thousands of business worldwide, such as the Amazon Web Services S3 outage that occurred in late February, have forced many CIOs and CTOs to think hard about their cloud strategies, including whether a multi-cloud environment would be of benefit.
ROI and Business Impact
During AWS’ four-hour disruption, S&P 500 companies lost $150 million to $160 million, according to analysis by Cyence, a startup that models the economic impact of cyber risk.
Web monitoring company Apica, which watches internet performance issues worldwide, discovered that 54 out of the top 100 internet retailers were impacted with a decrease of 20 percent or greater in performance, and three websites went down completely—Express, Lululemon and One Kings Lane—resulting in a high impact in business.
During this outage, according to Apica spokesperson, Apple and other ecommerce sites were likely spared for an easy reason: They have designed their sites to spread themselves across multiple cloud vendors, so if a problem crops up in one cloud service, it doesn’t hurt them. This is, naturally, the recommended way to use a cloud service.
Apple, Walmart, Newegg, Best Buy, Costco and, surprisingly, Amazon/Zappos were not affected by the outage.
Organizations have since started looking for different means to avoid data loss and downtime and to better support different applications, not to mention resilient application support, customer management and data analytics. This is where multi-cloud computing can help solve the challenges and which focuses provisioning, managing and monitoring workload across many clouds.
Multi-cloud computing is termed as the use of more than one cloud environment, all of the same type or a mix of types, to satisfy business requirements. An enterprise can choose which workloads can be moved to different clouds, depending upon the service offered by cloud vendors, matching the business need.
This article discusses the need of multi cloud adoption, its benefits and challenges in managing multiple cloud environments and how multi-cloud orchestrators help solve the challenges.
According to research firm IDC, by 2020 more than 85 percent of enterprises will adapt to multi-cloud architectures encompassing a mix of public cloud services, private clouds, community clouds and hosted clouds, driving up the rate and pace of change in IT organizations.
According to research firm MarketsandMarkets:
|The Multicloud management market||$939.3 million||$3.4 billion (compound annual growth rate of 29.6%,)|
|The hybrid cloud market||$25.28 billion||$84.67 billion|
What is Driving Multi-Cloud Adoption?
All workload and business requirement cannot be the same—this is one of the primary drivers of a multi-cloud reality.
Unique Needs: You can run each workload where it performs best, for the lowest cost.
Legacy Apps: You can avoid the pain of migrating legacy apps to a new platform.
Desire to Diversify: You can avoid vendor lock-in and latency while creating redundancy.
Benefits of Multi-Cloud Computing
- Flexibility: Companies can deploy to public, private and hybrid clouds using a range of services.
- Reduce the expenditure: Competitive prices and services from different cloud providers enable companies to achieve optimum cost expenditure.
- Enhanced autonomy: Companies avoid keeping all their IT workloads in one cloud provider’s basket.
- Customization and enhanced IT performance: Customization leverages the best-of-breed capabilities from multiple cloud vendors.
- Migration: Containers and microservices-based applications can be migrated easily across clouds.
- Hardware diversity: Relying on multiple locations and multiple providers significantly reduces the chances of impacting QoS.
- Avoid data loss and downtime: Using more than one cloud services helps an organization avoid data loss and downtime attributed to a breakdown in any single component in hardware, software, storage or network.
- Multiple Geo Availability: Companies can leverage cloud vendors’ data centers in multiple geographies, enabling to scale the business.
Challenges of Managing Multi-Cloud Environment
While there’s a lot of talk about moving things between clouds, the reality is it’s still fairly new. Though clouds have become smart enough to put an end to data lock-in, every vendor deployment comes with its own set of challenges, such as unique portals and processes that companies need to manage and can be put into three different categories.
- API: No single model of integration or infrastructure automation can work, as each cloud provider will provide a different API to access different cloud services.
- Behaviors: There are many differences in how clouds behave for common actions or under certain circumstances. For example, some clouds automatically provision storage upon launch of a server or instance, while others do not.
- Resource sizes and types: Each cloud provider will offer different sizes and types of compute, storage and network resources; hence, the IT team must think about provisioning with optimum resource size and type needed for their workloads.
- Operating system images: Each cloud provider will provide a unique set of operating system images, which makes it difficult to run the workload using the same image in other cloud.
- Hypervisors: Each cloud provider leverages different, and sometimes proprietary, hypervisor options.
- Application stacks: Some cloud providers may provide a selection of common, preconfigured application stacks (such as LAMP or Java or .NET).
- Add-on services and features: Each cloud provider will offer extra add-on services and features above and beyond basic compute, network and storage resources. These may include load balancing, application servers, analysis tools or databases.
- Security capabilities: The access control capabilities will vary across cloud providers, becoming more complex if different providers demand different password complexities or authentication measures.
- Network Capabilities: Each cloud offers different ways to define subnets, security groups and network gateways, increasing difficulty in network planning.
- Testing: Deploying apps to multiple clouds requires platform-specific testing, which needs separate automate tests targeting multiple cloud platforms.
- Tool diversity: DevOps tools have to keep pace with the rapid changes being made to the platforms.
- Maintaining security and governance: Companies will need to go through rules and regulations of each service provider to adhere to security compliance.
- Managing applications and infrastructure configurations across multiple cloud stacks: This can be difficult since the cloud platforms do not share a common API, which exposes different service definitions and billing models.
- Technical support and expertise: Extra administrative work and research is required to to determine the best provider and whether its services are compatible.
- Geo-availability: Expand the business into new markets can be a challenge, as not all cloud providers have global footprints and offer data centers only in limited locations.
- Cloud brokers: Managing cloud brokers is an additional cost while using multiple clouds.
- Billing and Pricing: Each cloud provider offers unique pricing models as well as different billing capabilities, which necessitates the need for governance and cost optimization, providing summary along with detailed cost tracking across clouds.
- Skill sets and training: A lack of skill set and expertise in different clouds in the organization can lead to outages of workloads and increase cost/effort.
- Planning and execution: It can be difficult to choose the services that match a company’s business needs, pricing, governance and team’s expertise.
How a Multi-Cloud Orchestrator Helps
Regardless of the challenges, multi-cloud environments are growing, thanks in part to multi-cloud orchestration tools, which can prove to be a right fit to address above discussed challenges.
These orchestration tools have the capability to make multiple cloud providers look like a single provider ensuring configuration of all cloud dependencies within one configuration model. These tools enable companies to automatically deploy and manage multi-cloud environments.
Some of the big players in this segment are RightScale, OneOps, Cloudify and IBM Cloud orchestrator, which provide a standard set of interfaces and capabilities across a multi-cloud environment.
We have identified some parameters which current multi-cloud management platforms are well-equipped to handle:
- Planning and Execution of an application from design to transition to deployment.
- Installation & configuration of infrastructure packages & services in an automated way.
- Provisioning of application environment.
- Deployment plan and execution.
- Cost Management: Suggestion of cost effective cloud services and single dashboard to track the cost associated with different cloud services.
- Monitoring of entire application stack.
- Security & Governance as to who can view, create, execute environment related activities.
- Blue-print Templates which can be easily reused to create a new environment.
- Reporting: View a report of instances that are consumed by your organization across multiple clouds.
Multi-cloud orchestrator tools help address some of the above challenges to configure, provision and deploy several cloud environments, as well as integrate service management from a single, self-service interface.
Though present multi-cloud orchestration tools offer a more time- and cost-effective solution to manage different cloud providers for organizations to focus on larger business objectives, virtually all products in this category are young—bugs and inconsistencies can and will occur. Additionally, security can be a concern for many of the popular orchestration tools. Many APIs offered are not securely encrypted by default and need to have SSL added separately.
We can say there is still a huge scope of improvement for multi-cloud orchestration tools to build more secure, easy-to-set up standardized workflows across different cloud providers to cover the challenges which multi-cloud computing era offers.
About the Author / Rashi Sharma
Rashi Sharma an architect working with Technology Office in HCL Technologies. She has expertise in AWS, DevOps consulting & configuration management methodologies. She is associated with DevOps COE, working on design and Development of DevOps solutions.