What are your reasons for "splitting" an application service?

Robert Campbell
Tera Guru

I often get asked when do we need to create a new service. I always have an answer but I thought I should get more insight and ask the community how you handle this question.

 

I tell people, if you can answer yes or true to any one of these questions, you need a separate service:

  1. Do you have a different support team?
  2. Do you have a different approval team?
  3. Do you have a different management team?
  4. Is the functionality of this service completely independent of another service?
  5. When discussing this service, there is never a wonder if it should actually be part of another service.

People tend to not want to create a new service because for them, it's more things to manage and certify. However, we currently have broken processes that makes them think they need to create a new service, every time they add some functionality. I think of new functionality as just that and not a need for a new service. Especially if that functionality can be identified some other way.

 

We have a problem with comingling the terms service and application and microservice. Depending on who you're talking to, those words mean different things or the same thing. I try to always call out when I'm talking about a ServiceNow service vs a Kubernetes service vs a service the business is offering their customer. However, sometimes they are all the same thing. 

 

Most companies have a loyalty program/service. That loyalty service has different aspects to it such as:

  • Account Management
  • Member Benefits
  • Earn
  • Redeem
  • etc

I would create a separate application service for each of those. However, there are multiple applications/services/microservice that are created to support each one of those. Some want to create an application service for each of those microservice (Kubernetes service or cloud function) so they can be called out separately. My thought is to not have separate application services for each microservice but point to that microservice as the component of the bigger application service that is needed to identify. My Redeem application service has a Kubernetes service that isn't processing for some reason. My incident would have the Redeem service as the Service and the Kubernetes service as the configuration item.

 

Is there a better way to address or maybe I should look at this differently?

0 REPLIES 0