A dedicated team of Keyhole consultants led an initiative to re-architect a large, monolithic, legacy application running in the organization’s “on-premise” data center, to a microservice-based suite of applications running in the “cloud.” This Java-based microservices migration was American Century Investments (ACI), which is an international asset management firm.
The Java application was iteratively moved to containers, orchestrated by Kubernetes in the AWS Cloud. Additionally, the team introduced a React SPA-style UI and architected DevOps automation for hybrid cloud using OpenShift.
Development Cycle
Leading the microservice migration for the Java monolith involved more than just development; it also required a great deal of leadership. With the goal of cultivating a DevOps culture, the team’s effort centered around developing a more agile environment. This included processes, practices, and technology choices.
Sprint 0 included an initial month, which was used to establish user story backlog, environment, and Microservice platforms (CI/CD) for Development and QA (Production was established later in the project cycle). The Keyhole Tech Lead and Sr. Developer performed these tasks prior to scaling the team up for the main development effort.
The goal of Sprit 0 was to utilize the OpenShift platform in order to expedite delivery. Service boundaries were determined from the existing web application.
Three-week development sprints followed after, and the team began to scale. Developer and QA resources were aligned according to ACI’s desired velocity. To ensure knowledge transfer for long-term support and ownership, this team consisted of a mix of Keyhole consultants and internal ACI personnel.
The goal of these sprints was to incrementally develop the microservices architecture of the Java application and implement the necessary features as quickly as possible, so as to move the migration along at ACI’s desired pace. At the end of each sprint, the developed software was demoed and the next sprint’s user stories planned or confirmed.
Other Technical Highlights
For the migration, the Keyhole team extensively utilized technologies such as Microservices Architecture, Java EE, Kubernetes, OpenShift, Spring Boot, AWS Cloud, React, Cypress, and DevOps, Pivotal, and Spring/Netflix OSS to complete the project.
The Keyhole consultants worked to prototype and implement an application build process for React to leverage the components within Adobe Experience Manager. This allowed the publishing of components for use across the organization.
Cypress was utilized for the application testing and the creation of test harnesses for QA. A component library was created in combination with Storybook to establish a foundation of useful UI features that can be utilized in all of ACI’s future projects.
Microservices for the Enterprise
Through this microservices initiative and many others like it (Java-based and not), the Keyhole team has become highly skilled in leading migrations for enterprise-level organizations. Our team has proven its ability to deliver quality software solutions tailored to the unique needs of the client. Learn more about a microservices initiative with Keyhole would look like for your organization.