Strive for simplicity, create beautiful complexity and use as intended
Cloud maturity assessment model
The Xpirit cloud maturity assessment is based on a couple of criteria to check if an application can run in a cloud environment. In this maturity assessment, we conclude that an application will be in one of the five maturity levels we defined. These levels are: On Premise, Cloud Aware, Cloud Ready, Cloud Optimized and Cloud Native.
You can execute an assessment on just one application or on a portfolio of applications. If we conduct the assessment on a portfolio of applications we take a two-staged approach.
- Stage 1, Application transition rationalization
- Stage 2, Cloud maturity assessment per application
Application transition rationalization
Stage 1 in this approach is required so we can discriminate the applications that we need to assess. To determine if an application needs to be assessed on its cloud maturity, we take the following steps:
Determine the strategic goals that the organization wants to achieve with their cloud transformation. Gather requirements and constraints to assess if an application needs to be moved. Apply one of the following strategies to each application to determine the next step:
- Rehost (on IaaS)
- Refactor (using PaaS)
- Revise (for either IaaS or PaaS)
- Rebuild (on PaaS)
- Replace (SaaS)
For all applications that get the label Rehost, Refactor, Revise and Rebuild a further cloud maturity assessment is executed.
Cloud Maturity Assessment
Stage 2 is the actual Cloud Maturity Assessment.
The first part of the assessment is a technological assessment. This assessment will answer a couple of questions, based on insights we gain from the current code base. For this we need to get access to the source code of the application and the ability to run a set of open source tools we use to identify common software architectural indicators. These indicators help us further determine where we do a manual code review to validate assumptions we have made based on results from the tools.
The Cloud maturity assessment is a balanced assessment where we will weight several factors to determine the roadmap for an application going forward. The inputs we take into consideration are:
- What is the current Cloud maturity index?
- What is the cloud maturity index goal for the future?
- What is the current lifecycle this application is in ? (Fairly new, couple of years in maintenance, how many years in maintenance, on the list of retirement, etc.)
- What is the application contribution to the current business processes?
- What type of application is this? (Based on the Gartner application type definitions: Systems of record, Systems of Differentiation, Systems of Innovation)
- What is the CIA system rating? (Confidentiality, Integrity, Availability)
The first and foremost question the assessment answers is if the application can be run in a cloud environment. The second question that is answered is if you run it in a cloud environment, how efficient will this be. The third question is how efficient do we need this application to be, when running in the cloud, given its current lifecycle and business relevance. The results of these three questions will result in a roadmap(Cloud Readiness Scan) for this application or when you assess a portfolio, the roadmap for the application portfolio.
The way each application is assessed is based on multiple inputs. One input is interviews with the current team responsible for building new features and maintaining the application. These interviews will give a good understanding of the current delivery process, current struggles during delivery and insights in the technology used to build the application.
The second input is the source code of the application. With the help of several tools and a code review, we determine the health of the current application code base and how easy or hard it will be to bring this code base forward and running it in the cloud. The final input is a conversation with the business owners of the application. This will then give us input on the way the application is important in the business processes it supports, the perceived quality of the product and if there are alternative products available in the market place that might be a good replacement if the application is not differentiating anymore for the business.
All these inputs will give us insights into the current state of the application and the way going forward. Based on this we will provide advice and a roadmap how to go forward with the application or the application portfolio.