Making Applications Cloud Agnostic
July 18, 2016

Joan Wrabetz
Quali

In the last few months a half dozen startups in the cloud application migration space have been snapped up by larger vendors and cloud providers (e.g. Cliqr acquired by
Cisco, ITapp acquired by ServiceNow, ElasticBox acquired by CenturyLink). This sudden interest in application migration is perhaps surprising given all the buzz around containers. Aren't containers going to make application migration a problem of the past? Clearly the answer is "No!" Let's examine what makes application migration so important and difficult.

Application migration is increasing in importance for a number of reasons. One key reason is the growth of Hybrid clouds. While almost all enterprises are using the public cloud, almost none of them are using public cloud exclusively. This means that some of their applications are migrating to the cloud. This step also necessitates that these apps be capable of running in more than one public cloud because most large organizations prefer not to create a dependency on a single cloud provider. At the same time, some applications are not moving to the public cloud, which means that they are moving to a private cloud environment. This means that application migration is important to almost all organizations, regardless of where they are migrating to.

At a time when software development groups are trying to move to DevOps, they are faced with developing applications for legacy, as well as these new and different environments. DevOps drivers cause organizations to look for ways to automate the software development, test and deployment processes. Whatever these processes are, they need to work in all of the cloud and datacenter environments that applications are targeted for.

The combination of hybrid cloud and DevOps requirements has led to an increased interest in application migration. The companies that have been acquired shared a common capability for creating an application template that could be deployed in different infrastructure.

A core tenant of application deployment that is agnostic to infrastructure is the need to create an application template that carries meta data about the application's requirements that can be interpreted for deployment to multiple cloud or virtual environments. This template carries information that is not available with containers. Containers do help to make applications portable so that the application image can run in many different cloud environments, but they do not carry the information about which cloud to target, application unique requirements, and post-deployment configuration.

Smarter firms provide application templating as part of its cloud sandboxing software. Sandboxes are used to create a complete replica of a production environment, from network to applications and hybrid cloud configuration. As part of this replica, a template for each application type that allows the application to be deployed in different sandboxes with different virtualization or cloud configurations using the same template should be included. This template should be designed to allow complete flexibility of deployment since it is used in development and testing and is incorporated into an automated DevOps process. In addition, as part of sandboxes, applications are automatically connected to networks so the application template needs to provide enough information to enable network connections to be orchestrated automatically.

These types of application templates follow a modeling approach. The application template includes:

■ A data model for the application that allows the users to describe a structure for the application.

■ A set of attributes that are used to provide additional information about application requirements such as CPU, memory, etc.

■ Deployment path that includes the list of virtualization or cloud environments on which this app can be deployed.

■ The template includes a pointer to the location and type of image for each deployment path.

■ Driver that enables automated control of the app after it has been deployed.

Application templates are key to describing applications in a way that is cloud agnostic and also enables automation for DevOps. The software that creates these templates has become a critical component for many cloud providers and DevOps solutions, whether for development and test, like sandboxing software, or for production deployment.

Joan Wrabetz is CTO of Quali.

Share this

Industry News

November 30, 2023

Parasoft, a global leader in automated software testing solutions, today announced complete support for MISRA C++ 2023 with the upcoming release of Parasoft C/C++test 2023.2.

November 30, 2023

Solo.io achieved the Amazon Elastic Kubernetes Service (Amazon EKS) Ready designation from Amazon Web Services (AWS).

November 29, 2023

CircleCI implemented a gen2 GPU resource class, leveraging Amazon Elastic Compute Cloud (Amazon EC2) G5 instances, offering the latest generation of NVIDIA GPUs and new images tailored for artificial intelligence/machine learning (AI/ML) workflows.

November 29, 2023

XM Cyber announced new capabilities that provide complete and continuous visibility into risks and vulnerabilities in Kubernetes environments.

November 29, 2023

PerfectScale has achieved the Amazon Elastic Kubernetes Service (Amazon EKS) Ready designation from Amazon Web Services (AWS).

November 28, 2023

BMC announced two new product innovations, BMC AMI DevX Code Insights and BMC AMI zAdviser Enterprise.

November 28, 2023

Rafay Systems announced the availability of the Rafay Cloud Automation Platform — the evolution of its Kubernetes Operations Platform — to enable platform teams to deliver automation and self-service capabilities to developers, data scientists and other cloud users.

November 28, 2023

Bitrise is integrating with Amazon Web Services (AWS) to provide compliance-conscious companies with greater access to CI/CD capabilities for mobile app development.

November 28, 2023

Armory announced a new unified declarative deployment capability for AWS Lambda.

November 27, 2023

Amazon Web Services (AWS) and Salesforce announced a significant expansion of their long standing, global strategic partnership, deepening product integrations across data and artificial intelligence (AI), and for the first time offering select Salesforce products on the AWS Marketplace.

November 27, 2023

Veracode announced product innovations to enhance the developer experience. The new features integrate security into the software development lifecycle (SDLC) and drive adoption of application security techniques in the environments where developers work.

November 27, 2023

Couchbase announced a new Capella columnar service on Amazon Web Services (AWS), enabling organizations to harness real-time analytics to build adaptive applications.

November 21, 2023

Redgate announced the launch of Redgate Test Data Manager, which simplifies the challenges that come with Test Data Management (TDM) and modern software development across multiple databases.

November 21, 2023

mabl announced an integration with GitLab, the AI-powered DevSecOps platform.

November 21, 2023

FusionAuth announced the availability of new software development kits (SDKs) that support Angular, React and Vue JavaScript front-end frameworks.