Tag

saas

Browsing

The mindset for start-ups is to keep the costs down and develop fast with quality. Therefore the idea is to have continuous improvement loops and publish the most viable product (MVP) version as soon as possible. Microsoft Azure provides services which are essential to the Software as a Service (SaaS) products. Most importantly and fortunately, most of these services have a free plan to kick start the development project. In this blog post, I’ll have a review of these free Azure essential services in SaaS architecture.

During 14 years of my career, I have worked with customers from different industry sectors and various project types. Most of them were Enterprise-grade business-to-business (b2b) solutions, and my experience with business-to.customer (b2c) products is quite narrow. As explained in my previous blog post, recent Azure certification exams are demanding, and studying requires a lot of reading and hands-on training. During my studies, the outcome product has taken my attention and interest to develop the product further. Let’s have a look at the SaaS high-level architecture in it’s purest form.

Simple SaaS Architecture

The illustration represents free azure services in Service-oriented SaaS architecture. These services are:

  1. App Service is a Platform as a Service which is the best solution to host the front-end layer and the UI of the product. Developing the UI by any best-of-breed front-end framework like Angular or React can be up and running on Azure with few clicks. The app service can be scaled as the demand grows, but you can kick start the project with the free plan.
  2. App API is based on App Service platform and will act as the service layer of the product. The API can also be developed with any popular back-end language like .net core, Node.js or Go lang. The service can be scaled up by demand, and it has many other useful features like hosting Docker containers to serve the API. The app service environment can be hosted either on Windows or Linux environment.
  3. Azure SQL is also a Platform as a service product which should not be confused with the self-hosted Microsoft SQL Server. The Azure SQL database does not require a SQL server licence, and you pay based on the Database Throughput Unit or DTU. Developers can have SQL relational database so serve the API layer. The Azure SQL does not have a free tire, but the Basic tire with 5 DTU costs under five euro per month.
  4. The Storage Account is a package of four different services, and you pay only for the use. The following services are essential for the SaaS product:
    • Blob Storage is the solution to host images, videos and binary files.
    • Table Storage is the part of the storage account to host non-relational data in a table format where the schema can scale based on needs.
    • Storage Queue is a simple service bus solution to enable event-based operations.
  5. Azure functions are server-less PaaS product which is hosted on the App Services environment and is a perfect solution for handling the background processes. To read more about Azure Functions in cation and hosting plans, please refer to my previous blog posts.

The services above are the perfect initial parts of a SaaS application. The architecture can be extended with other services to provide an industry lead solution which can be topics for my next blog posts.

The latest Azure certification exams are demanding and need a lot of demos and hands-on training. During the preparations and experiments, an e-commerce Azure Saas Platform was formed unintentionally.

Taking Microsoft certification exams has been apart of my professional career since 2007. Certifying myself not only verifies the current level of my knowledge but also makes me study hard for newly available technology. I’m currently on the DevOps journey with the following exams:

Azure certification paths to create a SaaS product
Azure certification paths in 2019

Experiments turned to a SaaS platform

There are many guides and blog posts on how to study for exams and what materials to read. I find it best to read Microsoft documentation, create demos and have experiments. During the study period, my demos and architectural decisions became a fully functioning Azure SaaS platform. I’m still on the study path, so there is a room for upgrades and changes in the architectural decisions.

The demo I have created is an e-Commerce solution using Azure products and services, which are a part of measured skills in exams. To improve processes and add an extra layer to the intelligence of the application, Microsoft provides AI tools part of Microsoft Cognitive Services which I plan to include in the platform. The trial by applying AI services provided by Microsoft will also indicate the maturity of these services and a way to observe how enterprise solution-ready they are.

I have kept the Start-up mentality in mind by minimizing the costs of services on Azure as much as possible. The plan is also to include cost calculations about used services in my upcoming posts. The DevOps methodologies and tools will also be an active part of the process. DevOps helps to keep everything as simple as possible and automate the most processes as possible.

The SaaS platform is currently running on https://obrame.azurewebsites.net. “Obra” means “work” in Spanish, which is the current language of the service.

Upcoming blog posts will explain the processes of the SaaS solution. The posts will also go through important Azure services and their role in the technical implementation. The next blog post will explore the high-level architecture and initial services used to run the application in the Microsoft cloud.