Wealth Management Advisory Product Software Firm with offices across the United States of America and Canada, delivering software products to more than 3800 Customers. The Software is a fully integrated platform providing wealth management advisors with planning capabilities, proactive guidance alerts, and a variety of practice management tools aimed at helping advisors scale their practice, increase client satisfaction, and most importantly, grow their business.
Design and Implementation of DevOps Strategy for an Independent Software Vendor
About the Customer
The engagement started when this software startup was with 12 developers, and the first version ready to be released. The Software had connectivity and network performance issues in the existing hosted environment and WATI was called in to help them with a solution. The Engagement continues for the last 4 years, as the customer organization grew from 12 developers to 140 developers. WATI addressed a numerous technical and business challenges in the last 4 years and is proud to be part of their growth.
WATI provided a variety of solutions for the technical challenges faced, business and cost benefits solutions, Future focused Automations, Design and Implementation of DevOps, Agile and technology Implementation for the Adoption of DevOps, Process Consulting and Organizational Change Management solution.
The Main challenge faced by this growing Software development company is the (i) need for new software releases every week and (ii) update existing software versions faster for their customers with lower risk.
In this case study, we will focus on the DevOps Journey of the customer and the benefits and value that was delivered by WATI.
The Solution Approach
WATI while providing solutions for their technical challenges and issues with Connectivity and Network Performance, DB Scalability and Performance, On-premise to Cloud Connectivity; understood the need of an Agile Model combined with DevOps implementation to manage the future needs of the customer.
The Approach that WATI adopted from the first day of starting this DevOps Journey is to work with the development team on ground to identify the challenge areas both from the Process perspective and also the technology. This helped WATI consultants to define the road map better and to suggest the right tools, methods and manage the change effectively among the Project Manager, developers, testers, release managers, Infrastructure technology team and the DBAs. A custom solution approach based on industry best practices was adopted.
The journey started by establishing consistent Agile management practices, which were applied across all the players in the project life cycle. Engineering practices were adapted as applicable based on technology (version control for all source code, CI for Java using scripts, TDD, automated acceptance testing for all versions and scenarios). Continuous learning and improvement processes were put into place to adopt to the new processes and tools, that enabled to drive sustainability and scaling across all the functions.
The Implementation was multifold and was in parallel. While working on getting the process streamlined and implementation of SCRUM model, a lot of technology challenges were addressed in small and incremental basis. There were technology shifts made keeping the future state in mind.
- Used Rundeck, Talend, MySQL loader and other open source tools to load high volume data feeds on periodic basis.
- Custom built python scripts and shell scripts used to pull data over SFTP, Decrypt GPG files, unzip files and bulk load into DB.
- Automated deployment, and continuous integration using GITHUB, Jenkins, Chef Zero and AWS opsworks. Test and Dev environments automated deploys based on code changes to repository.
- Configured and implemented CDN ( Amazon Cloudfront) to serve static content from edge locations (points of presence – PoPs) and dynamic content such as APIs, where end user connections are terminated at CloudFront locations closer to them achieving low latency, high transfer speeds.
- Migrated entire production setup from proprietary cloud platform to Amazon Web Services cloud services to achieve cost benefits on hourly pricing and cloudbased solutions and features.
- Scripted Server creation and configuration to use scheduler to run on shut down non-critical server instances on demand. Ops works based timebased instances scheduled to keep servers running only Monday to Friday 9 am – 7 pm.
Kept multiple version deliverables in a release-ready state and thereby reducing the time and cost of delivery. By Automating Deployment and Continuous integration through scripting reduced a lot of manual intervention and efforts resulting in significant cost saving.
Continuous delivery for customers with added functionalities and speed of execution and improved insights helped to accelerate timeto-value.
Deploy -> Mesure -> Adjust -> Deploy:
While the SCRUM model helps to do incremental small releases of the software based on end user requirements, the customer was able to deliver larger scale releases – based on the product roadmap, due to the fact that the solution that WATI delivered helped them with continuous data gathering. The Processes and Tools helped them to reduce the feedback cycle with their customers and increased their ability to respond with improved agility.
Quality of Delivery:
Continuous Integration and Delivery needs a lot of automation and lesser user intervention to maintain high Quality of the delivery and reduce rework. WATI delivered just that. By Automating from Code Modification to Compilations to Deployment to Auto Configuration of Servers – wrote custom scripts and there by ensured better quality of delivery and happier customers and less unplanned reworks.