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
Support & maintenance of web & mobile apps
Multifamily Laundry Services Provider
Mobile & Web
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 features of the DevOps implementation
Once the developers create the code on their local computer, they submit the code in a centralized repository of Bitbucket. Uploading the latest code in the tool, the client enables all the developers with the latest code. We have integrated Bitbucket to manage the code of all their applications. Storing application code on the local machine, there are chances of losing the code due to malware attacks.
Enhanced security as the code is stored in a centralized place rather than local machines. Developers can access the latest code so all the changes are applied in the latest code only.
Integrating Sona Nexus, Credencys manages artifacts (the large binary packages) that are created during code development and release process. The tool allows for code storage, versioning, and deployment in artifacts for the build. It improves the consistency of CI/CD workflow by managing the entire artifact lifecycle and support.
Leverage rapid code release as developers can identify and incorporate the correct version of binary artifacts in their work.
Using Jenkins, we offer continuous integration (CI) and continuous delivery (CD) as a part of DevOps. It helps developers to embrace modern technologies for app development to meet the changing needs of businesses and customers.
Improved collaboration between operations and development teams to ensure high-quality software development and delivery for continuous success.
We apply regression testing over different test cases of all applications using Katalon. The tool allows developers to run a new build by ensuring that it won’t affect the existing features. Under the regression testing, we apply full testing of already executed test cases and make sure the old and new functionality works in sync to generate the intended output.
With automated testing, the client can save a lot of time for manual testing.
Build deployment reports
Build deployment reports inform the client about the success and failure of deployed code for all the 40+ applications. The client receives email notifications for the deployment status.
Keep all stakeholders informed and make faster rollback decisions if required.
Code quality reports
SonarQube generates the code quality reports for the client. It provides a high-level overview of the code quality over the dashboard. The tool also provides detailed information and analysis of bugs and vulnerabilities that affect the code quality.
Empowered app performance as the client can take instant actions to improve code quality by resolving bugs and vulnerability in time.
Test execution reports
By executing a test script, we allow the client to run automated testing for all the test cases of different applications. The test execution reports provide a summary of test activities and test results. The client can track the number of test cases succeed and the number of test cases failed on the dashboard. By providing detailed analysis, the test execution reports communicate findings of test success and failure.
Based on test results, stakeholders can make better decisions about the build deployment of the software.
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
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.
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.
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.