Development of a platform for real-time data processing
Our client is a German company that is developing a platform to deliver a secure, scalable, and highly available enterprise solution. Due to the ownership change, the client faced the need to join several new experts in a short time. At Inetum, there was a ready-to-work 9-person project team consisting of Java developers and a Technical Leader.
Client’s system
An integrated platform for real-time data processing that enables enterprises to gain insight into the most important information from a business perspective in an instant. The platform is based on the Open Source Apache Flink streaming environment, enabling large-scale data transfer and analysis. The platform, thanks to taking advantage of the Flink engine and environment, ensures high throughput and allows for minimizing latency in data processing, which translates into high operational flexibility.
Examples of use:
The platform is used in such areas as:
- Presentation of real-time flight-related metrics
- Production line support, transfer of data to machines
- Detecting information on threats and fraud (anti-fraud)
- Operations on real-time data related to sports games
Need
Our client is a German company that is developing a platform to deliver a secure, scalable, and highly available enterprise solution. Due to the ownership change, the client faced the need to join several new experts in a short time – as a result of changes in the management board, a group of developers left the company. Most IT specialists in the German market are bound to a 3-month notice period, which made it impossible to complete new teams. At Inetum, there was a ready-to-work 9-person project team consisting of Java developers and a Technical Leader.
Teams involved:
- Team developing on-premise solution
- Cloud solution development team
- DevOps team
- HubSpot team
- Technical Writer Team
Cooperation model
Currently, 17 people are involved on the Inetum side, who are part of four mixed teams. These are Java programmers, QA, DevOps specialists, and Technical Leaders. The development priorities are:
- In the team developing the cloud solution: Product Manager and Head of Engineering on the client side and Technical Leaders on the Inetum side
- In the team developing an on-premise solution: Product Manager, Head of Solution Architecture on the client side, and Technical Leader on the Inetum side.
Our employees have freedom when it comes to the way of implementation, while the technology stack proposals are authorized by the Head of Engineering on the client’s side. Our Technical Leadership teams work in the Kanban model (with weekly and daily planning), which translates into high efficiency, improves communication, and allows them to receive feedback on an ongoing basis. The team is focused on providing new functionalities. 70% of the team’s activities include software development, and the remaining 30% includes the support of existing customers, repairing defects, and the release process. The client focuses on receiving measurable work results and works in the start-up model, to be at the forefront of the technology companies.
Challenges in the project
- We had less than 2-3 months for the knowledge transfer process from experts who were leaving
- High competence requirements for each of the engineers, regardless of role
- High efficiency of the software development process and focus on frequent releases of new functionalities
- Work in an international, dispersed environment (USA, Canada, Germany, Poland, Belarus, Russia, China), cultural differences, cooperation with other providers
The benefits for the client
- Saving time and money – thanks to the support of a large company such as Inetum, the customer did not have to search and verify the competences of new specialists on their own
- The client gained the competence of Technical Leaders who assign tasks accordingly and supervise the software development process. The Technical is responsible for the team and product until it is released.
- Quick access to the missing competences at the required high level
- Streamlining the process of publishing new functionalities, more frequent and more efficient releases. In 8 months of cooperation, we have handled 10 releases. In the monthly cycle, we publish releases related to improvements and defects fixes
- Reducing the time needed to release from a week and a half to 3 days
- Easier onboarding and team building by joining people who have previously worked together on other projects
- A diversified work environment that allows the customer to maintain balance and avoid the vendor lock-in
How we support the customer
The team developing the on-premise solution
It is the client’s core product, Flink’s installation platform, and on-premise streaming data processing based on a distributed architecture. The client provides this tool in such a way as it was safe, easy to implement, and highly available to commercial customers. Such customers need support in processing data and guaranteed availability of the service. The 7-person team managed by the Technical Leader from Inetum adds new functionalities, including works on the function of restoring the service and processing in the event of a complete failure of the Kubernetes cluster. Disaster Recovery is an important part of High Availability functionalities.
Our team extends the functionality of Flink, adding, for example:
- High Availability, Disaster Recovery
- Support for authorized access to data based on Azure AD Workload Identity, so there is no login data needed on the application side
Cloud solution development team
It is an investment in the future related to the vision of a company that would like to transfer the capabilities offered by on-premise solutions to the cloud in a different hosting and licensing model. The end customer can select the available memory and load it from the interface level. Two teams led by Inetum’s Technical Leaders are deploying cloud infrastructure, adding functionality related to the sales and payment process.
CLOUD ENGINEERING