• Grey Twitter Icon

© 2019 | Marcel Haas | marcel.haas@cnext.ch | +41 76 390 23 17

  • Marcel Haas

My preferable approach on modern solution architecture

Microsoft still didn't call to tell that I have a free lifetime subscription with unlimited Azure consumption.

So I'm building my architecture on services which are either included in an Office 365 E3 plan or from the "serverless" offering edge. So we are purely talking SaaS, which provides best value for smaller complexity scenarios like this one here.


This wouldn't mean, that we don't want to have a look at the more adult stuff, but we want to keep the cost fact in mind, as a lot of my money was burn't thanks to my "explorative character" in the Microsoft Cloud space. My best piece of cake was to spin up a Azure Blockchain Workbench Environment for a demo and left it up running for a month. That's minimum 15 different resources and some dedicated capacity. Autsch..


Ok, let's get more serious now and define our key principals for the architecture of our conversation analytics solution:

Serverless

No, we don't want to use any own servers to build this solution. Servers need care, and we like more to care about the customers business that the server care. Microsoft does that well, and we just pay for what we actually use. So our solutions is purely based on a SaaS approach. We are going to make use of the following services:

  • Azure Cognitive Services > Used in this solution

  • Logic Apps

  • Azure Functions

  • Flow > Used in this solution

  • Any API

Micro-service Architecture


We love to have small dedicated pieces of technology, callable via a REST API and mostly/hopefully just one small dedication.


So, we build our solution in small Flows representing micro services being triggered by messages in Azure storage queues to do their work.


Why? Queues are providing us with enterprise software capabilities at our fingertips for nearly no money. The impact on solution stability of this robust, highly scalable and easy to use lego brick, is insane. Azure Storage Queues are a very cost effective solution.


These connectors belong to the set of Standard Connectors and don't require a premium plan for each user. As for example the HTTP connectors will require starting from spring 2019. This makes a huge difference in price, as 1GB of queue storage costs about $0.07 and max message size is 64k.

Event driven

Orchestrating signals is like playing piano. A selection of services in Azure, allowing to build event driven If to be e

  • Service Bus

  • Event hub

  • Database

  • Storage Queue > Used in this solution

  • HTTP / Webhook

Cost efficient


So I'm building my architecture on services which are either included in an Office 365 E3 plan or from the "serverless" offering edge. So we are purely talking SaaS, which provides best value for smaller complexity scenarios like this one here.

Scalable


If Azure services are not scalable, then we are very much back in your Grandmas times. There are a variety of options to scale each of the services involved in the solution design.


8 views