Making the Impossible Reality: Moving more than 30 applications to the Cloud with no downtime
A lot of applications of ABN AMRO Verzekeringen have been hosted from an on-premise data center of Nationale Nederlanden for years. As the data center is planned to close in October 2020, the hosted data had to be moved to another place before July 2020. These critical applications need to stay running during the move, which means migration to an alternative application hosting infrastructure.
The realization of this complex migration was a real challenge. Xebia accepted the task and got engaged on the project with three Consultants:
- Technical lead, team coaching, engineering
- Project lead, product owner
We were able to:
- Set up the engineering team
- Define an engineering process
- Coach team members on technical topics and cloud principles
- Define and review infrastructure designs
- Architect and Engineer the application migration
To do so, we closely collaborated with Enterprise Architects in migrating existing applications to the cloud and kept alignment with business stakeholders during the migration process and acceptance testing
A simple common process ensured swiftness, focus, and accuracy:
- Applications were explicitly added to the scope of the re-platforming project
- The application re-platforming / migration was planned
- For the application to land in the new cloud-based infrastructure, an infrastructure design was drafted, reviewed, and accepted
- Applications were engineered to operate in a development environment.
- The Code changes were peer-reviewed before being deployed
- Applications were tested to function correctly in a test environment
- Applications were tested by business stakeholders in an acceptance test environment
- Applications were deployed (and validated) to a production environment
- Decommissioning of the application at the ‘old’ data center was requested.
For managing the portfolio of applications in the project scope, a ‘parallel’ approach was adopted: during acceptance testing for one application, engineering work for another application started, and preparation, planning, and design for a later application commenced.
Strong teamwork made the nearly impossible challenge become reality
Common principles created the glue for this task force to become a strong team and be able to realize the complete migration within the short period of time. Here is what we agreed on:
- We are one team. Even though there are two main technology sets with dedicated people assigned to, we help each other out instead of focussing on a smaller scope of work
- Nobody works alone. We form pairs or trios for improving knowledge exchange, higher efficiency, less isolation, more fun
- We’re primarily working on-site in Zwolle (except for Fridays) - although through the measures for handling COVID-19 we moved to a complete remote collaboration from March 2020
- We’re using a Kanban-like process (managed in Jira) including the standard meetings in an agile setup: daily stand-ups, weekly refinements, retrospectives every two weeks
- On-site meetings are scheduled primarily on one day, for the other days to be more focussed and uninterrupted by meetings
- We celebrate successes, as measured by an application fully operational and used in a production environment
We also agreed on principles and choices for the re-platforming and migration efforts:
- We have a limited set of infrastructure landing targets
- If possible, infrastructure specification is coded (instead of manually managed)
- Application installation is automated (instead of manually installed)
- Changes to the code of the application are avoided when possible
- If a code change is necessary it is covered by automated tests
- Infrastructure provisioning and application deployments are managed from one CI/CD tool
- We maintain strictly separated environments for DEV, TST, ACC, and PRD. The applications on Kubernetes will have temporary deployments for code branches as well
- Our development environment is standardized, including local devices
- We aim to do/require (almost) no server management
When moving, get rid of clutter
As a result, the applications are now running in production on an AWS Container platform, based on Kubernetes. AAV was able to take the opportunity of moving to the Cloud platform, to de-clutter their IT landscape. Where legacy systems sometimes were difficult to maintain, the new architecture of distributed monoliths ensures transparency and maintainability. The truth lies in version control. The new CI/CD pipelines ensure a smooth delivery and release process.
About ABN AMRO Verzekeringen
ABN AMRO Verzekeringen is a joint venture of NN Group and ABN AMRO Bank. The organization combines NN’s insurance expertise and the optimal service and advisory quality of ABN AMRO Bank. It offers her clients life and non-life insurance products via online channels, by telephone via the call center and live via the bank branches.