Our customer is leading German manufacturer of luxury cars that sets global trends in automotive industry development. Their broad portfolio of vehicles includes all categories of personal vehicles and trucks. With customers and sales offices in all parts of the world they have global presence.
Our customer provides best products in his business area (automotive industry) and with that also best software is needed to be ahead of competition and define new trends. Previously they had developed very large portal for customers with many advanced features. Features were very attractive to users but due to size of code and large development team it was difficult to manage such a huge system where all different features are connected. It was difficult to separate features by teams and to work on same codebase. Also, there was a lot of information retrieved from different systems many times which caused some difficulties in performance. Due to all these issues it was decided to redefine architecture and create new customer portal.
Microservices architecture approach was chosen and biggest challenge for customer was lack of expertise and engineering capacity to design and implement microservices based application.
Serengeti provided development and maintenance service for new features for existing customer portal. Existing customer portal was monolith application developed by another company. After we analyzed existing portal and got familiar with business logic we designed microservices architecture for new customer portal. After that the team started to work on development of new portal that is based on microservice architecture. All existing features were split into small applications and developed from scratch for new platform.
To support the customer, a new team was formed. For the first two months, two Serengeti ambassadors were at the client's offices, studying the current situation of projects, work mode and business issues. During the first two weeks ambassadors were reading documentation and getting familiar with the project. Afterwards, they joined the scrum team and started to work on first tasks: fixing bugs and developing new features for existing portal.
After onsite period, most of the work was done from Serengeti office in Zagreb, with arrivals of Serengeti team lead every 3 weeks to scrum meetings at the client’s office. It was important that Serengeti team lead hears new stories directly from product owner so that he can transfer all needed information to the rest of the team. Returning to Zagreb was the most challenging part for ambassadors since they were not in the room next to their colleagues. It was important to keep successful communication and they managed to do it by having regular meetings and very intense communication together with strict and transparent processes on Jira board.
One year later project for portal migration to new microservices architecture started. Serengeti engineers used their knowledge of system they were working on and knowledge of microservice architecture to design and prepare architecture for large number of small applications. Idea was to split existing large monolith into many small applications but to keep the same features in new system. All applications were packed into Docker images. Images were uploaded to cloud provider registry and container cluster was created. Docker containers are than deployed to cloud. Containers communicated and worked together. To organize the team and managing the project, industry-recommended standards and tools are used - Scrum & Kanban, Jira, Confluence, GitLab, unit testing, CI / CD etc.