Feature Focus: Cloud Service Recommendations, a step further in your Cloud journey

CAST Highlight excels at identifying code Blockers an application could encounter during a Cloud migration and recognizing cloud Boosters or effective PaaS service implementations in a code base that would make the move easier. The next step is to recommend specific PaaS services at both the portfolio and application levels that are good candidates to adopt after migration based on the technical characteristics of the application. This is now available in CAST Highlight for AWS, Azure and IBM Cloud and will save Chief Cloud Architects precious time. This article describes how the feature works and how to best leverage it in your organization.

From where do these Cloud recommendations originate?

One can learn a lot of things when looking at Software Intelligence insights. Generally speaking, CAST Highlight analyzes aspects of software that could be improved or fixed such as: overly complex code, patterns that could be blockers during a Cloud migration, and vulnerable or obsolete Open Source components that could put an application at risk. We leveraged these Software Intelligence insights, in partnership with Cloud experts from Amazon Web Services and Microsoft Azure, in a series of workshops to translate them into specific recommendations for adopting various cloud services on AWS, Azure and IBM Cloud.

Four insight categories are combined in CAST Highlight to build Cloud service recommendations:

    • Technology inventory: based on the different technologies detected during the scan, some Cloud services can be recommended. For instance, if an application is made of 10.5K lines of code of SHELL or Python scripts, it could take advantage of Cloud-based Batch services such as Azure Batch, AWS Batch or IBM Workload Automation. Another example could be an application primarily composed of Java, which is a good candidate to run as a container and consume some Amazon ECS (Elastic Container Service) or IBM Cloud Virtual Server for VPC instances.

    • Cloud Maturity patterns: the hundreds of Cloud patterns, blockers and boosters are also used to identify eligible Cloud services. For instance, if CAST Highlight detected during the code scan that an application relies on a PostgreSQL database (a Cloud Maturity booster), it can adopt an Amazon RDS instance or an Azure Database for running PostgreSQL. Conversely, when a Cloud blocker shows up such as direct file manipulations in the code, it could leverage Cloud-based storage services such as Azure Storage, Amazon S3 or IBM Cloud Object Storage.

    • Open Source components: using the Software Composition features in CAST Highlight, some detected third-party / OSS components correlate with possible Cloud service recommendations. For instance, Amazon EMR or Azure HDInsight could be adopted when CAST Highlight detects Hadoop, Spark or HBase dependencies in a scanned application.

    • Survey answers: as a complement to technical characteristics detected automatically from the code scan, CAST Highlight uses specific survey answers to establish or weigh the eligibility of Cloud services. For example, if the company has a container strategy indicated in a survey answer, CAST Highlight will recommend Azure Kubernetes Service (AKS) or Amazon Elastic Container Service (ECS) over other options.

As Cloud architecting of an application is not always something binary (as you’ll often hear Cloud architects say “well, it depends…”), CAST Highlight combines these different categories “behind the scenes” to make these recommendations more reliable and add context-based considerations to eligible Cloud services (see the example below).

How to leverage Cloud service recommendations

CAST Highlight’s Cloud service recommendations are available at both application and portfolio levels. Today, a total of 220+ services from AWS,  Azure, Google Cloud Platform, Oracle Cloud Infrastructure, and IBM Cloud are supported.

At the application level, you will find the list of eligible services grouped by provider. Each Cloud service recommendation comes with a description, the triggered requirement (e.g. Python found in use with 4.8 kloc), links to technical documentation and getting started resources from the provider, and possible considerations for implementing this service. This will help Cloud architects shift left decision-making for the most of the common Cloud services, allowing them to save time to focus on more complex PaaS implementations.

At the portfolio level, this macroscopic view on Cloud recommendations adds another facet to your Software Intelligence prism to better size, rationalize, and prioritize the Cloud workloads across your application portfolio.