It’s no question that Cloud is no longer a passing phase. In the span of a few years, Cloud has moved from an interesting concept to a useful business tool. What began as a creative tool for testing has moved into the mainstream as a way to improve hardware utilization and expand capacity. The benefits for Cloud are well established, and more customers are moving to consumption-based models, either with captive or public Cloud solutions. Many tools exist to help with Cloud migrations, but few have the flexibility to “see through the Cloud” to the application code, and make that code fit this new world.
While the simple answer is to recreate application environments in the Cloud, the costs can consume more resources than expected or run slower than expected. When migration occurs, previously well behaved software can expose new issues. These issues are related to four basic categories.
- Ineffective internal processes and communication: Applications that were constrained by physical machines were unaware that they were not using other services well (e.g. Database).
- Dependencies on physical environments: Applications assumed the hardware platform and made explicit references to machine-dependent facilities.
- Non-pervasive security: Applications relied on infrastructure to protect the assets, while ignoring code-based prevention.
- Limits to Scalability: Applications that have inherent bottlenecks will consume far more resources than appropriate and will perform badly while hindering the performance of other Cloud applications.
Any successful Cloud migration needs to find and eliminate these defects, or the resulting application will either cost more than it should, or run slower than it could. At CAST, we use System-Level Analysis to identify and surface these issues. At the same time, we apply our scoring system to produce a risk index that helps developers understand if the migration will be successful and when the application would be ready to move.
For ease of use, CAST has identified a list of technical criteria to guide developers in the remediation process. These criteria continue to be refined by CAST and field operations research teams that examine successful and failed Cloud implementations for common characteristics. With a portfolio of 50 languages to draw on, applications can be analyzed, assessed and de-risked for Cloud deployment. These actions are highlighted within CAST to allow developers to see, understand, rank and repair code using traditional coding tools. This guides teams to produce code that will not only improve Cloud readiness, but will show how cost can be reduced operationally.
The technical criteria in the chart above represent detailed categories that CAST identifies to help developers understand looming issues. For example, “expensive calls in loops” is not only an issue with Cloud readiness, it can signal that an application’s cost is more than it should be. These technical criteria represent the minimum set of rules for Cloud but also the minimum set of criteria for a well-behaved application in any data center.
Ensuring success in the Cloud can be a big undertaking. At CAST, we are making the transition as easy as possible. For example, Highlight can conduct quick and accurate scans of application portfolios to assess their overall health, doing much of the leg work for digital transformation. We also have a set of solutions that can complement traditional environmental testing tools to shine a powerful light through the Cloud, highlighting success that awaits on the other side.