Software Development

Cloud Generic with Edge Computing

Disruptive solution for the logistics industry the platform provides a real-time parcel tracking device and service that allows users to track the location, security and condition of their shipments (if the package is too hot or cold, if it gets wet, if it is opened, if it's been dropped or tilted and where this happened) regardless of the scale, country or carrier.

Our client needed a technology partner to develop the software platform and ensure top performance and scalability as the business was growing. As they were ending the first phase of software prototyping and development, that had successfully attracted investors and demonstrated the capabilities of the platform, the company was looking for a provider that could get their product to the enterprise level.

Our Solution

Enterprise architecture upgrade to accommodate the services form the Google Cloud, AWS and Azure IoT.

We started with an assessment of the client's software architecture and a proposal with our recommendations. The main idea was to move from the start-up phase to the fundamentally robust enterprise architecture that could be built upon and scaled up as the company and programme grew.

The start-up phase implied fewer barriers like the need for rapid iterations and pivots, meaning that the company had used a production environment where they could push changes immediately.As we began the consulting process, our client was already providing trials for its partners; this meant that our team needed to establish immediately the following Google Cloud environments: QA, Testing, User Acceptance and Production.

With an increase in devices from trial to production (200 to 20.000 devices) and a greater number of sensors embedded in the hardware, the cloud platform needed to support scaling in a cost-effective way. The platform is capable to receive and process aggregated data from the IoT Devices - EDGE Computing capabilities.

We were able to meet all the client's requirements. As a plus, due to the team's active involvement and solutions provided, our client reached his scalability and performance goals through new tools and workflows that improved development time and collaboration.

Technologies

The enterprise platform includes 3 main components (web portal, APIs, device trackers), all running on Google Cloud and AWS. Later these were migrated to Azure IoT, in order to allow for a fully cloud agnostic solution.

The main technologies used were: Google Cloud, Linux, Java SEE Runtime, Spring & Hibernate, Apache Tomcat, JavaScript/Angular.js, Quartz, Apache HTTP Client, JUnit, Jenkins and Apache Maven, Azure IoT Hub, Events Hub, Cosmos DB, Kubernetes, Docker, AWS, Edge Computing, Custom Protocol Gateways.

78K

lines of code written (70k java, 8k javascript)

8600

hours of work

40K

devices travelling the world

Conclusions

Based on the client's current architecture, the proposed and implemented architectural improvements were:

  • redesigning the entire development and deployment workflow;
  • introducing automated testing;
  • new development features and code improvements/refactoring for existing functionalities;
  • security improvements;
  • establishing a performance assessment action plan.
Benefits for the client and how these were achieved:
  • from a technology point of view: improved stability, scalability and performance
  • from a business point of view: preparing the foundation that allows the client to go to the production phase and launch the product publicly.