Health Check Enablement for IoT Microservice Architecture in Telecom Industry

checklist
  • Duration: 6 months
  • Industries: Telecom Industry; IT Industry; IoT & Geofencing
  • Services: Product Development; Backend Development; Early-Stage Innovation, R&D Services; Software Reengineering, Refactoring and Modernization. Cloud Migration
  • Software Categories and Types: SaaS Solutions; B2B Solutions
  • IT Architecture Paradigms and Approaches: Enterprise Integration Patterns; Software Frameworks Development; Architectural Patterns
  • Technical Expertise: Java Server Side Development; Continuous Integration & Continuous Delivery (CI/CD); Research and Development (R&D); Databases; Scalable Projects. Containerization and Microservices; Security Enablement and Audit (digital signature, WS standards, OASIS best practices)
  • DevOps Expertise: Linux Advanced; Advanced build organization; CI/CD Basics; Virtual Machines; Docker; Kubernetes
  • Technologies: REST; Hibernate; Redis; Kotlin; JUnit / TestNG; pgAdmin; Spring Core; Spring Boot Actuator; Java Standard Edition (SE); IntelliJ IDEA; Spring Data JPA; Vault; Data Bases; Apache Log4j; Helm; Git; Apache Maven; gRPC; Java; Netty; Spring Data Redis; Spring Boot; Kubernetes (K8s); Backend; NetCat; JVM Languages; Protocol Buffers (Protobuf); IDE; Build and Dependency Platforms and Tools; Apache Kafka; PostgreSQL; Spring; Containers and DevOps Tools; Mockito; Standards and Protocols; Test Automation; Identity and Access Management Solutions; Source Code Management (SCM); Spring Data; CI/CD and DevOps; Message Queues and Service Buses; Languages, Protocols, APIs, Network Tools; Network Tools; JDBC; Software Engineering and Management Tools; Spring Kafka; General Frameworks; ORM & Persistence; WinSCP; Java Libraries; HttpWatch; Logging Libraries
project-team
  • Team size (3):
  • 1 Project Manager
  • 2 Backend

Project summary

Customer's platformThe customer’s platform is a set of microservices deployed in the cloud. Platform orchestration is implemented by Kubernetes (K8s). JazzTeam specialists had to improve the performance of microservices in Kubernetes by adding additional functionality for health checking, as well as decomposing microservices into smaller parts. Among other things, it was necessary to implement software for the management of data in a hidden form.

Main objectives of the project

Development of tools for testing applications/microservices in K8s containers

The main goal was to create the possibility to test the performance of K8s containers through the implementation of Liveness, Readiness and Startup Probes for Health Checks.

Main tasks:

  • Conducting R&D on Health Checks customization options for the microservice architecture deployed in Kubernetes (K8s) and creating MVP.
  • Building a library kernel architecture (based on MVP results) that allows to configure Health Checks in microservices.
  • Applying this library to all microservices.
  • Development of new microservices and support of existing ones.
  • Execution of project documentation.
  • Communication with the customer to clarify the requirements.

Managing certificates and passwords for system services

The main goal is to avoid storing platform passwords in plain text format. A dynamic structure should be used as a password repository, and it should be possible to encrypt passwords and grant access to these passwords to certain services.

Main tasks:

  • Conducting R&D and selecting the appropriate password storage solution, such as Vault, Keywhiz, etc.
  • Creating the Proof of Concept for each of the solutions, comparative analysis of the solutions.
  • MVP development based on the selected solution.
  • Refinement of MVP to final product.

JazzTeam responsibilities:

  • Conducting large-scale R&D with subsequent implementation of research results.
  • Refactoring the code of the existing solution.
  • Creating the Proof of Concept for each solution.
  • Execution of documentation for the selected solution.

Technologies used

Java experience: Java 8,11; Kotlin. Spring Boot, Spring Core, Spring Data JPA, Spring Redis, Spring Kafka, Spring Actuator, Hibernate, Log4j, JDBC.

Databases: PostgreSQL, Redis.

Infrastructure: Intellij Idea IDE, Maven, Git.

Testing tools: JUnit, Mockito.

Data exchange protocols: rest, gRPC/Protobuf.

Other technologies: Kafka, Netty, Kubernetes (K8s), Helm, Vault.

Project features

  • At the start of the project, the task was to migrate the services from Spring 1.5.x to 2.6.x, in order to speed up and simplify the process of creating Java applications.
  • It was necessary to migrate Junit4 to Junit5 to comply with Spring 2.6.x.
  • Continuous improvement of the project on the basis of R&D, taking into account the application of the latest developments and libraries.

Software development

Project results

  • Proof of Concept, which formed the basis for the further development of the project, was completed and protected.
  • We set up Health Checks for the microservice architecture.
  • In parallel with the R&D process, the code of the existing solution was refactored.
  • Based on the solutions, the customer was able to develop the optimal vector of project development.

Company’s achievements on the project

  • Ensured smooth operation of the application in K8s through the introduction of Health Checks.
  • Achieved goals in the process of working with constantly changing requirements.
  • The customer is satisfied with the result.

Clients about cooperation with JazzTeam

Youtube preview
Youtube preview

Related projects

Recent Work

    Contact Us

    What happens next?
    • 1

      Leave your project request. We will contact you and schedule a call.

    • 2

      Signing of the NDA to ensure the project info confidentiality.

    • 3

      Negotiation of your request and the required services.

    • 4

      Team forming, coordination of workstages.

    • 5

      Contract signing and project start.