0

I want to develop and host my portfolio on Azure, since I have free money every month thanks to the MSP Program.

My portfolio will be made of 3 services:

  • a frontend app using React
  • a backend app using Asp.Net Core
  • a database for storing articles and projects

One important requirement is CI/CD: I need to be able to trigger automatic deployment upon modifying the master branch of my github repo (when I merge a branch into master for instance).

Also, performance is not really important here, I'm not hosting Facebook here haha.

My questions are:

  • Should I use containers for both applications?
  • I've heard of Azure Container Instances and Azure App Service, can it be of any help here?
  • This question is far to broad, you need to ask some specific questions – Sam Cogan Mar 25 '20 at 10:33
  • @SamCogan I agree with you, I'd like to be more specific but I can't... Is there a StackExchange website on which this question would be appropriate? – Christophe Chichmanian Mar 25 '20 at 13:05
  • this is the right site for these sort of questions, but yours is a bit too vague, your asking for guidance on what resource to pick, but we don't know all the criteria that will help you make the decision, are your apps running in containers? If not then the services you mention won't help, etc. – Sam Cogan Mar 26 '20 at 16:22
  • @SamCogan I've edited my post with, I hope, clearer questions. – Christophe Chichmanian Mar 28 '20 at 17:28

1 Answers1

1

OK, the first choice is how you want to package your applications, containers or not containers. Using containers may make development and deployment of your applications easier, but if you have no experience with containers then this is going to be a steep learning curve.

If you do decide to use containers then you essentially have 3 options in Azure:

  1. Azure Web Apps - the platform as a service hosting for web applications, this supports running containers
  2. Azure Container Instances - containers as a service where you can just request a container be created and run for you
  3. Azure Kubernetes Service - Kuberenetes clusters as a service

By the sounds of it you don't need the functions that Kubernetes provides, so I would avoid the extra complexity that brings. Azure Container Instances would work for you, but they are really designed for handling burst workloads, rather than 24/7 services, so the pricing may not be what you want. The simplest option may be to look at using Web Apps. You can run your containers without needing to worry about the underlying infrastructure and it does support multi container workloads - https://docs.microsoft.com/en-us/azure/app-service/containers/tutorial-multi-container-app

If you don't want to go down the container route then you are looking at the more traditional hosting services. This would limit you to: 1. Azure Web Apps (without containers) 2. Azure VM's The Azure VM route would need to be configured and managed by yourself, so not ideal. Again, I would probably look at web apps.

I haven't mentioned databases, I would strongly recommend you look at Azures Database as a Service offerings, be this SQL, MYSQL, PostgreSQL etc. Running a DB in a container is not what I would advise.

Sam Cogan
  • 38,158
  • 6
  • 77
  • 113