The primary goal of implementing Microservices was to remove the critical functions from a large platform, where the code is older and has grown over time. These Microservices functions operate more efficiently when not tied to one large set of code. The individual functions operate independently but can also communicate with each other to retrieve and process data. However, many of these individual functions require common, or platform-level, services for efficient operation. TDK was asked to address five platform-level services that included configurations, settings, workflow, hierarchies, and user security.
The project approach utilized a series of planning iterations with three to four-month intervals where TDK software experts focused on a specific platform-level service. In one case, the team addressed the notification service utilized by at least two different functions, which required critical thinking to ensure that each function’s specific notifications could be addressed at the platform-level. The team was able to deliver platform-level services that are essentially ‘plug and play’ to remove as much duplicated code as possible.
TDK also instituted some of the customer’s first automated testing systems. Much of the customer’s previous software testing was performed manually. The team set up a Sonar automation framework; SonarQube helps identify problems in the early stages thanks to built-in functionality to check software code. The team also developed automation test scripts for integration tests using a framework based on REST Assured for Microservices.
Using such automation requires advanced set-up that includes parameters to monitor quality and critical issues. If the code is tested using the automated system in the build process, but does not pass the quality gates, the build automatically fails. The result is greater efficiency and cost-savings, while also allowing the testing automation to be utilized for subsequent planning iterations.