*ฅ^•ﻌ•^ฅ* ✨✨  HWisnu's blog  ✨✨ о ฅ^•ﻌ•^ฅ

Free services from the Giants: Azure

Introduction

This is the first article of series of 2 or 3 articles on DevOps using the Big 3 Cloud Providers: AWS, Azure and Google Cloud Platform. At first I was planning to try all three of them, however upon investigating I kinda lost interest to what GCP offers so at the moment the plan is for the series to cover what Azure and AWS offers.

Azure

azure-logo

As the second largest market share, Azure offers surprisingly wide variety of (free) services and coupled them in an easy to use platform. The documentation and the quality of learning materials are second to none! You will find no screenshot or step by step walkthrough how to set up things in this post, you will be far better served by Azure's docs!

The cons for Azure would be they throttled the quality of the free services a lot. Expect (free) web apps and (free) databases to take 10-20 seconds to wakeup from a cold start and this behavior is normal in Azure's free tier services.

I have a theory that Azure deliberately make the free services only usable for trial / testing and not for anything remotely serious, which is understandable: they want users to use the paid services. While the context of this article is on the free services, I'm quite sure the paid services is miles better and competitive with other providers.

Let's dive in deeper!

Database - Azure SQL

azure-sql-small

The SQL was the first service I tried from Azure, on paper it provides a royal storage of free 32 GB capacity, which is the biggest I've heard on a free service. When it successfully connects, the performance was great.

IF IT CONNECTS... yes, that is the biggest drawback of Azure SQL: waking up the damn database is almost impossible lol! I may have missed something, but I deliberately added a line of script to wake up the database. Even then the database sometimes woke up and more often does not (it might have woken up eventually, but the workflow process I made have long gone to the next stages of CI/CD pipeline -- leaving Azure SQL in the dust).

The thought of "I must be missing something" disappeared when I tested the other free service: Azure App Services. It took a while to wake up the thing! So I conclude this behavior is normal in Azure's free service, but they work albeit slow to wake up.

Web - Azure App Service

azure-app-service

This is super useful as a playground to test deploy your apps using a variety of methods: CI/CD with Github and via Docker are two that I've tried, and they run very well!

Granted, the same issues plaguing the (free) SQL also appears in (free) App Service: waking up from a cold start takes 10-20 seconds. But they will work eventually and you get to practice / do trial and errors deploying apps.

Container - Azure Container Registry

azure-contReg

An exactly the same service as private Docker repo. Everything from setup and pushing the Docker image are exactly the same as what you'd have done in Docker Hub. This is a major positive point as you only need to remember 1 workflow to push the Docker image to Azure Container Registry.

In terms of pricing, hands down paying for paid service in Docker is the better deal. You'd be crazy to choose Azure's pricing over Docker subscription.

Container - Azure Container Instances

azure-contInst

This is one of the method to deploy a Docker image, I managed to get it set up and running however Azure didn't give me an IP address or DNS name to open the deployed app. So I prefer to deploy the Docker image via App Service instead.


Note: I will be updating this post when I've tried more of Azure's services.