The most basic requirement from the perspective of Cloud Readiness is “Can the application and data be moved to the cloud smoothly, with minimal impact to business operations during the transition?"
An obvious way to meet the requirement is to just port the VMs from the datacenter to an Infrastructure-as-a-Service (IaaS) provider (such as Amazon EC2). This lift & shift approach has the advantage of being quite speedy as it doesn’t require changes to the applications. However, the cloud has so much more to offer than virtual machines: instantly-scalable computing resources, web services integration, automated testing and deployment, cross-platform environments.
We want our applications to be able to leverage all the cloud capabilities and services by leveraging Platform-as-a-Service (PaaS) capabilities of cloud. However, the migration to PaaS comes requires effort. In the subsequent sections, we will see how CAST Highlight helps arrive at effort required, and therefore, cloud readiness of an application.
Back to our application: the interface of the jAlbum
app in the CloudReady tab should now look like this:
As we can see we have here:
Let’s dive into the results by clicking on the CloudReady Code Scan subtab.
Here we see the detailed findings that came from analyzing this application’s code for cloud good practices. Each row of this table is one of those rules (it can be either a Blocker or a Booster) and lets you know:
Obviously, we want to focus on items that demand action. Let’s look at a critical Blocker in the application (the Contribution and Roadblocks counts are shown in red) and find more information in CAST Highlight by clicking on the question mark next to the Blocker’s label:
This will bring up a dialog explaning in detail:
import java.nio.file.attribute
)The next question is: where? For this you can click on the Roadblocks count and it will bring up the list of culprits:
And sure enough, if we look at this file, we find it:
So here we’ve got a list of issues that need solving, detailed explanations about them, where to find them and even an estimate of the time to fix them. This is what the application’s dashboard is for: actionable insight to help development teams. But wait, there’s more…
Further down the list of Blockers, you can find these rows:
File and directory manipulation is indeed a problem, as PaaS solutions don’t like relying on the file system. That being said, maybe creating and retrieving files is the core functionality of an application, or maybe the effort of dealing with every single Roadblock is just too big.
Not all battles need to be fought head-on. Click on the Recommendations subtab and in the Platform listbox choose Amazon Web Services:
This brings up a list of AWS services that CAST Highlight thinks would be a good fit for this app. At the end of the list, we can see that it recommends S3 so that file manipulation won’t be a problem anymore.
When considering move to cloud or migration on cloud, there’s more than one way to tackle hurdles and CAST Highlight gives you the information you need to make informed decisions. Maybe “pure PaaS and fix all Blockers” is the right choice, maybe it’s PaaS+S3, or maybe you want to containerize all your apps. To that end, you can click on the Containerization subtab and you’ll see the list of Blockers for that approach, which rely on an adapted (sometimes overlapping, sometimes different) list of code patterns.
What’s certain is that you won’t be lacking information… which by the way CAST Highlight can export to JIRA or to your favourite BI tool using its REST API. For this app, we’ll start with a few nice worksheets, which you can get by clicking on the Export to Excel button in the upper-right corner.
We’ve talked about the Cloud Readiness of your app’s custom code, but that code is not alone. Click on the Software Composition tab in the Application’s menu…