Imran
.NET, Azure, Cloud, Container, Serverless

Microservices and Azure

Microservices architecture has gained popularity in recent years. We evolved from N-Tier to SOA and then microservices. Every architecture style has it’s pros and cons. I am not going to write pros and cons of microservices or how do we build it but is high level overview of services that i am using in my project. You can find details of my project on Github described in sections below.

I started to dig deeper into microservices and started a demo project couple of weeks ago to shape my concepts into actual project. I would say it’s fun but at the same time it’s challenging . I started to follow eshopContainers which is open source shopping portal built on microservices architecture. I would suggest anyone to definitely look into if you are interested to learn about microservices.

Microcouriers

The demo project i started is called Microcouriers. It’s fictional courier service where users can book , pay and track orders. I am big fan of Azure so i choose to use Azure cloud services to realize my project. It’s an open source project available on github here

I divided my services based on DDD bounded context. It’s event driven architecture and i am using Azure service bus for events passing. I am using combination of popular architecture patterns and technologies in my project mentioned below

Technical stack

.Net Core 2.2, Azure Cloud services (explained below), Docker , Polly (for resiliency) , SQL Server , Entitiyframe work Core , Dapper (MicroORM), Autofac , MediatR ( for CQRS)

Azure cloud Services

There are many services in azure which we can leverage when working on Microservices. Some of them that i am using is

Azure Service Bus – Since it’s event driven architecture so I am using Service bus to pass around the events.

Azure Redis Cache – Azure redis cache is in memory database to return the quicker response.

Azure Functions – Azure function is serverless offering . Service bus events are triggering functions to update my read model

Azure Kubernetes – I will be using kubernetes to deploy my microservices. Kubenetes is leading container orchestration tool.

If you are new to microservices , i would suggest to read following topics

Microcouriers Sample project

https://docs.microsoft.com/en-us/azure/architecture/microservices/

https://github.com/dotnet-architecture/eShopOnContainers

Like the post ? Share !

Related posts

Parallelize tasks with Azure Durable Functions

Imran
January 27, 2019

Create simple bot with Azure Bot Service

Imran
July 30, 2018

AWS Innovate 2018

Imran
July 24, 2018
Exit mobile version