End-to-end automation of the deployment process for 40+ applications
Streamlined build release process for different web & mobile apps through effective implementation of DevOps
Project Name
Support & maintenance of web & mobile apps
Client’s Industry
Multifamily Laundry Services Provider
Platforms
Mobile & Web
Client background
A USA based leading multifamily laundry service provider manages its varied internal or external business operations through 40+ web and mobile applications. The application set involves on-premises apps (for employees within the company premises), mobile apps (for on-site employees), mobile apps (for customers), and web applications (for customers).
What were the challenges?
All the 40+ applications were deployed under different environments such as Dev (Development), QA (Quality Assurance), UAT (User Acceptance Testing), Staging, and Production. They were managing the deployment process manually across all environments for each application. It was too time consuming and inefficient.
During the analysis of existing deployment environments, Credencys identified a few other challenges.
All environments were hosted on different on-prem servers which were not operating in sync. The developers used to manually deploy the application code in the respective environment.
The client used to manage the code on local Servers and not in a centralized repository. In case the computer got hacked and attacked by any malware, it created code security issues. The client already passed through the experience of data loss due to malware attacks.
After the release of the new code, if the client finds code did not provide the intended output, they used to perform a manual roll back to re-deploy the old code. This process used to take one or two days to complete.
Database of the different applications were not synced with the environments so the client had to perform a manual database migration. This process took one or two days to migrate the data from one platform to another.
There were no defined standards to check the quality of the code before deploying it in the respective environment. This was the reason the old code frequently got affected by the new code.
The client did not use the test cases before releasing the build. So they were not able to execute code and validate whether it will work properly or not.
How Credencys addressed the challenges?
Credencys implemented DevOps practices to enable the client with the automated deployment process. We created a CI/CD pipeline for continuous code integration and deployment using five different DevOps tools.
- Bitbucket – The cloud-based tool that allows developers to upload the core code in a centralized repository and access it whenever required
- Nexus (Sona Nexus) – To store and manage 3rd party dependencies such as libraries, software, applications, and store build artifacts.
- SonarQube – Generate Code Quality reports on demand and for each build
- Katalon – To automate the test case execution and validate the performance of the features and functionality
- Jenkins – The cloud-based platform to compile the core code (from Bitbucket) and 3rd party dependencies (from Nexus)
Integrating these tools, Credencys has set up a centralized code repository (to enable developers with the latest code only), synced all the different environments (to perform an automated deployment process), and automated the data migration process for all the applications.
Deployment workflow after implementation of DevOps
Key results achieved through DevOps implementation
100% reduction in code deployment time
Reduction in recurring issues due to automated testing
30% improvement in code quality using code quality reports from SonarQube
Simplified and unified way of managing development and deployment
Business impact/benefits of DevOps implementation
Faster time-to-market
DevOps automates the code deployment process for the client for all the 40+ applications. It directly improves the go-live time of each application compared to manual deployment. It allows the client to launch the latest features immediately after deploying the code.
Improved application code quality
Enabling the client with QA automation, we help them in optimizing the quality of application code. DevOps allows to perform continuous code quality check that helps the client to reduce the QA regression time.
Simplified deployment process
Implementing DevOps, Credencys has automated the end-to-end code deployment process, including code quality checks and test case executions. Less human intervention improves accuracy and streamlines the process for deployment.
Time saving
Executing a branch model for Bitbucket, Credencys allows for faster production of features and function by managing the high-quality standards. Branching allows to create versions of the code. So, it becomes quite easy to deploy or roll back the version in no time.
Advanced security
We have set role-based access for all the applications to avoid security violation. Different groups of the organization can access limited information as per their roles.
For example; Developers’ rights are restricted to submit and access the code of their respective applications from a centralized repository. They are not allowed to generate QA reports. Quality analysts are allowed to access the code to check the code quality only. They are not allowed to edit the code.