Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles / cloud

How to Know When to Switch to a Multi-Cloud Architecture

5.00/5 (1 vote)
31 Jan 2018CPOL5 min read 2.6K  
A multi-cloud architecture can be more difficult to manage, but when your cloud hosting needs require high availability, a presence in specific regions, or the ability to optimize costs, switching to a multi-cloud strategy makes sense.

Image 1

The best companion to DevOps is the public cloud. While the principles and practices of DevOps can be applied to and can benefit private clouds and internal applications, organizations that have applications in the public cloud find that DevOps practitioners can provide even greater benefit.

A Primer on DevOps

First, we need to be very clear about what DevOps means. DevOps comes in two primary flavors: DevOps as a practice, and DevOps principles. The practice involves very specific tactics from DevOps engineers, IT managers, site reliability engineers (SREs), quality engineering, and developers, with a focus on scripted infrastructure, ChatOps, incident management, monitoring, and all other flavors of automation.

DevOps principles guide the tactics. Generally, when you hear the term DevOps, it’s meant to encompass all elements of what makes a sustainable and efficient development environment. It includes organizational structure, DevOps practice, and philosophy. DevOps is not something that is accomplished. It is a means of operating so that the development environment is not at some point beyond its prime, and locked into a specific pipeline toolset or processes.

When we talk about the public cloud enhancing DevOps, we are talking about what can be done at the intersections of practice and principles.

Staking a DevOps Claim

Considering the principle definition of DevOps, you cannot say that one company is or is not doing it. As long as you are focused on building better applications and more frequent and more efficient releases, then you are of the DevOps mindset; therefore, anyone who is building applications can be of the DevOps mindset. But in working to reach some more advanced DevOps practices, the technology stack can be a limiting factor. This includes:

  1. automated testing and continuous testing
  2. continuous integration
  3. continuous delivery and canary releases

These are hard to implement without the flexibility and services you can find in the public cloud. The public cloud removes a collection of barriers to adopting these practices by removing all hardware obstacles, and making the relationship between source repository and production seamless.

"Public" cloud does not presuppose the application is public. Internal line of business applications can also run in production in a public cloud, which removes barriers for some organizations that might claim public cloud is not for them because they are not building a commercial application.

All the principles of modern development practices can be implemented in private clouds. But the rate of adoption and flexibility cannot match that of applications deployed to the public cloud.

What the Public Cloud Offers

Public cloud boosts DevOps in two dimensions: The first is organizational and process- oriented, and the second is technical. The time from infrastructure request to access to that infrastructure is generally considerably shorter with public cloud than with private. This availability unshackles teams. IT is able to service developers without feeling the high pressure of the requests they receive, and developers do not shy away from features and functionality because of the potential hassle of trying to get the resources they need.

From a technology standpoint, public cloud service providers like Alibaba Cloud are more current and advanced in infrastructure. This is what they do and get paid for. Alibaba Cloud offers DevOps-friendly features such as integrated performance monitoring and the ability to set up continuous delivery chains in an easy fashion. Most companies are not in the business of data centers, and because of that, they are not operating at the same levels that a cloud provider like Alibaba Cloud can.

More specifically, this is what the public cloud does for DevOps:

  • On-demand resources: Organizations worry about the pool of resources they want to offer their developers. But with the public cloud, developers can provision resources on-demand. When it’s required, resource negotiations can happen. So IT is free to consider compliance and policy, rather than spending time making sure developers have what they need.
  • Better security: Most organizations do not have 24/7 maintenance staff that is always on top of the latest exploits. Because public cloud providers have to make sure their infrastructure is as secure as possible, they are usually far more advanced in security then the typical company. If your private cloud is only accessible in your office building, and not connected to the public Web, it may be more secure than the public cloud. But in most cases private clouds are not this isolated.
  • Increased accessibility: The accessibility of public clouds in multiple geographies offers many benefits. It allows developers to build applications from anywhere. Accessibility affords more options for development teams to get their jobs done, with less reliance on static development environments.
  • Greater expertise: One major thing public cloud providers do is actively find new services to make developers’ abilities to create, deploy, and run applications even easier: things like SSD instances, Big Data PaaS offerings, release automation tools, and integrations into toolchains and pipelines, along with pre-built application services like messaging, logging, and monitoring. All of these things mean that developers can create more functionality faster, and create more seamless processes for deploying and monitoring applications. For a typical company to give their developers the same offering, they would need to have a dedicated cloud services development team, which is expensive, and likely not as competitive.

The public cloud is not the only path to DevOps, and there are instances (especially in highly secure environments) where it makes sense to stick with a private cloud. In other cases, the hybrid cloud can provide the best of both worlds.

Still, even companies building non-commercial applications that are not accessible to the general public can benefit from leveraging the public cloud to accelerate their DevOps adoption and success.

If you’d like to get started using the public cloud to advance your DevOps strategy, you can take advantage of Alibaba Cloud’s current offer of $300 in free credit.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)