New e-book: Globally-Distributed Applications with Microsoft Azure

Microsoft Azure provides a huge amount of cloud services and is probably the best option for building applications in the cloud. While Microsoft provides documentation for its services, many times it isn’t clear how those services can fit together in a single application. I decided to write the Globally-Distributed Applications with Microsoft Azure book because I believed it will help developers and architects to understand not only how to use Azure Services but also how to combine them to solve complex problems while optimizing performance in a globally-distributed cloud solution.

The book is backed by an open-source .NET Core – Angular project that makes use of the following Azure Services:

About the book

The first 4 parts describe the features for each Azure Service used and their role in the design of the Online.Store application. It provides step by step instructions to configure Online.Store application settings and secret keys so that you can deploy it all over the globe. The final chapter explains the PowerShell scripts that you can use to automate processes in a globally distributed application (resource provisioning, releases or rolling back updates)

Continuous Integration & Delivery

Business continuity in geographically distributed systems with SQL Active Geo-Replication is a tough task to accomplish. The last part of the book covers all the DevOps processes needed to automate releases in globally-distributed applications. Learn how to structure and design resource groups, how to effortless provision their resources and release or rolling back new versions of your software, without affecting the end user experience.

Who should read this book

This book is both for developers and architects.

Developers will profit by learning to code against Azure Services. For every Azure Service
introduced such as Redis Cache or Service Bus, the source code contains a relevant library project with generic repositories.

public interface IRedisCacheRepository
   Task SetStringAsync(string key, string value);
   Task SetStringAsync(string key, string value, int expirationMinutes);
   Task SetItemAsync(string key, object item);
   Task SetItemAsync(string key, object item, int expirationMinutes);
   Task<T> GetItemAsync<T>(string key);
   Task RemoveAsync(string key);
public interface IDocumentDBRepository
   Task<T> GetItemAsync<T>(string id) where T : class;
   Task<T> GetItemAsync<T>(string id, string partitionKey) where T : class;
   Task<Document> GetDocumentAsync(string id, string partitionKey);
   Task<IEnumerable<T>> GetItemsAsync<T>() where T : class;
   Task<IEnumerable<T>> GetItemsAsync<T>(Expression<Func<T, bool>> predicate) where T : class;
   // Code omitted

Architects will find this book extremely useful as well. They will learn how to properly design
and group Azure resources in order to ease and automate release processes while keeping business
continuity. There are lots of PowerShell scripts written for DevOps automation and most of them
can easily change and meet your application requirements.

    = "$PrimaryName-$ResourceGroupLocation-$serviceBusPrefix";
$serviceBusExists = Test-AzureName -ServiceBusNamespace $serviceBusNameSpace
# Check if the namespace already exists or needs to be created
if ($serviceBusExists)
    # Report what was found
    Get-AzureRMServiceBusNamespace -ResourceGroup $resourceGroupName `
                                    -NamespaceName $serviceBusNameSpace
    New-AzureRmServiceBusNamespace -ResourceGroup $resourceGroupName `
     -NamespaceName $serviceBusNameSpace -Location $ResourceGroupLocation

    $namespace = Get-AzureRMServiceBusNamespace `
                        -ResourceGroup $resourceGroupName `
                        -NamespaceName $serviceBusNameSpace

The book is available on Leanpub here. Anyone who buys the book gets any new releases instantly for free. To follow along with the examples you will need an Azure Free Account.

In case you find my blog’s content interesting, register your email to receive notifications of new posts and follow chsakell’s Blog on its Facebook or Twitter accounts.

Facebook Twitter
.NET Web Application Development by Chris S.
facebook twitter-small

Categories: Angular, ASP.NET, core, Azure

Tags: , , ,

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Automating infrastructure one line at a time

Diary Of A Programmer

Because every day is worth noting

Chara Plessa

The purpose of this blog is to broaden my education, promote experimentation and enhance my professional development. Albert Einstein once said that “If you can’t explain it simply, you don’t understand it well enough” and I strongly believe him!

chsakell's Blog

Anything around ASP.NET MVC,WEB API, WCF, Entity Framework & AngularJS


A Front End Developer's Blog

Muhammad Hassan

Full Stack Developer | ASP.NET | MVC | WebAPI | Advanced Javascript | AngularJS | Angular2 | C# | ES6 | SQL | TypeScript | HTML5 | NodeJS, MS candidate @LUMS, Grad & EX-Adjunct Faculty @NUCES-FAST, seasonal blogger & open-source contributor. Seattle, WA.

Software Engineering

Web development


.NET, ASP.NET, C#, MVC, TypeScript, AngularJS

Dominick Baier on Identity & Access Control

Happy DotNetting

In Love with Technology


Knols of experience to your advantage


Search - Read - Request - Share

Rahul's space

Learn, Share and Grow with me !

Dhananjay Kumar

Developer Evangelist @Infragistics | MVP @Microsoft

SQL Authority with Pinal Dave

SQL Server Performance Tuning Expert

Conficient Blog

Random bits of tech from @conficient

Code! Code! Code!


Code Wala

Designing and coding

Microsoft Mentalist

A way to start with Microsoft Technologies

%d bloggers like this: