About the Client

Our client is a leading aftermarket auto spare parts distributor across the global network. With a network partnership across North America, Mexico, Europe, Columbia, El Salvador, etc. the client is a renowned global brand. As the customer demands and global network grew, the company was looking to restructure the current process and save time, cost, and improve efficiency in the product development to the production process.

Challenge

Rather than terming it as a challenge, it was more of an enhancement to the current technology stack and approach within the organization. The client was experiencing a huge delay in software development to the deployment cycle. The requirement was to upgrade the Monolithic architecture to Microservice. The development teams worked with the limited tools and also handled operations at the same time. Some of the many challenges that the client faced were:

  • Slower fixes as development team handled operations as well
  • Manual intervention in every development lifecycle
  • Challenges in Automation
  • No room for cross-training within the teams

The problems did not occur all of a sudden but started showing up over a period of time and with the digital transformation taking place across the globe, the teams working in silos were in a catch-up mode at all times. As we discussed the pain points and possible solutions, it was established that Microservices and DevOps methodologies need to be implemented at the time for fixing the above-listed issues. 

Why WalkingTree?

This is one of the esteemed clients that we are supporting from the Monolithic to Microservices and the DevOps now. We have been a trusted technology partner for this client in their digital transformation journey. At this juncture, the client wanted to use our core competencies in DevOps to identify and solve the above and many such issues that were impeding their overall business.

Our Solution

Created a pre-commit hook script to enforce log message
When committing code in the repository, the system enforces the user to write the changes. The ticket, id proof, and other relevant details are logged into the repository. The project management tool ticket could be created with a log message so every detail of code is logged in systematically.
Build version tagging
This helps in getting a calendar versioning to indicate when the build is done. As soon as the commit is done, the CI (Continuous Integration) or build happens. So every time you build automatic calendar versioning will be given for the build. This helps to look back in the log and check for a stable build.
Integration with PM tool
When the code is committed in the repository and once the build is done, the system will go and put a tag on the dashboard. The feature of automatic comments being integrated into the project management tool gives a clear idea to the team whether or not the code was used.
Post commit hook to notify Jenkins of a commit
Jenkins is a build automation tool that helps define whether the code should be built post-commit or periodic build. This tool enables the DevOps team to be in complete control of when the commit should go for a build. The build script needs to be modified to comply with automation.
Test coverage analysis with Cobertura like tools
The tools like Cobertura help to test the code. There are automation scripts and Cobertura will tell the lines of codes that got executed. For example, when the developer writes 100 lines of code and 90 lines of code are already tested then the build is good, but if it is just 10 out of 100 then it did not test enough. If the code breaks some other code then the execution stops.
Configured the Docker containers and created docker images
In order to install an application in the monolithic architecture, it was required to install SQL, SQL 2.2, Windows 7.8, and so on. As we replaced the monolithic with Microservices, the docker image contains all the required technology. With this image, there is no pain of installing dependencies and these are preconfigured. As a result, the docker image is ready to execute any time.
Automated system test execution scripts
Unit test scripts were automated and this helped in adding more efficiency and speed in the test process.
Generated code coverage reports using Sonar
Sonar tool helps understand the code coverage. Sonar will tell whether or not the coding standards were followed.
Logical Progression of immutable docker images to production
The implementation of logical progression is one of the very crucial and important aspects to help in production. When a docker image is good, it is unit tested, system tested, again unit tested, and after the rigorous progression, approval, and authentication the docker image goes to production. If someone else builds a docker image and directly puts it in the production…it will just not work. This also ensures that no one can tamper with the image. If a docker image is directly put into a production environment then it will fail.
Linking Docker Image to container services and configured auto-scaling
As an aftermarket auto spare parts distributor, there are times when our client expects an increased volume of requests. In the monolithic architecture, we had to prepare months in advance to handle the demand. However, linking the docker image to the container services empowered the client to scale up within no time. Rather than planning months in advance, the docker image also enabled our client to autoscale whenever there is a boom in requests.
Implement centralized log management
Now with the centralized log management, it is easier for the client to identify errors with great ease. For example, if there are 50 systems, the 50 logs are pushed into a common pool and a view engine enables the client to identify the error logs and machine. Bring down the faulty container has become very easy for the client.

Benefits

DevOps tools benefitted not just a department or a team but it was an organization-wide change. The solutions provided helped the business to quickly and effectively serve the wide range of clients with efficient and quick services. Some of the organization-wide benefits were:

Reduced Lead Time

Reduced Lead Time

Lead time has drastically come down to 60% as compared to monolithic architecture. Now the time taken from development to deployment is reduced and this has helped the business to focus on more important aspects of the business.

Reduced Lead Time

Deployment Frequency

DevOps has helped to carry out smaller deployments in a regular cycle. Every commit is a deploy and the frequency of deployment is changed from monthly to weekly. The size of deployment is reduced and so it helps to have enough time in testing. 

Reduced Lead Time

Mean Time to Restore

An exceptional change in the speed at which restore happens now. With the DevOps practices in place, the mean time to restore has changed from 4 hours to just 30 minutes. This has helped to add more resilience to the operating system and the code.

Reduced Lead Time

Change Fail Percentage

The change fail percentage has been drastically reduced. Now there are only 0.5 out of 10 changes that fail as compared to 2 out of 10 in the monolithic architecture. This has helped our client to implement changes to the infrastructure at a faster pace.

Apart from the above, here are also some similar tangible benefits. 

  • Enhanced operation support
  • Faster fixes and less manual intervention
  • Increased agility and flexibility in software development
  • Continuous Integration and continuous deployment
  • Good collaboration between the internal teams

As a global aftermarket auto spare parts company, DevOps process is helping our clients to keep up with their client requirements.

Our DevOps Offering

At WalkingTree, we have a proficient team for software development, efficient quality assurance, and technology operations. We help our customers improve their DevOps using the following: 

Agile Development 

Continuous Testing

Continuous Monitoring

Controlled Process 

Continuous Integration 

Continuous Deployment

At WalkingTree, we have a proficient team for software development, efficient quality assurance, and technology operations. We help our customers improve their DevOps using the following: 

Source Control

Unit Testing

Code Coverage & Analysis

Build and Version Control

Continuous Integration

Automation testing

Containerization

Cloud Services

Monitoring Tools

 Get in touch

Translate »