We're migrating a monolith to microservices in Azure - What hosting should we use?

We're migrating a monolith to microservices in Azure - What hosting should we use?

Azure architecture vs cloud agnostic architecture

In the next few months I'll be involved in migrating a monolith app from IaaS to a SaaS offering and so far using microservices seems the best idea.

Why we're switching to microservices?

1. Integrations

We have a lot of integrations (3rd party software to which we connect to and read/write data) and we are going to add a lot more in the future. From what I've seen, this would be a good use case for microservices because each integration could be in its own repository and served in a separate container. The good news here is that we already have our integrations in separated projects so it would be very easy to turn them into microservices.

2. Simplifying the onboarding and hiring process

It's hard to find full-time employees and then it also takes time to onboard them on a monolith. If we have microservices then it will be easier to onboard someone because it's easier to understand when you look at the solution one project at a time. Also, if you have microservices it should (theoretically) be possible to use different stacks instead of the same one for every project, so this should make hiring easier because you're not restricted by the technologies you used before.

3. It seems the right move

I haven't used microservices in production before because there was just no real reason to use them, but now I definitely think they would be a good fit. We already tried to create a microservice for a new integration that we built and the feedback from the team was really good, so we're moving ahead with this, but one of the first questions is...

What hosting should we use?

I started watching this Pluralsight course in the weekend and one of the questions I'm asking myself now is what should we use for hosting the microservices? Right now I'm leaning towards Azure products like App Services, API Management, Azure Container Instances, etc. However, I'm asking myself questions like "what products offer the best value for price?" or "which ones are easiest to work with regarding deployments, communication, etc?". If you've been through this and have any advice to give I would really appreciate it!

Did you find this article valuable?

Support Bogdan Bujdea by becoming a sponsor. Any amount is appreciated!