Achieving and sustaining the gold standard of availability, the 4 9’s (99.99%), is not just a goal for most; it is a commitment. WellSky’s mission revolves around delivering top-notch solutions to our clients, and we understand that the process of delivering these solutions is as critical as the solutions themselves.
Traditionally, software project releases are driven by a pre-determined schedule to minimize the impact caused by the deployment's downtime. However, this approach often leads to unforeseen challenges, such as false starts, delayed processes, and untested loads. Service degradations or outages for clients and organizations follow. Restoring service becomes a cumbersome and expensive task, involving emergency patches or rollbacks directly in production – an experience no team wishes to endure.
Recognizing the importance of achieving 4 9’s of availability and maintaining solution quality, WellSky’s Engineering teams are dedicated to refining their deployment processes. One of our approaches focuses on deploying more frequently, a key strategy for achieving a smooth and rapid flow of software delivery over time.
It is crucial to distinguish between a deployment and a release – two distinct actions serving different purposes. Deployments involve installing a specified software version into a designated environment, while releases make a feature available to clients. Conflating these two actions hinders accountability for successful outcomes.
WellSky Engineering have explored case studies on the benefits of decoupling deployment and release activities. Engineering and Operations teams must be accountable for fast and frequent deployments, while Solutions teams are responsible for the release's successful business outcomes.
To ensure effective deployments, our pipelines adhere to automated principles and requirements:
Automated Principles:
- Packaging code for deployment
- Creating preconfigured VM (Virtual Machine) images or containers
- Automating middleware configuration
- Copying packages onto target servers
- Restarting servers, applications, or services
- Generating configuration files from templates
- Running smoke tests and other testing procedures
- Executing data migrations
Requirements:
- Deploying consistently to every environment (automated)
- Conducting smoke testing for service connectivity
- Maintaining synchronized and consistent environments
DORA's research in the State of DevOps Reports highlights continuous delivery as a key predictor of elite performance, encompassing both technical and cultural components. Teams with the ability to deploy on demand, receive fast feedback on system quality, and prioritize maintaining a deployable state consistently outperform others.
Capital One's Agile/DevOps transformation over the past ten years has been marked by a significant initiative – the partnership between business and technology aimed at achieving ten "No Fear Releases" per day. Despite adopting Agile methodologies, microservices, and cloud technologies, Capital One faced a challenge with an aging customer servicing platform crucial to serving tens of millions of customers daily. Recognizing the limitations of the existing mainframe-based vendor product, Capital One's Technology Engineering Director, Rakesh Goyal, highlighted the need for a modern system aligned with both customer needs and internal strategic goals. The approach involved working backward from customer needs, delivering value iteratively, and minimizing risk by avoiding anchoring bias. Implementing a robust CI/CD pipeline enabled incremental releases, reducing cycle time and empowering teams while addressing regulatory and compliance controls. The collaborative effort of twenty-five teams, focusing on customer needs and leveraging the CI/CD pipeline, not only met business requirements but also significantly accelerated Capital One's ability to move forward efficiently.
The latest insights from DORA’s 2023 State of DevOps Report refine performance measures by focusing on change failures and recovering from failure. Decoupling deployment and release activities offers advantages in tracking those performance measures. Isolation of failed stages streamlines troubleshooting and can often accelerate automated recovery or identification of root causes. Operations teams can address deployment-related issues, while Solutions teams concentrate on refining the release strategy. With continuous delivery and tracking change failures and recovery, organizations can foster resilience and reliability.
WellSky takes pride in its teams’ accountability for fast, reliable, and frequent software delivery processes, ensuring successful business outcomes. By adhering to the automated principles and requirements above we sustain stability, consistency, and a client-centric mindset, maintaining the coveted 4 9’s of availability. These principles deliver our solutions exceeding the expectations of our valued clients.