Guide: Getting Started with .NET Core Microservices using Kubernetes, Docker and Microsoft Azure Container Registry (ACR)

Posted by Nilay Parikh and last modified on Sat May 13, 2017.

Containers provides unique value for Microservices implementation. I am not trying to open a debate on computing options in the article. The scope of the article is to enable you and get you started with .NET Core Microservices using Kubernetes and Azure Container Registry.

What is Kubernetes and Azure Container Service ?

Kubernetes is an open source system for automating deployment, scaling, and management of containerized applications. Kubernetes is the production ready container orchestration open-source system. The Kubernetes project is becoming very popular among enterprise scale implementation for its execution ability. Automatic Binpacking, Self-healing, Scaling, Service Discovery, Automation, Configuration & Secret Management and Orchastrative Abilities are some of exciting selling points of the Kubernetes project.

Kubernetes is available (Generally Available) on Azure Container Service ( reference ). Azure Container Service (ACS) is a container hosting environment optimised for Azure, and it leverages the technologies such as Docker, Apache Mesos and open source components of DCOS.

Development Pipeline with Visual Studio, .NET Core and Docker

Docker would play a vital role as part of your development pipeline. Azure Container Registry supports docker format. Therefore, the journey would be similar as DockerHub. Development Pipeline can benefit by tagging images for target environments (i.e. :dev, :int, :sys, :preprod, :prod). Ideally, I recommend keeping the Container Images light-weight as possible and prefer layering them instead of going two step backwards by creating a monolithic image. I am restraining myself opening up the topic, but I will try to write a separate blog post on the subject.

The article splits into following sections,


Cloud Economics: Computational Load Testing and Stress Testing for Azure App Service Web Api (Performance Benchmark)

Posted by Nilay Parikh and last modified on Sat May 6, 2017.

App Service, Service Fabric and Serverless Azure Function are becoming flagship computational service for Microsoft Azure. I am trying to find an economical benchmark for Computing in Azure. It is not a straight-forward task, but I am employing a simple methodology to find cost/computing rational between all three computational platforms.

Summary

Following is the highest throughput and zero error load test’s summary out 5 various load patterns for Azure App Service Server Farm of 3 instances.

Hourly Cost (3 x Instances)0.131183505 GBP x 3 =
0.393550515 GBP per Hour
Azure Pricing
Hourly Test Count579,600 Api CallsLoad Test Stats & Profile
Zero-Fault Average CPU Consumption91.490875%Performance Stats


Cloud Economics: Computational Load Testing and Stress Testing for Azure Service Fabric Stateless Web Api (Performance Benchmark)

Posted by Nilay Parikh and last modified on Wed Apr 26, 2017.

App Services, Service Fabric and Serverless Azure Function are becoming flagship computational services for Microsoft Azure. I am trying to find an economical benchmark for Computing in Azure. It is not a straight-forward task, but I am employing a simple methodology to find cost/computing rational between all three computational platforms.

Summary

Following is the highest throughput and zero error load test’s summary out 5 various load patterns.

Hourly Cost (3 x Nodes)0.305159022863118 per HourAzure Pricing
Hourly Test Count687600 Api CallsLoad Test Stats & Profile
Zero-Fault Average CPU Consumption88.234625%Performance Stats


Cloud Architecture Pattern: Network & Perimeter Security for IaaS, Cloud Services and Service Fabric in Azure

Posted by Nilay Parikh and last modified on Sat Apr 22, 2017.

Networking and Security could be challenging in the Cloud but at any point that doesn’t make the Cloud Solutions less secure. The key is to understand the shift in the paradigm. As someone quoted to me “Rules are same but Methods changed” - and I could not agree more. In this article, I would like to discuss Network and Perimeter security for Azure IaaS, Cloud Services and Service Fabric.

Network and Perimeter is undoubtedly one of the important aspects that you would like to cover within your Cloud Cyber Security blueprint. Especially, public clouds (i.e. Azure, AWS) also increase the threat perception due to openness of accessibility. I am going to demonstrate the security pattern with Zero-Knowledge Virtual Appliance in Azure, securing Service Fabric and the topology of IaaS (Service Fabric Node).


Guide: Setup Microsoft Monitoring Agent on Service Fabric and VM Scale Sets for improved Operational Insight

Posted by Nilay Parikh and last modified on Mon Apr 17, 2017.

This guide would demonstrate the steps to connect Service Fabric Nodes or VM Scale Set Instances in the cloud or the hybrid infrastructure to OMS Workspace. Microsoft Monitoring Agent (MMA) enables rich and real-time analytics for operational data (Logs, Performance, Alerts and Inventory) from a tenant.

You can install agents using Installer (manually on the physical machine), Resource Manager Template, Resource Manager CLI/PowerShell and Desired State Configuration (DSC). If you are considering a general best practice for VMSS instances and Service Fabric nodes, then Azure Resource Manger Templates would be an ideal option in my opinion.

Microsoft Monitoring Agent extension can be defined in Azure Resource Manager template (virtualMachineScaleSets\properties\virtualMachineProfile\extensionProfile\extensions).

  • virtualMachineProfile ensures consistency across VM cluster.
  • Provisioning of new VM or Service Fabric Node ensures the deployment and configuration of Microsoft Monitoring Agent.
  • You can roll-out configuration changes easily and consistently across a cluster.


Guide: Secure Service Fabric Cluster or VM Scale Sets using IaaSAntimalware

Posted by Nilay Parikh and last modified on Sun Apr 16, 2017.

Microsoft Antimalware provides free real-time protection against viruses, spyware and other malicious software. The solution is built on the same antimalware platform as Microsoft Security Essentials, Forefront Endpoint Protection, System Center Endpoint Protection, Windows Intune and Windows Defender. Microsoft Antimalware is a single-agent malware protection for tenant environments.

Microsoft Antimalware for Azure Cloud Services and Virtual Machines is a detailed guide by Microsoft if you would like to explore about the Microsoft Antimalware. There are many ways to deploy Microsoft Antimalware to your Azure IaaS or Cloud Services infrastructure, but I would like to focus on following two,

IaaSAntimalware extension can be defined in resource manager template (virtualMachineScaleSets\properties\virtualMachineProfile\extensionProfile\extensions).

  • Using virtualMachineProfile ensures consistency across VM cluster.
  • Provisioning of new Virtual Machine or Service Fabric Node ensure the deployment and configuration of IaaSAntimalware.
  • You can roll-out configuration changes easily and consistently across a cluster.


Guide: Setup Operations Management Suite (OMS) with Azure Service Fabric

Posted by Nilay Parikh and last modified on Sun Apr 9, 2017.

Service Fabric would be a core tool in your computing arsenal for Microservices architecture, very popular among Microsoft and Azure enthusiast. I have covered Service Fabric extensively with in many blog posts. In this post, I would like to focus on Operational and Service Management aspect of the Azure Service Fabric.

Problem Definition

  • Microservices are highly distributed and likely high volume transaction infrastructure, how to efficiently manage an aspect of service management such as Operational Logging, Application Logging, Security Logging, Log Shipping & Aggregation and Log Analytics & Alerting.
  • Tracking Changes and System Updates effectively for vastly distributed logical and physical architecture.
  • Setup comprehensive Incident Management or Outage Tracking for distributed applications.
  • Covering for compliance around log retention and transactional tractability.
  • Segregating logs based on functions and organisational visibility, i.e. finance, legal.

These problems mentioned above are a very common scenario (for Service Fabric or Microservices implementation) at any enterprise scale and business critical Microservices implementation. Clearly, the challenge is the scale. You could be dealing with 100+ logical services and 25-30 machine cluster in typical high-end microservices environments, or even bigger.

Microsoft Operations Management Suite would be an excellent fit if you are in Azure (also if you are not). Let us try to evaluate OMS based on following the business value of IT operations and management criteria.

  • Cost Reduction
  • Reduce Risk (Security)
  • Visibility into IT Systems (through Application, Security and Availability)
  • Automation and Orchestration of IT Operations