Tuesday, May 2, 2017


                                                   Windows Azure



SQL Azure:
Transact-SQL Features Supported on SQL Azure
• Constants
• Constraints
• Cursors
• Index management and rebuilding indexes
• Local temporary tables
• Reserved keywords
• Stored procedures
• Statistics management
• Transactions
• Triggers
• Tables, joins, and table variables
• Transact-SQL language elements such as
o Create/drop databases
o Create/alter/drop tables
o Create/alter/drop users and logins
o and so on.
• User-defined functions
• Views, including sys.synonyms view

Transact-SQL Features Unsupported on SQL Azure
• Common Language Runtime (CLR)
• Database file placement
• Database mirroring
• Distributed queries
• Distributed transactions
• File group management
• Global temporary tables
• Spatial data and indexes
• SQL Server configuration options
• SQL Server Service Broker
• System tables
• Trace Flags
Elastic DB (Scaling out)




Azure storages:
Azure Storage is massively scalable, to store and process hundreds of terabytes of data to support the big data scenarios required by scientific, financial analysis, and media applications.
Wherever your needs fall, you pay only for the data you’re storing.
Azure Storage currently stores tens of trillions of unique customer objects, and handles millions of requests per second on average.
Azure Storage uses an auto-partitioning system that automatically load-balances your data based on traffic
Azure Storage supports clients using a diverse set of operating systems (including Windows and Linux) and a variety of programming languages (including .NET, Java, Node.js, Python, Ruby, PHP and C++ and mobile programming languages) for convenient development.
Azure Storage also exposes data resources via simple REST APIs, which are available to any client capable of sending and receiving data via HTTP/HTTPS.
There are two types of storage accounts:
a)     General Purpose storage account:
A general-purpose storage account gives you access to Azure Storage services such as Tables, Queues, Files, Blobs and Azure virtual machine disks under a single account. This type of storage account has two performance tiers: Standard & Premium tiers
b)    Blob Storage account.

Blob storage accounts support only block and append blobs, and not page blobs.
A Blob storage account is a specialized storage account for storing your unstructured data as blobs (objects) in Azure Storage.
Blob storage accounts are similar to your existing general-purpose storage accounts and share all the great durability, availability, scalability, and performance features that you use today including 100% API consistency for block blobs and append blobs.
For applications requiring only block or append blob storage, we recommend using Blob storage accounts.

Blob storage accounts expose the Access Tier attribute which can be specified during account creation and modified later as needed. There are two types of access tiers that can be specified based on your data access pattern:
A Hot access tier which indicates that the objects in the storage account will be more frequently accessed. This allows you to store data at a lower access cost.
A Cool access tier which indicates that the objects in the storage account will be less frequently accessed. This allows you to store data at a lower data storage cost.
Following table highlights the comparison between the two storage tiers:
Hot storage tier
Cool storage tier
Availability
99.9%
99%
Availability
(RA-GRS reads)
99.99%
99.9%
Usage charges
Higher storage costs
Lower access and transaction costs
Lower storage costs
Higher access and transaction costs
Minimum object size
N/A
Minimum storage duration
N/A
Latency
(Time to first byte)
milliseconds
Scalability and performance targets
Same as general-purpose storage accounts


Replication:
Replication strategy
LRS
ZRS
GRS
RA-GRS
Data is replicated across multiple datacenters.
No
Yes
Yes
Yes
Data can be read from the secondary location as well as from the primary location.
No
No
No
Yes
Number of copies of data maintained on separate nodes.
3
3
6
6

Storage service encryption (SSE) is available only for ARM.
Blob Storage:
For storing large amounts of unstructured object data to store in the cloud, Blob storage offers a cost-effective and scalable solution.
A storage account can contain any number of containers, and a container can contain any number of blobs, up to the 500 TB capacity limit of the storage account.
Blob can store -
Ø  Documents
Ø  Social data such as photos, videos, music, and blogs
Ø  Backups of files, computers, databases, and devices
Ø  Images and text for web applications
Ø  Configuration data for cloud applications
Ø  Big data, such as logs and other large datasets
Blob storage offers three types of blobs, block blobs, append blobs, and page blobs (disks).
Block blobs are optimized for streaming and storing cloud objects, and are a good choice for storing documents, media files, backups etc.
Append blobs are similar to block blobs, but are optimized for append operations. An append blob can be updated only by adding a new block to the end. Append blobs are a good choice for scenarios such as logging, where new data needs to be written only to the end of the blob.
Page blobs are optimized for representing IaaS disks and supporting random writes, and may be up to 1 TB in size. An Azure virtual machine network attached IaaS disk is a VHD stored as a page blob.

Table Storage:
Azure Table storage is a service that stores structured NoSQL data in the cloud.
Table storage is a key/attribute store with a schema less design
Ø  Storing TBs of structured data capable of serving web scale applications
Ø  Storing datasets that don't require complex joins, foreign keys, or stored procedures and can be de normalized for fast access
Ø  Quickly querying data using a clustered index
Ø  Accessing data using the OData protocol and LINQ queries with WCF Data Service .NET Libraries
Queue Storage:
Azure Queue storage is a service for storing large numbers of messages that can be accessed from anywhere in the world via authenticated calls using HTTP or HTTPS. A single queue message can be up to 64 KB in size, and a queue can contain millions of messages, up to the total capacity limit of a storage account.+
Ø  Common uses of Queue storage include:
Ø  Creating a backlog of work to process asynchronously
Ø  Passing messages from an Azure web role to an Azure worker role

Storage Security:

·       Role-Based Access Control
·       Delegated access to storage objects
·       Encryption in transit
·       Encryption at rest/Storage Service Encryption
·       Azure Disk Encryption
·       Azure Key Vault

For reference:



Load balancing services in AZURE:
Microsoft Azure provides multiple services for managing how network traffic is distributed and load balanced. You can use these services individually or combine their methods, depending on your needs, to build the optimal solution.

Azure Traffic Manager:
·       Traffic Manager provides global DNS load balancing. It looks at incoming DNS requests and responds with a healthy endpoint, in accordance with the routing policy the customer has selected. Options for routing methods are:
o   Performance routing to send the requestor to the closest endpoint in terms of latency.
o   Priority routing to direct all traffic to an endpoint, with other endpoints as backup.
o   Weighted round-robin routing, which distributes traffic based on the weighting that is assigned to each endpoint.


Azure Load Balancer:
Application Gateway:
Application Gateway is useful for:
·       Applications that require requests from the same user/client session to reach the same back-end virtual machine. Examples of these applications would be shopping cart apps and web mail servers.
·       Applications that want to free web server farms from SSL termination overhead.
·       Applications, such as a content delivery network, that requires multiple HTTP requests on the same long-running TCP connection to be routed or load balanced to different back-end servers.
·       Applications that support web socket traffic
·       Protecting web applications from common web-based attacks like SQL injection, cross-site scripting attacks, and session hijacks.


The following table summarizes the features offered by each service:
Service
Azure Load Balancer
Application Gateway
Traffic Manager
Technology
Transport level (Layer 4)
Application level (Layer 7)
DNS level
Application protocols supported
Any
HTTP and HTTPS
Any (An HTTP endpoint is required for endpoint monitoring)
Endpoints
Azure VMs and Cloud Services role instances
Any Azure Internal IP address or public internet IP address
Azure VMs, Cloud Services, Azure Web Apps, and external endpoints
Vnet support
Can be used for both Internet facing and internal (Vnet) applications
Can be used for both Internet facing and internal (Vnet) applications
Only supports Internet-facing applications
Endpoint Monitoring
Supported via probes
Supported via probes
Supported via HTTP/HTTPS GET
Azure Load Balancer and Application Gateway route network traffic to endpoints but they have different usage scenarios to which traffic to handle. The following table helps understanding the difference between the two load balancers:
Type
Azure Load Balancer
Application Gateway
Protocols
UDP/TCP
HTTP/ HTTPS
IP reservation
Supported
Not supported
Load balancing mode
5-tuple(source IP, source port, destination IP, destination port, protocol type)
Round Robin
Routing based on URL
Load balancing mode (source IP /sticky sessions)
2-tuple (source IP and destination IP), 3-tuple (source IP, destination IP, and port). Can scale up or down based on the number of virtual machines
Cookie-based affinity
Routing based on URL
Health probes
Default: probe interval - 15 secs. Taken out of rotation: 2 Continuous failures. Supports user-defined probes
Idle probe interval 30 secs. Taken out after 5 consecutive live traffic failures or a single probe failure in idle mode. Supports user-defined probes
SSL offloading
Not supported
Supported


ARM vs ASM:

CICD with VSTF:


CLI (Command Line Utility) vs Power Shell:

The PowerShell cmdlets work only in PowerShell (on Windows machines). They're great for automating several concurrent tasks (i.e. scripting out an entire environment), or carrying out single tasks.
The command-line tools are cross platform tools (work on Windows, Linux, etc.) These are written in node.js. They're not as good for scripting multiple actions, but are great for developers that prefer the command line to execute tasks (instead of going to the Azure management portal).

Roles in Azure:

Azure provides the following four platform roles:
1.     Owner - can manage everything, including access
2.     Contributor - can manage everything except access
3.     Reader - can view everything, but can't make changes
4.     User Access Administrator - can manage user access to Azure resources

ARM:
Azure Resource Manager enables you to work with the resources in your solution as a group.
You can deploy, update, or delete all the resources for your solution in a single, coordinated operation. You use a template for deployment and that template can work for different environments such as testing, staging, and production.
Resource Manager provides security, auditing, and tagging features to help you manage your resources after deployment.
Tagging:
You apply tags to your Azure resources to logically organize them by categories.
Each tag consists of a key and a value. For example, you can apply the key "Environment" and the value "Production" to all the resources in production. Without this tag, you may have difficulty identifying whether a resource is intended for development, test, or production. However, "Environment" and "Production" are just examples. You define the keys and values that make the most sense for organizing your subscription.

Continuous integration in Visual Studio Team Services using Azure Resource Group deployment projects
VS with ARM:


Redis Caching:
Redis is an open source in memory data structure store, used as a database, cache and message broker.
Microsoft Azure Redis Cache is based on the popular open source Redis Cache.
 It gives you access to a secure, dedicated Redis cache, managed by Microsoft.
A cache created using Azure Redis Cache is accessible from any application within Microsoft Azure.
Azure CDN:
The Microsoft Azure Content Delivery Network (CDN) offers developers a global solution for delivering high-bandwidth content that is hosted in Azure or any other location.
Using the CDN, you can cache publicly available objects loaded from Azure blob storage, a web application, virtual machine, application folder, or other HTTP/HTTPS location.
The CDN cache can be held at strategic locations to provide maximum bandwidth for delivering content to users.
The CDN is typically used for delivering static content such as images, style sheets, documents, files, client-side scripts, and HTML pages.
You can also use the CDN as a cache for serving dynamic content, such as a PDF report or graph based on specified inputs; if the same input values are provided by different users the result should be the same.
The major advantages of using the CDN are lower latency and faster delivery of content to users irrespective of their geographical location in relation to the datacenter where the application is hosted.


The Azure Content Delivery Network (CDN) caches static web content at strategically placed locations to provide maximum throughput for delivering content to users. The CDN offers developers a global solution for delivering high-bandwidth content by caching the content at physical nodes across the world.
The benefits of using the CDN to cache web site assets include:
·       Better performance and user experience for end users, especially when using applications where multiple round-trips are required to load content.
·       Large scaling to better handle instantaneous high load, like at the start of a product launch event.
·       By distributing user requests and serving content from edge servers, less traffic is sent to the origin.

Azure Functions:
Azure Key Vault:
https://docs.microsoft.com/en-us/azure/key-vault/key-vault-whatis
Azure Key Vault helps safeguard cryptographic keys and secrets used by cloud applications and services. By using Key Vault, you can encrypt keys and secrets (such as authentication keys, storage account keys, data encryption keys, .PFX files, and passwords) by using keys that are protected by hardware security modules (HSMs).
For added assurance, you can import or generate keys in HSMs. If you choose to do this, Microsoft processes your keys in FIPS 140-2 Level 2 validated HSMs (hardware and firmware).
Key Vault streamlines the key management process and enables you to maintain control of keys that access and encrypt your data.
Developers can create keys for development and testing in minutes, and then seamlessly migrate them to production keys. Security administrators can grant (and revoke) permission to keys, as needed
Azure Batch - is a way to run parallel (typically compute intensive) HPC style job on the cloud. Batch pitches the value of parallel job running as a service so you don't worry about provisioning/managing large cluster. A typical scenario is, go encoding those 10K H.264 videos from 1080p to 720p - instead of spinning up 200 VMs you just configure the command line and specify the location of those 10k videos (blobs).
Azure Scheduler is a way to run recurring job at specified time. It's Windows Task Scheduler in cloud. For example, start a cloud service 8AM every weekday and shut it down at 6PM.
Azure Web Job is focusing on doing background job for Azure Website. It's working daemon web server farm in cloud. An example is - compress all images uploaded from the webpage.

ARM Linked Templates:


1.     Brief introduction about you?

2.     What are the azure features you have worked on?

3.     On deployment, what are the options are available in Azure and what are the different between them?
 Cloud service, App Service, VM Role, and Service Fabric.
·       Web Apps: Easy to deploy and manage, but no control on VM. It is very cheap.
·       Cloud service:  Some Control on VM but need some configuration in development. Compare to web app it is costly.
·       VM Role: Complete control on the VM and IIS. Need to take care of security risk and windows updates by developer and it is cost more.
·       Service Fabric: Micro services deployment and development.

4.     What are the Service Model in Cloud Computing?
PaaS, IaaS and SaaS

5.     For deployment which is batter between Cloud service and Web Apps, what are the difference between both?
Cloud service:  When need more control on sever like remote login, need to installed software in it and need to change or update configuration.
Web Apps: Easy to deploy and manage, but don’t have control on VMs.
6.     In which situation you would use PaaS and in which will use IaaS?
When it comes to IaaS, using an existing infrastructure on a pay-per-use scheme seems to be an obvious choice for companies saving on the cost of investing to acquire, manage and maintain an IT infrastructure. There are also instances where organizations turn to PaaS for the same reasons while also seeking to increase the speed of development on a ready-to-use platform to deploy applications.

7.     What is Azure fabric?
The Azure Fabric Controller functions as the kernel of the Azure operating system. It provisions, stores, delivers, monitors and commands the virtual machines (VMs) and physical servers that make up Azure.

8.     What is service fabric?
Azure Service Fabric is a distributed systems platform that makes it easy to package, deploy, and manage scalable and reliable microservices. Service Fabric also addresses the significant challenges in developing and managing cloud applications. Developers and administrators can avoid complex infrastructure problems and focus on implementing mission-critical, demanding workloads that are scalable, reliable, and manageable. Service Fabric represents the next-generation middleware platform for building and managing these enterprise-class, tier-1, cloud-scale applications.


9.     What are the advantages of using micro services?
a)     Easy to deploy
b)     Ability to use a different technology stack
c)     System resilience





10.  Is service fabric batter then Cloud service, and why?
Service Fabric itself is an application platform layer that runs on Windows or Linux, whereas Cloud Services is a system for deploying Azure-managed VMs with workloads attached. In Service Fabric, VMs are only deployed once to form a cluster that hosts the Service Fabric application platform

11.  Is service fabric is replacement of Cloud service?
No

12.  What are the component in Azure storage model?
Table, Queue, Blob and File.

13.  What is different between blob, queue, and table storage?
Blob: For storing Images, VHDs and Logging.
Table: For storing structured datasets.
Queue: For storing messages.

14.  How you implement security on blob?
Using shared access signature.


15.  Why are there two keys for blob storage?
To avoid downtime and security concern.

16.  Different between Azure table and Azure sql database?
Azure table stores structural but no relational data while SQL stores relational data.

NoSQL vs SQL diagram showing when to use NoSQL and when to use SQL. SQL vs NoSQL comparison 


17.  For handling logging in your application which .net inbuilt library you will be use?
Enterprise Library

18.  What is the service bus?
Cloud based messaging system for sending and receiving messages asynchronously.

19.  What are the components in service bus, and what is different between them?
Queues, Topics and Relays.

20.  What is the difference between storage queue and service bus queue?
Storage Queue: Order guarantee and delivery guarantee is less and each message size is limited to 64kb. Cost is less when compared with service bus queue.
Service Bus Queue: Order guarantee and delivery guarantee is more and each message size is limited to 256kb. Cost is more when compared with storage queue.

21.  How you will migrate an on premise database to Azure, and what are the challenges can be there?
Using SQL server Management studio and Using BACPAC and DACPAC also.
Migration tool also available to help in migrating DB to Azure.

22.  Explain relay?
Bi-directional communication between two secured environments. Easy to establish communication between on premises and cloud application where firewall is not allowing communication.


23.  Explain document DB in Azure?
Can store nonstructural data. We can store JSON and java script object directly so need to transform in .net object.

24.  Which is batter between Entity framework and ADO.NET and which scenario which will be batter?
EF sits on top of the ADO.NET, which tells us that it can’t be faster than ADO.NET. But remember the power of LINQ which EF provides the developers. It is really powerful when comes with EF. Since EF encapsulates ADO.NET at the background it used ADO.NET only, but the question comes why EF then?? Yes if we use EF and LINQ then the maintainability and code redundancy reduces as we do not have to write the big queries anymore like SP and all.

25.  Type of Entity framework?
Code First, Model First and DB First.

26.  What is Federation in SQL Azure?
SQL Azure federation provides tools that allow developers to scale out (by sharding) in SQL Azure. Here are some of the benefits of a sharded database: Taking advantage of greater resources within the cloud on demand. Allowing customers to have their own database, to share databases or to access many databases



27.  What is Text Analytics API?
The Text Analytics API is a suite of text analytics web services built with Azure Machine Learning. The API can be used to analyze unstructured text for tasks such as sentiment analysis, key phrase extraction, language detection and topic detection. No training data is needed to use this API: just bring your text data. This API uses advanced natural language processing techniques to deliver best in class predictions.


·       Sentiment - Is text positive or negative?
·       Key phrases - What are people discussing in a single article?
·       Topics - What are people discussing across many articles?
·       Languages - What language is text written in?



28.  What are the data synchronize services in Azure?
SQL Data Sync is a cloud-based data synchronization service built on Microsoft Sync Framework technologies. It provides single direction as well as bi-directional data synchronization and data management capabilities allowing data to be easily shared across Windows Azure SQL Databases across multiple data centers or between on-premises SQL Server databases and Windows Azure SQL databases.
These are the different scenarios for data synchronization using SQL Data Sync:
•Cloud (Windows Azure SQL Database) to cloud (Windows Azure SQL Database) synchronization
•Enterprise (SQL Server on-premises) to cloud (Windows Azure SQL Database)
•Cloud (Windows Azure SQL Database) to Enterprise (SQL Server on-premises)
•Bi-directional (changes made either on SQL Server or Windows Azure SQL Database are automatically synchronized back and forth) or sync-to-hub or sync-from-hub synchronization

29.  Different between structure and class?
A structure is a value type so it is stored on the stack, but a class is a reference type and is stored on the heap. A structure doesn't support inheritance, and polymorphism, but a class supports both. By default, all the struct members are public but class members are by default private in nature.

30.  What is the difference between heap and stack?
Stack is used for static memory allocation and Heap for dynamic memory allocation, both stored in the computer's RAM . Variables allocated on the stack are stored directly to the memory and access to this memory is very fast, and it's allocation is dealt with when the program is compiled.

31.  What is different between reference type and memory type?
Structs are initialized using the default constructor. See also the default keyword to initialize generic types without knowing whether they are simple data types or not. The object is stored on the heap, with each field having a bit of space, either the value for a value type, or the pointer for other types.

32.  What are client side scripts you have worked?

33.  What is internal interface?
While you can make the interface itself internal, the methods would still be part of the public API. What you can select to do is explicit interface implementation, so that the API defined by the interface is only visible via the interface, and not via the class.





1)     App Service:

Ø  Azure App Service is the best choice for most web apps.
Ø  Deployment and management are integrated into the platform, sites can scale quickly to handle high traffic loads, and the built-in load balancing and traffic manager provide high availability
Ø  You can move existing sites to Azure App Service easily with an online migration tool.

2)     Service Fabric:
Ø  Service Fabric is about deploying applications to existing VMs or machines running Service Fabric on Windows or Linux.
Ø  Service Fabric is a good choice if you’re creating a new app or re-writing an existing app to use a micro service architecture.
Ø  Apps, which run on a shared pool of machines, can start small and grow to massive scale with hundreds or thousands of machines as needed.
Ø  Stateful services make it easy to consistently and reliably store app state, and Service Fabric automatically manages service partitioning, scaling, and availability for you. Service Fabric also supports WebAPI with Open Web Interface for .NET (OWIN) and ASP.NET Core
3)     Cloud Service:
Ø  Cloud Services is about deploying applications as VMs.
Ø  The code you write is tightly coupled to a VM instance, such as a Web or Worker Role. To deploy a workload in Cloud Services is to deploy one or more VM instances that run the workload.
Ø  There is no separation of applications and VMs, and so there is no formal definition of an application.
Ø  An application can be thought of as a set of Web or Worker Role instances within a Cloud Services deployment or as an entire Cloud Services deployment.


Compared to App Service, Service Fabric also provides more control over, or direct access to, the underlying infrastructure. You can remote into your servers or configure server startup tasks. Cloud Services is similar to Service Fabric in degree of control versus ease of use, but it’s now a legacy service and Service Fabric is recommended for new development.

This diagram illustrates the level of control associated with all three of the Azure services we’ve been discussing:
Azure App Service


Service Fabric vs cloud service vs web apps vs VM role:

Deploying an application or an application update to a Cloud Service, or creating a VM, takes several minutes at least; deploying an application to a web app takes seconds.

Scale up to larger machines without redeploy using App Service (Web apps) and Service Fabric.

Web server instances share content and configuration, which means you don't have to redeploy or reconfigure as you scale for App Service (Web apps) and Service Fabric.

Micro service applications are composed of small, independently versioned, and scalable customer-focused services that communicate with each other over standard protocols with well-defined interfaces.

Cloud Design Patterns:



OWIN & Katana:


SOLID principles:



Impersonation:


OWIN and Katana:



OWIN defines a standard interface between .NET web servers and web applications. The goal of the OWIN interface is to decouple server and application, encourage the development of simple modules for .NET web development, and, by being an open standard, stimulate the open source ecosystem of .NET web development tools

MVC vs ASP.NET web forms:

Problem 1:- View based solution for Action based requirement
Problem 2:- Side effects of bad architecture: - Tight coupling
Problem 3:- HTML is not the only response type
Problem 4:- Flexible Combination of view and data
Problem 5:- Making behind code a normal class for unit testing

OAuth:

OAuth is a protocol that allows end users to give access to third party applications to access their resources stored on a server.

OpenID vs OAuth:
       OAuth
Used for delegated authorization only -- meaning you are authorizing a third-party service access to use personal data, without giving out a password. Also OAuth "sessions" generally live longer than user sessions. Meaning that OAuth is designed to allow authorization
I.e. Flickr uses OAuth to allow third-party services to post and edit a person’s picture on their behalf, without them having to give out their flicker username and password.
        

   OpenID
Used to authenticate single sign-on identity. All OpenID is supposed to do is allow an OpenID provider to prove that you say you are. However many sites use identity authentication to provide authorization (however the two can be separated out)
I.e. One shows their passport at the airport to authenticate (or prove) the person's whose name is on the ticket they are using is them.

In this article I want to show the differences between OpenID and its younger cousin OAuth by providing for each a typical user scenario.
First the scenario for OpenID:
  • User wants to access his account on example.com
  • example.com (the “Relying Party” in OpenID lingo) asks the user for his OpenID
  • User enters his OpenID
  • example.com redirects the user to his OpenID provider
  • User authenticates himself to the OpenID provider
  • OpenID provider redirects the user back to example.com
  • example.com allows the user to access his account
And now the scenario for OAuth:
  • User is on example.com and wants to import his contacts from mycontacts.com
  • example.com (the “Consumer” in OAuth lingo) redirects the user to mycontacts.com (the “Service Provider”)
  • User authenticates himself to mycontacts.com (which can happen by using OpenID)
  • mycontacts.com asks the user whether he wants to authorize example.com to access his contacts
  • User makes his choice
  • mycontacts.com redirects the user back to example.com
  • example.com retrieves the contacts from mycontacts.com
  • example.com informs the user that the import was successful
From those scenarios we can see that OpenID is about authentication (i.e. I can identify myself with an url) whereas OAuth is about authorization (i.e. I can grant permission to access my data on some website to another website, without providing this website the authentication information for the original website).
I hope this helps to keep apart those two standards :)


Azure Functions:
Azure PS deployment script:

All scripts reference:


Cloud service:

Web app:

Deploying from ARM:
Creating templates:

Deployment slots:
Staging publish webapp:
Create and deploy custom template from ARM portal:
PS deploy ARM templates:
Stack overflow: All ARM related articles.


CI with VS:





Azure PS scripts for ARM: Script Center