Job Title:  Manager | Microservices | Bengaluru | Engineering

Job requisition ID ::  79675
Date:  Jun 16, 2025
Location:  Bengaluru
Designation:  Manager
Entity: 

 

1. Spring Boot Web Services:

  • JWT Bearers: Implemented to ensure secure communication between microservices (MS) by using JSON Web Tokens (JWT). The services handle authentication and authorization, likely integrating with Login Radius to manage user identity and access control.
  • Postgres: A highly available and reliable relational database used to store application data. It plays a critical role in persistence across the microservices architecture.
  • Feign Clients: Utilized to simplify communication between various microservices. It abstracts HTTP API calls, ensuring inter-service communication within the microservice ecosystem.
  • JobRunner Scheduler: A scheduled task runner to manage background jobs, ensuring critical jobs run on a periodic basis, likely leveraging Spring's Task Scheduler or similar frameworks.

 

2. Overly Complicated POM Structure:

  • Managing 55+ Microservices (with some being MACRO services) presents challenges, particularly in terms of maintaining coherent dependencies and build processes. Each microservice or MACRO service requires its own POM file for dependency management, leading to complexity and potential issues in managing versioning, libraries, and their transitive dependencies.

 

3. Maven Build and Release Process:

  • The Maven (Mvn) build process appears to be complex, possibly due to dependency management across multiple services and ensuring compatibility across microservices. Coordinating multi-module projects can lead to intricate build scripts and configurations, slowing down the CI/CD pipeline. Optimizing the Maven release plugin can help manage this better by automating releases and simplifying tagging and versioning.

 

4. Azure DevOps Pipelines:

  • ADO pipelines are set up to manage almost everything in the project lifecycle, from running builds to handling deployments. Interestingly, even retrieving logs via kubectl (Kubernetes command-line tool) is handled through these pipelines, indicating a tight integration between Kubernetes and ADO. However, this could result in inefficiency when certain tasks are delegated to pipelines unnecessarily.

 

5. Configuration Management:

  • Configurations are distributed across various environments: local dev setups, pipelines, Azure Key Vault, and Postgres, making it important to ensure consistency and traceability. Azure Key Vault is likely used for secure storage of sensitive configuration data such as credentials, keys, and secrets, while configuration for services might also reside within Postgres tables for dynamic retrieval.

 

6. Git and Release Management:

  • The team demonstrates high proficiency with Git by utilizing advanced Git strategies such as merge, rebase from main/master, and artifact management. This suggests a strong commitment to GitOps practices, ensuring code consistency and enabling effective release management across multiple branches and services.

 

7. SonarQube:

  • Implemented to maintain code quality by scanning for code smells, security vulnerabilities, and enforcing best practices. This ensures that the codebase remains maintainable as it grows.

 

8. Istio:

  • Istio service mesh is used for traffic management, security, and observability across microservices. It simplifies complex microservice communication by handling traffic routing, load balancing, and policy enforcement, making it easier to manage security and monitor services in a distributed system.

 

9. Apigee: (Light touch)

  • Apigee is likely serving as the API gateway to manage, secure, and scale the APIs exposed by the microservices. It provides a unified entry point for external clients (like mobile apps) and applies policies for traffic management, security, and rate limiting.

 

10. Communication with External Platforms:

  • The system communicates with iOS, AOS (likely Android OS), and an AEM Web Portal. This suggests the microservices handle requests from various clients, including mobile apps and web interfaces, with AEM (Adobe Experience Manager) potentially managing web content and digital experiences.