By Hari Gautham Somasundaram, Product Manager – Wipro
By Senaka Ariyasinghe, Sr. Partner Solutions Architect – AWS
By Manoj Balaji Alaghappan, Sr. Technical Account Manager – AWS
Over the past decade, many organizations have embraced the cloud economy. Organizations are looking beyond mere economics and leveraging cloud-native capabilities to instill stability, scalability, and speed for their applications.
Cloud is now the de-facto environment for modern applications; hence, organizations are contemplating the best strategy for modernizing their legacy application workloads from on-premises systems to the cloud.
Budget and time constraints, along with shifting workplace dynamics and lack of skilled developers, prevent many companies from taking the leap in modernizing their legacy applications.
Wipro, an AWS Premier Consulting Partner and Managed Service Provider (MSP) with rich global experience, takes a step forward to address these challenges and deliver cloud transformation at scale with the Cloud Native Acceleration Platform (CNAP).
CNAP provides self-service and enhanced developer experience to help build both greenfield cloud-native applications and modernize legacy applications. CNAP also leverages extensive automation to transform application development, containerization, deployment, and management on Amazon Elastic Kubernetes Service (Amazon EKS) or self-managed Kubernetes (K8s) on the AWS Cloud or on-premises.
In this post, we explain what CNAP is and explore its architecture. We’ll also walk through how CNAP helps customers modernize their legacy .NET MVC application to .NET Core, along with other relevant business use cases.
What is CNAP?
CNAP offers a fully orchestrated cloud-native development platform which is cloud-agnostic. It’s built on managed Kubernetes such as Amazon EKS or self-managed K8s, open-source technologies, and Wipro accelerators to provide self-service to developers.
Essentially a containerization-as-a-service platform, CNAP empowers developers to control the entire application modernization lifecycle without having to rely too much on ops teams.
The platform is packed with features like automated code generation and code assessment tools, code convertors, pre-configured DevOps pipelines, automated deployment workflows, seamless monitoring of applications, and all of the power that K8s has to offer.
The solution offers containerization, using open source and managed versions of cloud-native build packs to help customers containerize apps at scale.
CNAP benefits include:
- Quick transformation: Implementation lead times reduced from 6-9 months to 3-4 weeks for production-grade K8s.
- Accelerated development: 30-40% reduction in efforts leveraging curated development frameworks and extensive automation.
- Reduced time to market: CNAP increases minimum viable product(MVP) release velocity with multiple accelerators.
CNAP consists of five distinct architecture layers: infrastructure, platform, technology, orchestration, and service.
Infrastructure layer: CNAP is built to deploy application workloads on both hybrid and multi-cloud scenarios.
Platform layer: A user can try deploying workloads on multiple K8s environments in real-time and choose the best service before buying yearly licenses. CNAP helps a developer to create and manage clusters in real-time on any of the managed Kubernetes service providers in the market including Amazon EKS.
Technology layer: CNAP is an orchestration of opinionated toolsets with multiple managed service providers, open source tools, and in-house modules built for specific use cases. The platform is compatible with a wide range of CNCF tools.
CNAP Orchestration layer:
- Unified Access Management – CNAP is customizable with any of the existing organizational access management protocols such as Lightweight Directory Access Protocol (LDAP) and multi-factor authentication (MFA).
- Account and user management – CNAP is compatible with the role-based access control (RBAC) mechanism of AWS with a defined workspace.
- Metering and governance – CNAP provides a pay-per-use model for consumption of resources through the platform. A consolidated view of the project consumption costs is provided for the user.
Service Layer: This defines the delivery of Wipro managed services through trained FTEs. The Wipro managed services include application development and maintenance services, consulting services, and innovation services specially curated to address customer requirements.
Figure 1 – CNAP architecture layers.
Modernizing a Legacy .NET MVC Application to .NET Core
CNAP provides built-in accelerators for different types of modernization projects. Following is a short walkthrough on the steps needed to modernize a .NET application running on-premises and host it on Amazon EKS clusters.
Figure 2 – CNAP .NET app modernization workflow.
Step 0: Create Project
A developer starts by creating a project with the appropriate modernization type and selecting the technology in which the application code is written. To modernize a MVC .NET application, a project is created with LEGACYMVCDOTNET as the type.
Figure 3 – Create new modernization project on CNAP.
Step 1: BYO Legacy Code
In this step, the customer brings their own legacy code to modernize.
- CNAP accepts Git URL as an input to access the legacy MVC .NET code.
- CNAP onboards the application code on the existing cloud-native integrated development environment (IDE) for the developers to access the code.
Figure 4 – Create new source module to onboard legacy application code.
Step 2: Modernize Legacy Code
In this step, CNAP provides the capability to automatically or manually convert your legacy .NET MVC to .NET Core.
- Perform cloud-native assessment, which provides cloud suitability of application code through a scoring mechanism. It also provides a view on manual efforts required to be spent, and high-level recommendations on the modernization approach.
- Based on recommendations, developers can incorporate manual code enhancements using the native IDE.
- Trigger .NET code converter which converts MVC to .NET Core into to a target Git repository. Developers can continue to develop their application via the native IDE.
Step 3: Deploy Modernized Code
In this step, CNAP provides an automated deployment pipeline to deploy the modernized application on Amazon EKS.
- Automatically trigger deployment pipeline via Jenkins and run preconfigured unit tests (configurable).
- An application image is built using cloud-native build packs, which consumes the app source code as the single source of truth and pushes your container images to Amazon Elastic Container Registry (Amazon ECR) as part of your pipeline.
- Deploy your modernized application containers to Amazon EKS or an Amazon EKS Anywhere cluster configured by the user.
- Start monitoring the underlying infrastructure and application workloads from the CNAP user interface (UI).
Figure 5 – Create new target module to modernize the source module and initiate deployment.
What Other Use Cases Can CNAP Address?
We’ve covered how CNAP can be used to modernize legacy applications. In addition, CNAP can help other business use cases such as:
CNAP offers a development environment with extensive automation intended to reduce distractions for a developer due to pre/post development activities. The platform provides pre-built boilerplate templates to generate a microservice. The templates are customized to precisely address the needs of a particular development project.
The platform also provides access to cloud-native IDEs for any required manual interventions. Post development, the developer is provided with an automated deployment pipeline which containerizes the application source code and deploys it on the target cluster by a single trigger.
Containerization of Applications
The CNAP engineering team understands the importance of cloud-native build packs over traditional containerization methods such as Docker containers. The platform provides access to both managed and open source build packs for containerization.
Based on the preference of the end user, the automated deployment pipeline is built on the required service.
Usage of commercial off-the-shelf (COTS) products has been increasing since the last decade. As a part of cloud migration, organizations are trying to move their COTS products as-is to cloud. CNAP can be used to facilitate the migration by jointly working with the service provider.
A big-bang mainframe exit poses significant concerns, especially in the financial services, insurance, and retail sectors where these complex applications serve core business capabilities. CNAP utilizes Wipro developed ModerniZ on AWS software, which assists developers with runtime analysis, UI upgrades, and database modernization when moving from mainframe to cloud-native architectures on AWS
Many organizations are focused on building cloud-native applications and modernizing legacy workloads to increase business velocity and reduce costs. Kubernetes, with its underlying complexity, can make the cloud-native migration even tougher.
Wipro’s Cloud Native Acceleration Platform (CNAP) provides the ideal platform to start the modernization journey with built-in accelerators and open source tool integration to simplify the process and help organizations transform apps and deploy on Amazon EKS at scale.
To learn how CNAP can help modernize your legacy applications and deploy on Amazon EKS, contact Wipro at [email protected].
Wipro – AWS Partner Spotlight
Wipro is an AWS Premier Consulting Partner and MSP that harnesses the power of cognitive computing, hyper-automation, robotics, cloud, analytics, and emerging technologies to help clients adapt to the digital world.
*Already worked with Wipro? Rate the Partner
*To review an AWS Partner, you must be a customer that has worked with them directly on a project.