Hey everyone! I'm exploring options on Azure to host a small application that consists of a React frontend and a Django backend. Right now, it's running locally in Docker containers, which also include PostgreSQL and Redis—though I'm not utilizing Redis at the moment, and the database is quite small.
There are a few specific things I'm considering:
- **Access**: I want to restrict access so only people on my own network can reach it.
- **Users**: I anticipate around 50 users to start, with a maximum of 100 later on, but I'd like the flexibility to add features in the future.
- **Managed Services**: I'm thinking about utilizing Azure's managed PostgreSQL to avoid the hassle of running my own database, but I'm still deciding if I need managed Redis.
- **CI/CD**: My code is in GitLab, and I plan on setting up CI/CD pipelines eventually, but I want to decide on a hosting option first.
- **Past Experience**: I have a larger app running on App Service in a single container that has been working fine.
I'm currently leaning towards Azure App Service since I'm familiar with it, but I'm not sure whether to use one container for both the frontend and backend or to separate them. I heard about App Service's new multi-container features, but I'm unsure if they're production-ready. Would it be smarter to go with Azure Container Apps if I want to keep the frontend and backend in different containers? Or should I keep it simple and run both together in one container on App Service? Also, are there any important considerations regarding scaling, networking, or costs, especially when restricting just to private IPs? Thanks for any insights!
3 Answers
If you're planning to use PostgreSQL as a managed service, App Service could be a good fit. But remember that App Service limits you to HTTP ingress, so if you need to containerize anything requiring TCP access, that could be a dealbreaker.
I’d say go with Azure App Service. It seems like all your needs line up perfectly with what it offers. Since you already have experience with it, setting up a couple of app services under one plan could be a great way to manage both the frontend and backend. You can always upgrade to Azure Container Apps later if you find that you need the extra flexibility.
Well, if you're looking for stability and control, you might want to consider Azure Container Apps. It provides better scaling, proper sidecar support, and is great for managing multiple deployments. Plus, you have more flexibility when it comes to microservices architecture, which could be beneficial.
I don't see any major requirements that the OP has mentioned that would demand Container Apps over the App Service. Sometimes keeping it simple is the way to go!

Starting with two app services sounds like a smart move. Deploy your existing containers there—it’s what you know, and it’ll work just fine for your needs right now!