One of the herculean tasks organizations are dealing with as part of the digital transformation journey is to have a strategy to move their applications to the cloud. One path is to move the monolithic applications to cloud native on a PaaS or a containerized platform. Most CIO’s claim that their teams have figured this out. But when we get to the next level, what most of their teams have achieved is the technical competence to create microservices.
This blog addresses two topics. First, the Cloud Native Process Framework which helps organizations streamline the process to transform their software development and release cycles, and secondly, how organizations can achieve scale in their cloud native journey.
Cloud Native Process Framework
The Cloud Native Process Framework provides an end-to-end process workflow for performing Application Modernization in the form of a template. Customers frequently have many existing monolithic applications.
Step 1: Application Profiling and Dependency Analysis
We start by capturing key business, technology and financial drivers to evaluate the application portfolio. Leveraging semi-automated tools that accelerate analytics-based decision-making saves cost and time. The resulting data set provides a single, comprehensive application portfolio view with a detailed roadmap outlining the best disposition option for an organizations portfolio. To ensure minimal disruption, customers need to identify potential risks and business impacts by understanding application interdependencies. As a result, the customer can classify and place applications on the right platform with confidence. Once applications are classified, those deemed suitable for modernization can be ingested into the cloud native process framework.
Step 2: Application Deep Dive > Requirement Elicitation
In this phase, we try to organize workshops with the customers’ app developers to understand the app architecture, integration points, technology stack, security constraints, etc. We make use of Dell Technologies’ proprietary tools like CNAT to carry out the cloud native 12-factor app assessment. Via stakeholder interviews and lean coffee discussions, we capture gaps in cloud readiness, known anti-patterns, security constraints, integration patterns and challenges related to existing process compliance which provide us with the necessary understanding and inputs to carry out the next steps.
Step 3: Cloud Native Engine
Here we can start building microservices which are 12-factor compliant. At Dell Technologies Consulting Services, we leverage Microservices Accelerators in our client engagements to fast track the bootstrapping of microservices development and deployment platforms.
Step 4: CI-CD Governance/Pipeline
In this phase, we are ready to build Continuous Integration/Delivery pipelines and deploy the microservices to various environments. We also apply governance rules to ensure all pipelines are compliant, uniform and do not skip any steps in the process. This phase would be scaled out for each microservice to ensure independent functional delivery for each microservice and would be integrated with other microservices to replatform the entire monolithic application.
Throughout each of these phases, Agile Scrum practices, use of collaboration tools like Jira and other DevOps practices, would be adhered to and coached while we work with customers.
Step 5: Metrics and Feedback
The feedback is collected at each step and channeled back in, and reports are generated on these metrics to continuously assess and improve the process.
In short, this cloud native process framework serves as a reusable and scalable model for the organizations to operate while assessing and modernizing the legacy applications.
Achieving Cloud Native at Scale
Organizations can achieve scale in their cloud native journey in four phases.
To get started, the team gathers initial requirements and builds a team. The various tools/templates like Jira, Jenkins, etc. are also finalized during this period.
The Agile process based on end user’s requirements is also tailored to the needs of the organization.
In this phase, we develop one microservice based on functionality while following 12-factor principles and DevOps processes. Typically, one medium complex application is shortlisted. The team works on a sprint model to develop the microservices and deploy them in the target environment. This is a technology proof point for the executives and decision makers demonstrating the power and business value of the technology.
Here, we scale out to 3 to 5 teams and build as many microservices following the model developed in the Launch phase, while simultaneously improving the process via a continuous feedback loop. Each of the participants from the Launch phase will be involved in running the scrums. This ensures that the other members in the team are ramped up during the process. By the end of this phase we have 3-5 teams who can independently work on the process.
Having proven multiple use cases, we scale out several microservices to meet customer requirements using a stabilized process model. Typically, partners are also brought in during this period.
By adopting the Cloud Native Process Framework, enterprises can take full advantage of cloud native software development and IT automation of manual processes. It also improves the way development and operational teams work together. Replatforming applications for Pivotal Ready Systems and implementing DevOps best practices are the cornerstones to ensuring that your IT organization becomes agile, relevant, competitive and is positioned for growth by meeting the rapidly evolving market demands.
To learn more visit Dell EMC DevOps and IaC Consulting Services.