13 March, 2020

Cloud Transformation Journey

CONTEXT

Every enterprise would like to mark its presence in cloud to be part of digital transformation journey. The cloud platform would offer enterprise services in best economical scale that is otherwise priced heavily when it done on-premises. The cloud transformation offers many distinct benefits, in particular
·       Cost of ownership
·       Design innovative solutions by leveraging latest cloud services
·       Business Continuity / Availability
·       On-demand scale
Concisely, need was to move applications out from on-premises data center and derive cost for running each application under enterprise portfolio.

CHALLENGES

The cloud transformation journey is not trivial and can pose adverse effects when it not assessed and planned properly. As part of the program, it is key to assess the “AS-IS” environment and identify the key challenges in “TO-BE” state. Following are few challenges present as we embarked the transformation.
o   Legacy applications developed in different timeframes (more than decade old apps)
o   Heterogeneous identify management solutions present at on-premises
o   Remediate applications to different runtime containers
o   Migrate database servers to different cloud database services
o   Refactor legacy applications to make it cloud compatible – In particular Platform as a Service (PaaS)
o   Harmonize the application build / release cycles
o   Centralize the application code base that supports modern DevOps practices / tools

SOLUTIONS

The Microsoft Azure chosen as part of the target state. All applications are destined to be part of PaaS service. The entire solution devised around people, process and technology to meet in best possible timeframe with minimal cost.
o   Re-organized the teams with unique skills on product/business owners, cloud infra engineering and application architecture / development
o   Application architecture/development teams divided into distinct technology streams with specific reusable solutions for each of those stacks
o   SCRUM adopted as engineering process with 02-week sprint duration. Teams are distributed and used Azure DevOps tool for end-to-end traceability and tracking.
o   The business/product owner team(s) is ahead of engineering teams with gap analysis on candidate apps. That is primary artefact available for DEV teams to kick start transformation activities.
o   Entire program is divided into distinct phases like pilot followed by bulk transformations. The pilot phase helped to unlock any technical spikes and baseline the target architecture. The theme for pilot phase was “fail fast and cheap”
o   All experiences and solutions recorded and made it as reusable solutions for repeated problems.
o   Many of the Azure services used for the betterment of the existing application. Created the automated environment for the application deployment and its monitoring. Few noteworthy Azure services used are - AppServices, Azure Deployment Slots, Logic Apps, Web Jobs/Schedulers, Key Vault, Redis Cache, Azure AD, Hybrid Connection Managers, Azure Portal Services, Application Insights, Azure DevOps CI/CD pipelines, Azure Automation Jobs, ARM templates, KUDU, Azure Storage accounts, Maven Feed, Azure SQL Managed Instances, API Management etc.

RESULTS

Many applications transformed to Azure PaaS with better application maintenance and monitoring with frequent release cycles. The dedicated environments for application development cycle created otherwise it was not available. On demand basis, the application wise costing /billing details are available with latest Azure capabilities. This has helped to make informed decisions on application future state.

No comments:

One new learning / day - however small it is

Read a blog / or article Watch TED talk  Read a small self-help book (many free eBooks available with less than 100 pages/can be completed i...