OVERVIEW
Containerization and microservice architectures offer a robust infrastructure capable of addressing various IT needs, including accelerated product time-to-market, scalable services, and enhanced customer experiences via reduced downtime and upgrade processes.
Some organizations have experienced substantial increases in feature velocity, with numerous feature and fix releases for both customer-facing and internal use cases.
Machines And Cloud has supported numerous endeavors, from new development projects to application migration and re-architecture, in transitioning to a container-enabled, microservice-driven future. This process involves several steps, such as:
- Technology modeling and migration assessment
- A multi-stage migration strategy
- Re-architecture support and development
- Continuous Delivery pipeline development and engineering integration
- Ongoing training and system support
Using this approach, both new architectures and legacy application environments can be integrated into the modern container-enabled landscape.
BACKGROUND
A Fortune 500 telecommunications provider aims to modernize their internal development process for operational support tools and customer service applications. They must migrate their applications from the current RPM packaging model to a container-based artifact approach while reworking their release process to automate the end-to-end application delivery pipeline.
Although their applications are multi-component, they are not microservices-based. While most of their applications will not be restructured into microservices models, some modifications are necessary to facilitate poorly-architected components, allowing for zero downtime upgrades – a critical metric for the company and its customers.
ASSESSMENT
Despite having made some system-level decisions, such as migrating to containerized artifacts and using both private and public Kubernetes-based container management, numerous questions about the overall migration remained unanswered.
Machines And Cloud conducted application and operations assessments to devise a strategy for the containerization migration process, focusing on achievable metrics, including zero downtime upgrades, roll-forward bug fixes, and continuous deployment to reduce time-to-market for new product features from years to months.
Assessments were conducted at a global systems level, determining general procedures for migration and new development efforts, as well as at the individual application level, aiming to support system metrics established by the top-level architectural guidance. The assessment results were approved and supported by all levels of the organization, from C-level executives to engineering and operations management, driven by a mandate to improve tool quality and time-to-market.
DEVELOPMENT AND INTEGRATION
Following the assessment workshops and strategy models, two primary outputs emerged: a continuous integration (CI) pipeline model and a set of application-level recommendations for migration processes. The CI pipeline model outlined standard tools and procedures to be developed and documented, enabling the infrastructure to automatically release qualified and tested tools into production.
While not every team could immediately adopt the model, the goal was to gradually transition to this architecture, either by reworking application components that violated the model or by accepting and expediting the elimination of technical debt features.
The application-level recommendations were generalized when possible to establish automatable development and operations practices with general targets. Machines And Cloud provided support in both re-architecting components for the automated CI/CD model and aiding pipeline development and default processes to ensure efficient, repeatable usage.
EDUCATION
To apply the learnings, recommendations, and developed integrations, it was crucial to combine general DevOps-focused training with system-specific education processes. As major processes shifted from manual or simple scripts to automated integration and delivery efforts, development, quality, and operations resources needed to update their skill sets to meet the demands of new processes and future development models.
In addition to general education, it was vital to inform management teams about the progress and direction of the efforts, applying Agile development methods to the entire engineering and management chain within the organization.
The change process also drove organizational transformation, as engineers, assurance professionals, and operators began collaborating more closely on their now overlapping tasks and processes. By openly sharing the current state of development and operations, the change process expectations were better managed, resulting in a more consistent experience throughout the migration process.
RESULTS
Although the migration process is ongoing, promising progress is already evident. Customer satisfaction is increasing, largely attributed to the ability to address issues in the initial application, which became the poster child for this transformation process. Furthermore, job satisfaction among development and operations staff has improved as they are better equipped to tackle issues and technical debt that previously led to outages and customer problems.
While the customer still has numerous applications to migrate, the consensus is that these efforts are positioning the company to better meet their customers’ current needs, counter competitive threats, and explore new market opportunities.