In this series, we will discuss about Microsoft Cloud Application Architecture and common cloud computing patterns to make application resilient and scalable.
We will be using Asp.net MVC as our framework for applicable examples and Azure as cloud services provider.
If you are new to azure development, check out Getting Started Azure development guide.
If you do not know where to start, please check my blog post, which covers detail about getting subscription and setting up. In this series, we assume that you already have active Azure subscription and Visual Studio 2013 or later installed on your system.
Since we are using Microsoft Azure cloud as cloud services provider, let us discuss the type of services azure provide us. First, we will discuss usual broad categories of services and then we will move to Azure specific services types. We can divide Microsoft Azure services into 3 broad categories such as below:
- Infrastructure as a Service
- Platform as a Service
Software as a Service
Infrastructure as a Service
This is the basic providing of any cloud services provider; it is renting the IT Infrastructure for your use, it includes compute resources such as VMs for windows, Linux etc. Storage to store data, network resources such VPN etc. You have full control over the resources and it is your responsibility to apply the patches and do maintenance, although Microsoft provide you Service Level Agreement and guarantees the up time of the resources. You will mostly pay for resources you use with respect to time or number of unit consumed, and is usually called Pay as you go model, which we will discuss in detail later on in this series.
All these resources enable you to do what we call as lift and shift migration, you only need is to migrate all resources to cloud as it is. Infrastructure is the main building block and enable even cloud providers to provide as Paas, Saas and other services, which we look at next.
Platform as a Service
Every Cloud resource provider services, which enable developers to quickly deliver services/solutions without need to manage the underlying infrastructure such as VM, storage, network. These providing are usually can be acquired on demand and can scale as your solution demand more resources. Payment model for these is the same as pay as you go or some time unit of consumption.
Software as a Service
In software as a service, usually vendors use cloud-computing provider’s services to develop solutions and expose their services as software. End users (you) of services do not need to worry about anything related to under lying infrastructure or to manage any resources, users just use the services over the internet using browser and payment method is usually subscription based. Office365 is a good example of Saas.
Now once we have passed the board categories discussion, let us move to exciting part of the services available to us on Microsoft Azure.
Microsoft Azure Cloud Services
Microsoft Azure Cloud provide a whole bunch of Cloud Services, some are listed below, and as the list is keep growing, we will keep adding them to the list.
|Compute||Networking||Storage||Web + Mobile||Containers||Databases||Analytics|
|Virtual Machine||Content Delivery Network||StorSimple||App Service||App Service||SQL Database||HDInsight|
|Functions||Azure DNS||Data Lake Store||Notification Hubs||Container Registry||SQL Data warehouse||Apache Strom for HDInsight|
|Container Instances||Traffic Manager||Disk Storage||Logic Apps||Service Fabric||SQL Server Stretch Database||SQL Data Warehouse|
|Virtual Machine Scale Set||VPN Gateway||Queue Storage||Live and On-Demand Streaming||Batch||Azure Database for PostgreSQL||Event Hubs|
|Cloud Services||Azure DDoS Protection||Backup||Content Protection||Container Instances||Azure Database Migration Service||Log Analytics|
|Windows Virtual Machine||ExpressRoute||Site recovery||Web Apps||Azure Container Service (AKS)||Azure Cosmos DB||Data Lake Store|
|SAP Hana on Azure Large Instances||Virtual Network||Blob storage||API Apps||Redis Cache||Azure Analysis Services|
|Batch||Load Balancer||Managed Disks||API Management||Table Storage||Power BI Embedded|
|Service Fabric||Application Gateway||File Storage||Media Services||Azure Database for MySQL||Apache Spark for Azure HDInsight|
|Azure Container Service (AKS)||Network watcher||Azure Search||R Server for HDInsight|
|Linux Virtual Machines||Encoding||Stream Analytics|
|SQL Server on Virtual Machines||Azure Media Player||Data Factory|
|Azure Media Indexer||Data Catalog|
|Mobile Apps||Data Lake Analytics|
|Media Analytics||Azure databricks|
|Content Delivery Network|
|AI + Machine Learning||Internet of things||Integration Services||Security and Identity||Developer Tools||Management Tools|
|Machine Learning Studio||Cognitive Services||Azure Cosmos DB||StorSimple||Azure Active Directory||Visual Studio Team Services||Backup||Automation and Control|
|Azure Bot Service||Text Analytics API||Machine Learning Studio||Data Factory||Azure Information Protection||Application Insights||Application Insights||Network Watcher|
|Academic Knowledge API||Computer Vision API||Event Hubs||Data Catalog||Key Vault||Hockey App||Scheduler||Microsoft Azure Portal|
|Content Moderator||Emotion API||Logic Apps||Logic Apps||Security Center||API Management||Log Analytics||Cloud shell|
|Face API||Bing Speech API||Time Series Insights||API Management||Multi-Factor Authentication||Azure DevTest Labs||Azure Monitor||Azure Policy|
|Web Language Model API||Language Understanding ( LUIS )||IoT Edge||Service Bus||Azure Active Directory Domain Services||Visual Studio App Centre||Protection and Recovery||Azure Management Applications|
|Speaker Recognition API||Custom Speech Service||IoT Hub||SQL Server Stretch Database||Azure Active Directory B2C||Insight and Analytics|
|Bing Auto suggest||Bing Spell Check API||Stream Analytics||Event Grid||Azure Service health|
|Translator Speech API||Translator Text API||Notification Hubs||Azure Resource Manager|
|Bing Custom Search API||Bing Entity Search API||IoT Suite||Azure Mobile App|
|Bing Web Search API||Bing Video Search API||Event Grid||Cost Management|
|Bing Image Search API||Bing News Search API||Azure Location Based Services||Azure Migrate|
|Custom Decision Services||QnA Marker API||Blockchain||Site Recovery|
|Knowledge Exploration Service||Entity Linking Intelligence API||Azure Advisor|
|Microsoft Genomics||Video Indexer||Automation|
|Linguistic Analysis API||Azure Batch AI||Traffic Manager|
|Custom Vision Service||Machine Learning Services||Security and Compliance|
I know it is long list; and some items are duplicated as well under some headings, unbelievably, we are going to cover every one of the items listed above, and will discuss common cloud patterns for each item. As we go, we will keep adding the Icons for each discussed item, when a relative item’s post published on this site.
We are going to group some items in an implementation to cover real world scenarios and best practices as well as common cloud patterns while development, related source code will be available through GitHub.
This will be long and exciting journey, I hope you are ready, because we are about to get started.