How Ready Are Your Applications For The Cloud? A Look At The Enterprise Application Maturity Model
As Amazon likes to call it, the cloud is the new norm. The move to the cloud is in full swing among enterprises.
When enterprise IT starts to plan the migration, they perform a detailed analysis of the application portfolio to assess readiness. Most of the line-of-business applications running on Intel x86 platform can be migrated to virtual machines. Legacy workloads that are critical to the business but not running on x86 will continue to run within the data center. Hybrid cloud securely connects the assets deployed in the public cloud to the resources in on-premises. Some of the existing applications will be modernized to take advantage of the cloud. Greenfield applications that are in the design phase are going to be built for the cloud. They exploit recent advancements in platforms and application delivery.
This article recommends a framework to classify applications for the cloud based on various attributes. It highlights three phases in enterprise application modernization.
Most of the traditional line-of-business applications that are running on Intel x86 infrastructure can be classified as cloud-ready apps. They can be easily mapped to virtual machines available through cloud infrastructure services (IaaS). If an organization has already invested in virtualization, these apps would be already running in VMs, making it easy to export to the cloud. Mainstream cloud platforms support importing existing VMs based on VMware vSphere or Microsoft Hyper-V.
Cloud-ready apps do not require re-architecting or refactoring. They offer least-effort migration to the cloud with a lower availability rate. Since these workloads are not designed for clustering or high-availability, they suffer from a single point of failure. Cloud-ready apps are expensive to maintain. This is primarily due to the way they consume the compute, storage and network resources even when idle. Each component of an app runs in a dedicated VM with no scope for optimization. Upgrading or patching results in downtime making the maintenance complex and expensive. Ultimately, cloud-ready apps derive less value from the cloud.
Example workloads include legacy databases, 3rd party ISV applications, home-grown business applications that can be lifted and shifted to VMs running in an IaaS.
This breed of applications offers flexibility and cost advantage when moving to the cloud. They require minimal refactoring while delivering agility. Cloud-optimized apps typically target Platform as a Service (PaaS) delivery model of the cloud. They are portable and can be deployed in IaaS or PaaS.
Cloud-optimized apps take advantage of managed services offered by cloud providers. For example, instead of running a database in a VM, they consume DB as a Service. This reduces the deployment footprint offering flexibility to IT teams. These apps are elastic with the ability to easily scale-in and scale-out, which results in optimal utilization of resources. Upgrading, patching, and maintaining cloud-optimized apps is more manageable when compared to cloud-ready apps.
The flip side of cloud-optimized apps is the learning curve involved in migrating to the cloud. Developers, operators, and system administrators will have to learn the new way of deploying and managing workloads.
Line-of-business applications with access to source code are great candidates of being cloud-optimized apps. They can be redesigned and rearchitected to take advantage of the cloud. Cloud-optimized apps can integrate and interoperate with cloud-ready applications.
This is the most recent breed of applications that are born in the cloud. They take full advantage of the cloud by exploiting capabilities such as elasticity, event-driven, resource optimization, and faster release cycles. Apps that are in the early stage of design and architecture are perfect candidates for cloud-native.
Cloud-native applications are designed as microservices, packaged and deployed as containers, and managed through modern DevOps processes. Their target deployment environment includes Containers as a Service (CaaS) and Functions as a Service (FaaS). This breed of apps delivers ultimate scalability and availability. Combined with continuous integration and continuous deployment, software is delivered rapidly which accelerates time to market. It brings closed-loop feedback among developers, testers, operators, and end-users.
Cloud-native apps demand new skills of containerization, microservices, build and release management. However, the return on investment is higher when compared to other app models.
Greenfield applications that are still in the design phase are ideal for the cloud-native pattern.
Large enterprises moving to the cloud will deal with a diverse set of applications. Through hybrid connectivity and integration, legacy, cloud-optimized, cloud-ready and cloud-native applications will co-exist and interoperate with each other.
Learn more about how CenturyLink hybrid cloud can help meet even your most complex business needs.
This blog is provided for informational purposes only and may require additional research and substantiation by the end user. In addition, the information is provided “as is” without any warranty or condition of any kind, either express or implied. Use of this information is at the end user’s own risk. CenturyLink does not warrant that the information will meet the end user’s requirements or that the implementation or usage of this information will result in the desired outcome of the end user.