Azure Diagnostics Logging

Azure allows storing diagnostics logging to following storages:

  • File System
  • Blob Storage

Activity Log

Go to App Service > Activity Log.  Here you can see the Subscription Level (Billing) information like Publishing, Stopping & Restart service etc. 


Diagnose and solve problems

Here you can see the app performance, configuration, certificates related  issues.  image


App Service logs

For application level troubleshooting we have to use the App Service logs.  Set the Application Logging to On with Level to Verbose.  You can also make Detailed error messages to On.


Log Streaming

After enabling Application Logging & Detailed error messages you can view the App Service > Log Streaming window.  This will give live logging information. 


Try accessing the URL again and you should get the Logging text in the above window.  Copy the text and Save as HTML file to view the Sub Level error code & Verbose information.

Advanced Tools (Kudu Console)

Open Advanced Tool (Kudu Console) > Debug > CMD


KUDU Console will give multiple log information like Application, IIS, Data, Detailed errors etc.


Cosmos DB Advantages

Cosmos DB is gaining Traction exponentially & I would like to list the advantages of Cosmos DB here.

Globally Distributed means scalable across all countries & regions.

Low Latency is the core advantage of Cosmos DB.  This is achieved through SSD based storage, planet scale flexibility providing Millisecond response time.

Flexible Consistency offered through Varying Consistency Models like Strong, Boundless, Session, Prefix, Eventual.

Flexible Pricing Model allows metering of storage & throughput independently rather than CPU/Memory/IOPs.

Elastic Scalability will scale the database based on the request volumes with No Limits. aka Horizontal Scalability

Multi-Storage Model allows storage of data in form of key-value pairs, documents, graphs & columnar

Multi-API Model allows querying the database in SQL for document, MongoDB for document, Azure Table Storage for key-value, Cassandra for columnar etc.

High Security  achieved through End-to-end Encryption on data-in-transit & data-at-rest.

Application Insights in Azure

Application Insights is a Application Performance Management (APM) Service available for Developers & Administrators.  We can use it for web applications deployed to Azure.

Application Insights provides the following features:

  • Application Availability
  • Performance Monitoring
  • Usage Insights

Application Insights also provides Visual Studio Integration, Support for Windows Phone Store Apps etc.

Creation of Application Insights

Open Azure Portal > Create New Resource > Search Box > Enter Application Insights


Select the first option & Choose Create.


Enter Information in the appearing dialog.


Click the Create button in the bottom.

Wait a few minutes & your Application Insights will be created.


Now you are ready with the Application Insights panel as shown below.


Create Azure Functions using Visual Studio 2017

In this article we can explore about creating Azure Functions using Visual Studio 2017.

Native Tooling in Visual Studio 2017

Visual Studio 2017 includes the Azure Functions SDK to provide Functions template.

Open Visual Studio > New Project > Choose Azure Functions template as shown below.


In the next window choose the Http Trigger option.


You will get the following Code generated.


Run the application & You will get the following command window.


Towards the end you will see the URL to copy.


You can copy the URL & PUT in the browser. Since it is using Http GET method you will get the break point hit.




In this article we have explored about Azure Functions template in Visual Studio 2017

Advantages of .Net Core, ASP.NET Core, EF Core

In this post I would like to List down the Advantages of .Net Core, ASP.NET Core, EF Core.

.Net Core Advantages

Open Source allowing source code availability & customization.

Cross-Platform runs on Windows, Linux and Mac OS.

Lightweight through newly written libraries, no dependency on windows OS libraries

High Performance in speed & efficiency

Scalability possible through Microservices & Containers supporting architecture

Disadvantages Third party library support are limited, Not available in Desktop applications.

ASP.NET Core Advantages

Additional to the open-source, cross-platform, light-weight advantages of .Net Core, following are the advantages of ASP.NET Core.

Unified story for building Web UI & Web APIs.

Testability friendly architecture through support for Interfaces.

Built-in Dependency Injection allowing singleton, scope, transient instance creation.

Host Friendly allowing hosting in IIS, Apache & Other web servers

Cloud-ready enabled for Azure, AWS hosting

EF Core Advantages

Additional to the open-source, cross-platform, light-weight advantages of .Net Core, following are the advantages of EF Core.

Batch Updates for sending multiple queries to the database thus reducing roundtrips & enhancing performance.

Alternate Keys support along with primary key.

In-Memory Provider for holding all entities in memory useful for unit testing.

Shadow Properties are those which are not in the entity class but tracked in the Change Tracker.

Mixing FromSQL with LINQ allowing SELECT * FROM statement mix with OrderBy() LINQ queries.


All Core projects are complete re-write of the same.

Microservices, Advantages, Applications, Overheads

Microservices is a Hot Trend in the Industry. Everyone knows the Advantages of it.  Here I would like to list down the same.


Microservices are small services, with clear boundaries, easily deployable without affecting other components & offering individual scalability.

Microservices have their own code & data within them.

Microservices offer freedom of technology choices.


  • small services
  • single responsibility
  • separate processes
  • clear boundaries
  • easily deployable
  • individually scalability


NetFlix is a well known example of implementing Microservices.  Here the Netflix contains of following Microservices:

  • Public Website
  • Authentication
  • User Registration
  • Movie Selection
  • Streaming
  • New Releases

Here if each of this is considered as individual microservice, it can be developed, modified, deployed & scaled separately without affecting other application boundaries.


But give the advantages, I have never seen a 100% microservice application myself.  Each & Every architect claims to have implemented Microservices.  But when we dig deeper there are missing parameters to support the full microservice implementation.

Boundaries All the depending modules need to have clear boundaries of code & data.  If one of the code/data depends on your microservice module then it will cause failure.

Asynchronous All the synchronous calls has to be converted to asynchronous calls.  For this a normal API call needs to be migrated to Service Bus Messages given an Azure scenario.

Repositories Since each microservice has its own code & data, we need to maintain separate code repositories for each.

Debugging Overheads Unlike monolithic application where one can press F5 and debug a button click to service, it is not possible with microservice.  More complexity is there in debugging microservices.