As you know Azure is there in the market since long time, once it was known as Windows Azure. Being a public cloud platform, Azure spans over several data centers across the globe. Microsoft has invested several billion dollars while building Azure. You can write a application in any programming language for almost any platform including Unix and can host it in Azure, integrate it with your on-prem Organization data centers. You can scale these applications as needed and will be charged for your usage only. Azure is Self Service platform and Microsoft is continuously updating the back-end infrastructure with zero or minimum impact on your services or applications. It is NOT possible to list all offerings of Azure however we can try to cover some common offerings by type:
|Compute||Windows & Linux Virtual Machines, Scale Sets, Web Apps, Container Services & Container Registry|
|Networking||Virtual Network, Traffic Manager, Azure DNS, Content Delivery Network (CDN), Load Balancer, Application Gateway & Network Gateway|
|Storage||Storage, StorSimple, Backup Site Recovery & Data Lake Store|
|Databases||SQL Database, Cosmos DB, SQL Data warehouse & SQL Server stretch database|
|Security & Identity||Azure Active Directory, Active Directory Domain Services, Key Vault & Secure Center|
|Monitoring & Management||Automation, Application Insights, Operational Insights (OMS), Log analytics & Azure Resource Manager|
For a complete list of currently available services, software development kits (SDKs)/tools, and architecture in Microsoft Azure visit the following website.
Azure Stack Features
AzureStack can be thought of as Azure for the data center. Just like Azure, AzureStack features are also evolving day by day. Most key features of AzureStack are same as of Azure and some are additional to AzureStack.
|Compute||AzureStack allows to provision VMs of different types & sizes using AzureStack Portal and ability to connect them to a Virtual Network.|
|Networking||VPN Gateways, iDNS (ability to resolve external
addresses without requiring to know the IP address of the resource)
|Storage||Storage Account includes Table, Blobs, Ques & Files.|
|Azure Resource Manager Templates
||JSON based ARM templates are one of the key features in AzureStack. They provide you the ability to
deploy an application including all its dependencies (like Compute, Network, Storage, Active Directory, SQL, SharePoint etc…) in a single operation. You also can redeploy templates to update an application or service when required.To view and download the Azure Stack Resource Manager templates from GitHub, go to the following website.You can deploy templates by using the Azure Stack Portals, Windows PowerShell, Microsoft Visual Studio, or the Azure Command Line Interface (CLI).
|AzureStack Market Place
||This is a repository where tenants (DevOps) can obtain preconfigured resources (based on ARM Templates) to consume (like Services & Applications) made available by Cloud Operator.|
|Custom VM Images
||Custom VHD based VM Images could be provided through AzureStack Market place by cloud operator for DevOps, to ensure that virtual machines provisioned with Azure
Stack have the relevant software installed for an organizations compliance rules.
||In addition to Compute, Network, Storage Resource Providers, AzureStack also offers other providers like SQL Database & MySQL and many others to provide these databases as services.|
|Billing & Chargeback
||There is no billing system included in AzureStack however usage data (which is recorded and aggregated) can be exported to BI tools such as Microsoft Power BI for creating charge back reports.|
||This is Azure App Service (Azure Websites and Azure Mobile Services) which is ported on AzureStack. You can use this service to create cloud applications for both web and mobile clients.|
For further information about the key features and capabilities of Azure Stack, visit the following website.
So Azure or AzureStack or Both (Hybrid)
This could be tricky however knowing the key features of both Azure & AzureStack would help you in deciding (along with other factors) where to port your application. Azure is hosted in Microsoft data centers thus all the head-ache of managing underlying is shifted to Microsoft whereas AzureStack is hosted in your data center so it becomes your responsibility to keep it updated by all aspects. Azure has lot more features that are currently not available in newly launched AzureStack but this will be changed with the passage of time. Moreover, the update cycle for both Azure and Azure Stack is much more frequent compared to other Microsoft applications. Therefore, new features and capabilities will be included on a more regular basis.
To determine which product you should adopt, you should consider your requirements as a business and the types of services you need to provide to your end users or customers. Other factors affecting this decision could include:
• Cost: The cost of hosting Azure Stack in your datacenter as opposed to subscribing to the services offered in Azure.
• Time: The administrative overhead of managing and updating the Azure Stack infrastructure.
• Other factors: There may be any number of other factors that will affect your decision that relate specifically to your organization such as security, compliance, or latency.
In many cases, you might need to utilize both products to provide a true hybrid cloud platform as described earlier in this module. This model provides you the capability to offer specialized solutions hosted in your datacenter and the ability to utilize the Microsoft public cloud including all its benefits as discussed. So choose wisely but this is guaranteed that a true Hybrid Cloud environment can be achieved together with Azure & AzureStack if architected in a right way.