Wednesday, March 22, 2017

Build your startup on Azure. Part 1:

Microsoft Azure has so many features these days, that it's very easy to get lost in Azure portal - you can setup and scale web apps, databases, even deploy Sitecore in a few clicks.
But really cool thing about it is that you can manage the entire life cycle of your app - from purchasing a domain to scaling load and diagnosing production exceptions without leaving the portal.

In this blog post series I'll show how easy it is to build your own startup type of project in a matter of hours, using Azure tool set.

The project I'll create is a simple web service for storing JSON data. It is useful in scenarios when you need to communicate between the different systems, like server-side service and a web app or even mobile app, as shown at a scheme below. Kind of simplified "service bus".

The first and the hardest problem for any startup is it's name. I've decided to go with simple name / domain, and buy the domain in Azure Portal.

This was a very simple process. All you need to do is to go to the Custom Domains section of any web app, and fill in a few fields:

After you click "Create", it will take about a minute of time and a few notifications to provision it.
The domain will be automatically configured for your web app, so you don't have to deal with CNAME, A-records, and other domain specifics.

Custom Domains are only supported on paid Web App plans, so make sure you have at least "Shared" App Service plan:

And one more thing: since we'll work with user data, it's important to secure the communications between the users and our service.

Few months ago I've used service to generate a free SSL certificate, but they've recently got some issue with validation in Chrome, so I've decided to purchase a certificate in Azure portal as well, even though it is quite expensive comparing to the rest of the stuff.

The process is very straightforward - you just purchase it as any other Azure resources, and then verify it:

After the verification, you just go to the App Service, and add SSL binding:

That's it - we have a plan and a domain for our project. In the next part I'll create a Visual Studio project for our back-end Web API and publish the project.