Project Background
Purpose:
Experian has many clients on legacy products and old versions of product software. These versions are on platforms which are going out of support with product vendors and out of global support contracts. Migration to the latest solution product or upgrades between versions can take a long time to perform by regional teams working independently. The purpose of the migration factory is to bring these client solutions in-house and perform the core configuration/migration effort, detecting any potential issues early and splitting the migration effort between several scrum teams focused on migrating these solutions.
What was my role
My role on this project has taken on many different aspects.
DevOps Lead - architecting and structuring the approach on infrastructure provisioning, automation, technical testing, source control etc
Leading a team of external partner DevOps engineers
Engaging with global security architects to employ security scanning/hardening into migrated solutions
What I learnt on this project
This project was a huge learning experience.
Communication is key in this initiative, as many stakeholders across the core team, product consultants, scrum team and in regional delivery teams.
Having to tackle many issues on customizations to legacy solutions
Leading a team in DevOps, integrating provisioning infrastructure as code into the application automation process
Pricing, scaling and optimization of architecture
Migration factory overview
The Migration factory is a global designed program supported by central teams and external partners, set up to enable the regional teams in execution of their legacy portfolio migration.
Why is this necessary?:
Faster execution and automation
Cost efficiency delivery achieving economies of scale
Pool of resources (people and infrastructure) which can be ramped up/down quickly when necessary
Improved offering, controlled and executed centrally, leading to higher client take-up
How the factory works
The factory has an engagement and resourcing model which regional teams engage with. With several projects running in parallel, a new team can be established with 4 weeks notice prior to solution migration initiation.
The factory works in Agile environment with a scrum team, product owner and scrum master.
Scrum team is generally made up of 3 - 5 individuals. Key team members are:
Product consultant for business configuration
Technical analyst for technical issues on application modules
Regional representative for local solution knowledge
Migration project manager
Full pricing model on infrastructure provided depending on solution complexity, customizations, additional services.
Infrastructure automated and tailored to solution boundaries.
Factory automation
Automation is key in order to migrate over 50 solutions to latest versions of products. Automation via DevOps methodology is employed to automate the following areas:
Infrastructure. A provisioning framework was developed to automate the infrastructure, tailored to each solution via technical input specification from regional team. Infrastructure (security, environments, network rules, load balancers etc) are created via Terraform using Amazon as the central infrastructure provider. Nodes are created, destroyed, stopped and scaled as needed using Terraform and cloudwatch.
Upgrades. Automation of upgrades standardized Ansible roles and playbooks
Validation checks. Automation of validation pre-requisites on solutions before upgrade process via Ansible roles.
Testing. Automated via Cucumber/Selenium framework on solution APIs
Rollbacks. Regular extracts taken at each point in upgrade and stored into central client repository to enable creation of intermittent environment for investigations via Ansible.
Migration solutions. Automated the generation of migration .bin to upload to latest product versions via Ansible.
Security testing. Adaptation of security static and dynamic testing to migrated solutions customizations to final migrated solution in line with security policies. App Spider and Contrast Security tooling used for security scanning.
Due to the above automation framework, there is a large cost saving in bringing these regional solutions into a central migration factory. Nevertheless there are some manual actions and configurations required to migrate the full solutions to latest versions, therefore the scrum team is involved to ensure this is completed successfully.