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:
Post a Comment