Question

How might a team make an app "cloud-ready"?

Answer
By Justin Stoltzfus | Last updated: August 23, 2017
Presented by Turbonomic

Many companies are trying to figure out how to send applications and workloads to the cloud. When it comes to designing applications for the cloud, there are some fundamental guidelines about what makes applications cloud-ready – how to get them into the right condition to be best supported in the cloud.

One major aspect of cloud-ready applications involves their builds. Loosely coupled applications are better candidates for the cloud. Decoupling data from the application often helps. Performance and latency are major factors, but by integrating loosely coupled architectures, applications become more versatile, which leads to better cloud success. Applications can be built as a collection of services or APIs to create a build that's going to run well in the cloud.

Applications also benefit from being built for elasticity and scaling. Elasticity contemplates dynamic requirements in real-time or non-permanent spikes in demand. Scalability, on the other hand, addresses the need for a system to gradually grow as demand eventually increases. Applications that are built for horizontal scaling can benefit from better cloud outcomes.

Another aspect of cloud readiness has to do with resource allocation. It's critically important to examine the structure of the application, and how it uses CPU and memory. There has to be some sort of equilibrium between how the application is supported in its original environment, and how it will be served in the cloud. It can be tough to make these comparisons between different environments, but it's a major part of deciding whether applications are ready for prime time in the cloud.

In addition, teams also have to look at application interdependencies. How does the application work with Active Directory? What do all of the components of the application do inside of an architecture? There are also network dependencies, such as required IP address changes and firewall rules, and other types of administrative details to consider.

Generally speaking, engineers and teams must also look at input/output needs and storage methods and requirements – this goes back to the point about separating the data from the application. With so many different types of network setups in play, including virtualization and hyperconvergence, there are many ways to set up storage for applications. Finding the best solutions is another puzzle piece for cloud readiness.

In general, applications built with a “cloud-native” design are made to operate well in a cloud environment. Some experts recommend using a DevOps approach to build and condition applications in particular ways that make them cloud-compatible. However, some of the above tips are also practical ways to evaluate cloud readiness.

Share this Q&A

  • Facebook
  • LinkedIn
  • Twitter

Tags

Cloud Computing Enterprise IT Emerging Technology Big Data

Presented By

Logo for Turbonomic

Written by Justin Stoltzfus | Contributor, Reviewer

Profile Picture of Justin Stoltzfus

Justin Stoltzfus is a freelance writer for various Web and print publications. His work has appeared in online magazines including Preservation Online, a project of the National Historic Trust, and many other venues.

More Q&As from our experts

Related Terms

Related Articles

Term of the Day

Weighted Fair Queueing

Weighted fair queueing (WFQ) is the data packet queuing algorithm used by network schedulers. This strategy consists of...
Read Full Term

Tech moves fast! Stay ahead of the curve with Techopedia!

Join nearly 200,000 subscribers who receive actionable tech insights from Techopedia.

Resources
Go back to top