Modernizing ground transportation service for the world's leading corporate travel platform
- Provide resources to accelerate DEEM products & its services.
- Upgrade DEEM product from monolithic to microservice architecture.
- Regularly give solutions on VOC(Voice Of Customer) Tickets.
- Provide new features in an existing product as per Customer & marketing requirements
- Enhance existing features.
- Make the product more secure & robust.
Deem Inc., one of the prime clients to Neova, is solely owned by Enterprise Holdings, the world’s major car rental provider, an industry leader in mobility and technology. Deem Car Service, one of its business verticals, offers end-to-end ground transportation technology solutions for corporations, travel management companies, and chauffeured ground transportation merchants. It owns an in-built suite of travel booking applications and management tools deployed by more than 50,000 corporate customers and the world’s major travel management companies around the world.
Challenges & Goals
Following were the challenges & goals:
- This is a legacy app with many old technologies(with Java 6, 7 etc) & huge code base. Taking an understanding of such a big code base is challenging.
- Giving fixes in legacy technologies is challenging since old libraries are deprecated & have no more support.
- Converting the Monolithic app into a Microservice architecture without affecting existing Customers was challenging.
- Due to the Monolithic app, it has a large release & deployment window.
- Travel domain apps mainly depend on GDS providers. This product was integrated with multiple GDS providers, so there was a large dependency on 3rd parties in order to do enhancement & fix bugs.
- Several times, it was hard to reproduce customer issues in the local environment; So it was tricky to give the solution.
- In the IT field, technologies keep changing rapidly. Adapting to new changes & adhering to the latest technologies ensure the sustainability of IT products for a longer period. Neova’s team took the below steps in this direction:
- Do migration of Java-7/8 app to Java-11 & Java-17.
- Do migration from Perforce to GitLab.
- Make use of GraphQL effectively to serve API for Mobile apps with lightweight & flexible responses.
- Take advantage of a multi-processor system by preferring Go language implementation for better performance.
- Replace ZooKeeper with Feature-Toggle to manage app settings in a precise approach.
- Giving prompt solutions to Customer issues is a key point in customer satisfaction. Reproducing Customer issues in the staging environment helps in finding the root cause of the issue in a better way, which then helps in evaluating a prompt solution. Below point help in this:
- Always keep the Staging environment close to Production.
- Nowadays monolithic apps experience various issues in scaling, performance & deployment. These issues are overcome in Microservice architecture. The same is implemented with the below items.
- New features and requirements are solved with the Microservice approach.
- Identifies areas in existing monolithic app and convert those into microservices.
- Product documentation is another key point of a robust, long durable product. Take the below action for it.
- Make effective use of Confluence and Jira to manage documentation.