Informazioni approfondite tecniche / Cloud agnostic

Cloud agnostic: Architecting applications compatibly across clouds

Building a cloud strategy that meets the unique needs of your company isn’t as simple as spinning up a few workloads in the cloud. Today’s sophisticated cloud deployments follow unique design patterns, such as a cloud-agnostic strategy, to meet a variety of unique business and technical requirements.

As cloud becomes a primary initiative for many of today’s companies, it’s important to understand how cloud-agnostic strategies can deliver value, as well as how this cloud design pattern differs from other common cloud strategies found in today’s enterprise cloud initiatives.


What is cloud agnostic?

Cloud agnostic refers to a cloud design strategy in which applications, tools, and services are designed to migrate seamlessly between multiple cloud platforms or between on-premises and cloud in a hybrid model without disruption of service. Some of the tenets of a cloud-agnostic approach are to support seamless portability independent of the underlying operating system, to ensure limited disruption of the workloads in migration, and to limit the risk of application downtime while enhancing cost efficiencies.

As an example, a common cloud-agnostic strategy involves designing tools, services, or applications to run on two or more cloud platforms. Some of the common public cloud platforms companies leverage to implement a cloud-agnostic strategy include AWS, Azure, and Google Cloud Platform.

With VMware Tanzu, a suite of products that enable companies to run Kubernetes-based containers across public or private cloud environments, companies easily can architect applications to be cloud agnostic in a streamlined and straightforward manner. This is because Kubernetes creates a standard way to manage and run applications across different public and private cloud environments.




What are the benefits of a cloud-agnostic architecture?

When companies adopt a cloud-agnostic strategy, they benefit from four primary benefits: portability, cost optimization, consistent performance, and avoiding vendor lock-in. These benefits can help companies better understand what value to expect when developing a cloud-agnostic approach.

  • Portability ensures that an application works independently of the platform and can seamlessly migrate from one cloud platform to another.
  • Consistent performance is a valuable characteristic of cloud agnostic, as companies benefit from a standard of performance (speed and scale) independent of the platform or infrastructure the application or service is running on.
  • Cost optimization is a primary tenet of a cloud-agnostic architecture. As pricing models change between cloud providers, cloud-agnostic applications can be migrated easily to run in the cloud platform that delivers the best cost savings.
  • Avoiding vendor lock-in ensures that companies are not subject to one operating platform, but have the freedom to move applications as they see fit.



What to keep in mind if you’re considering cloud-agnostic applications

Although there is an array of benefits found in the cloud-agnostic design approach, there are some considerations that companies should take into account when considering implementing such a strategy, such as performance, security, and design constraints. It’s important that companies understand how these considerations may impact their unique cloud-agnostic strategy and what tools may be valuable to help limit the risks of data loss.

  • Performance can vary depending on the design approach. With applications designed for a specific infrastructure, developers can optimize around the strengths within that known infrastructure, whereas with cloud agnostic, there can be a trade-off in performance as applications are designed to accommodate various infrastructures and operating systems.
  • Security teams need to collaborate with development and operations to ensure control policies meet security requirements independent of the platform. With Kubernetes, applications gain enhanced cloud native security benefits that align with cloud development strategies, such as DevSecOps, delivering a more secure and reliable cloud-agnostic experience.
  • Design constraints will vary depending on the design environment. Cloud-agnostic design happens at the developer level. So, even with a golden path, there are implementation barriers and design constraints unique to any development environment.

Cloud-agnostic apps vs. cloud native apps

From seamless flexibility and agility to limited risk of data loss through application redundancy, today’s cloud is overflowing with opportunity. However, to fully grasp the opportunity presented by the cloud, companies should understand how popular cloud design patterns, such as cloud agnostic and cloud native, fit within a greater enterprise cloud strategy. A cloud-agnostic application is simply an application that encompasses the tenets of the cloud-agnostic design, such as portability, cost optimization, and limiting vendor lock-in.

Cloud native applications, on the other hand, are designed to be platform specific. They can be locked into a specific cloud or not. But by applying cloud-agnostic principles, you can make native clouds better. These cloud native applications are optimized for the underlying infrastructure or cloud environment they run on. Although performance may improve, these cloud native applications are subject to the costs of the cloud infrastructure they’re built on, increasing the likelihood of increased costs or vendor lock-in.




Developing cloud-agnostic solutions

To develop a cloud-agnostic solution, companies can benefit from leveraging ready-made solutions, microservices, and design strategies. To start, one of the building blocks of any successful cloud-agnostic design is to leverage containerization. Containers are a form of operating system virtualization in which any application code dependencies, or necessary elements to make the application run, are packaged to allow the app to run from anywhere.

Building on this, VMware Tanzu enables companies to run and manage multiple Kubernetes container clusters across multiple cloud environments, an important aspect of any cloud-agnostic strategy. Further, products within VMware Tanzu, such as VMware Tanzu Build Service, pair the value of production-ready container images with cloud native backups, helping companies deploy and manage container images at scale while reducing vulnerabilities and exposures that can arise in a disparate container build. All of these capabilities help companies unlock the value of a cloud-agnostic approach in an intuitive, streamlined manner.