In a software org at a large tech company that has several services across small teams with various functionality and UIs. Have gotten direction from up above and been assigned the task of being responsible for concentrating all of the different services under a single web service and UI. Think AWS management console for the various AWS tools.

These services are all webservices with different communication protocols (REST, gRPC, etc) and different tech stacks internally, since they were all bootstrapped without a technical playbook in mind. What are some architectural or organizational patterns that I should look into in order to make this happen?

  • v_krishna
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    Are they all kubernetes native? I’ve had decent success using a service mesh layer (like istio) to help create a unified service “proxy” layer of sorts, making it simpler for heterogeneous services to all work in concert. I’ve also taken the route of building an actual proxy service for this (esp in the case of fronting gRPC services to a single gateway HTTP ingress) but find that becomes tightly coupled and ends up holding a lot more business logic than routing/request standardization (in part because once you have a full on service for your proxy why not?). Adding this in the mesh keeps it minimal while crafting an experience where your FE all hits some single ingress.yourdomain.com load balancer -> istio ingress, and meanwhile teams can have all the underlying services they want wired up through some prefix matching rules.