<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Niall's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/niallsblog/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/niallsblog/feed.xml</link>
    <description>Niall Moran | Technical Evangelist @ Microsoft Ireland | @niallermoran</description>
    <lastBuildDate>Tue, 16 Apr 2019 05:23:08 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Get Free Open Source Tools from Bitnami on Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/bitnami</link>
      <pubDate>Mon, 04 Jul 2016 15:34:50 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/?p=546</guid>
      <description><![CDATA[Bitnami is quickly becoming the trusted source for secure and up to date server based apps. Bitnami...]]></description>
      <content:encoded><![CDATA[<a href="https://bitnami.com/learn_more">Bitnami </a>is quickly becoming the trusted source for secure and up to date server based apps. Bitnami essentially offer an app store for open source apps that can run anywhere: on premise, as containers or in the public cloud. Bitnami ensure images are patched and up to date so they can be trusted. They are also fully packaged with all required libraries so they are ready to run, and even better they do this for hundreds of apps and are available via the Azure marketplace at no extra cost over and above your VM.

Here is a breakdown of just some of the apps that you can get from Bitnami via the Azure marketplace, but for a complete list, <a href="https://azure.microsoft.com/en-us/marketplace/virtual-machines/all/?term=bitnami">click here:</a>
<h1><strong>Business Applications</strong></h1>

<hr />

<table>
<tbody>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131008625850642470.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/seopanel/">SEO Panel </a>is open source SEO management software, with an automated dashboard that makes tracking SEO metrics on multiple websites simple.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131012975828627732.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/civicrm/">CiviCRM </a>is an open source constituent relationship management solution designed specifically to meet the needs of advocacy, non-profit and non-governmental groups. Bitnami has integrated CiviCRM with the Drupal content management system.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131008696159979350.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/sugarcrm/">SugarCRM </a>is a flexible customer relationship management solution that can easily be customized and integrated with other software. It includes sales force automation, marketing campaigns, support cases, and more.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131003527732573475.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/erpnext/">ERPNext</a> is an open source, web based application that helps small and medium sized business manage their accounting, inventory, sales, purchase, administration, project, customer support and website.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131005949558492427.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/jasperreports/">JasperReports</a> Server is a stand-alone and embeddable reporting server. It provides reporting and analytics that can be embedded into a web or mobile application as well as operate as a central information hub for the enterprise.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-130995801223658553.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/moodle/">Moodle</a> is a Course Management System that is designed using sound pedagogical principles to help educators create effective online learning communities. It can scale from one computer to a 50,000-student university and is used in over 175 countries.</td>
</tr>
</tbody>
</table>
<h1><strong>Web Content Management and eCommerce Solutions</strong></h1>

<hr />

<table>
<tbody>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131006082671847169.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/magento/">Magento</a> is a feature-rich flexible e-commerce solution. It includes transaction options, multi-store functionality, loyalty programs, product categorization and shopper filtering, promotion rules, and more.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-130995660697359880.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/drupal/">Drupal</a> is a content management platform that allows users to easily publish, manage and organize content. It is used for community web portals, discussion sites, corporate web sites and more. It is easy to extend by plugging in modules.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131012938343271013.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/alfrescocommunity/">Alfresco Community</a> is an Enterprise Content Management (ECM) system featuring document management, web content management, collaboration management, records management and image management.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131074164231916858.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/joomla/" target="_blank">Joomla</a>! is an award-winning content management system that can be used to build personal/corporate websites or portals, small business websites, non-profit and organizational websites.</td>
</tr>
<tr>
<td style="width: 150px"><img class="alignleft" src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-130804076682126947.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/wordpress/">WordPress</a> is a popular blogging software and powers more than 10% of all websites globally. Thousands of free and commercial themes and plugins are available to extend and personalize WordPress for just about every situation</td>
</tr>
</tbody>
</table>
<h1><strong>Developer Tools</strong></h1>

<hr />

<table>
<tbody>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131000049066223862.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/activemq/">Apache ActiveMQ</a> is an open source message broker written in Java together with a full Java Message Service (JMS) client.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-130919109215813923.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/dreamfactory/">DreamFactory</a> is a popular open source REST API platform for mobile enterprise application developers. DreamFactory enables developers to quickly connect any SQL or NoSQL database or File Storage system to any tablet, phone, or other device with a comprehensive palette of RESTful services.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131020803825887672.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/elastic-search/">Bitnami Elasticsearch Stack is a pre-configured</a>, ready to run image for running Elasticsearch on Microsoft Azure. Flexible and powerful open source, distributed real-time search and analytics engine.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131002650210028993.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/gitlab/">GitLab</a> is self-hosted Git management software that is fast, secure, and based on Ruby on Rails. GitLab CI (also included) is an open-source Continuous Integration (CI) server closely integrated with Git and GitLab.</td>
</tr>
<tr>
<td style="width: 150px"><img src="https://prodpublishingstorage.blob.core.windows.net/a1d008db-13fa-472d-8cb8-7c2e26601ffc/logo-131013813793572990.png" alt="" /></td>
<td style="padding-left: 0px"><a href="https://azure.microsoft.com/en-us/marketplace/partners/bitnami/jenkins/">Jenkins CI</a> is an open source continuous integration server. It supports multiple SCM tools including CVS, Subversion and Git. It can execute Apache Ant and Apache Maven-based projects as well as arbitrary scripts. This version of Jenkins includes a preconfigured Windows Azure Storage plugin that allows you to manage artefact storage in Windows Azure Blob objects.</td>
</tr>
</tbody>
</table>

<hr />

<a href="https://azure.microsoft.com/en-us/marketplace/virtual-machines/all/?term=bitnami">And there are many more ...</a>]]></content:encoded>
    </item>
    <item>
      <title>Getting Started with Infrastructure Services on Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/iaas</link>
      <pubDate>Mon, 04 Jul 2016 12:18:39 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/?p=495</guid>
      <description><![CDATA[One of the benefits of building your application on Azure Infrastructure services is that you can...]]></description>
      <content:encoded><![CDATA[One of the benefits of building your application on Azure Infrastructure services is that you can completely control your virtual machines, so it's much easier to lift and shift an application you have deployed elsewhere or if you are deploying an application that requires components not available on Azure App Service. It is important, however, that you understand how best to deploy your virtual machines so you have a secure and highly available infrastructure. During this blog post I will deploy a simple WordPress site and demonstrate how to secure this infrastructure using Virtual Networks as well as discuss high availability options.
<h1>First, Some Theory</h1>
Before we jump straight in let me explain a couple of concepts that you really need to understand before working with Azure Infrastructure Services.
<h2>Always Start with a Virtual Network</h2>
It is possible to jump straight into Azure and spin up a VM. You will be able to select from a wide range of Images, both Microsoft and Third Party, and define the size of VM, depending on it's function and if you need high memory or processing power. Check out this <a href="https://azure.microsoft.com/en-gb/documentation/articles/virtual-machines-windows-sizes/" target="_blank">document </a>on all of the different VM sizes available and <a href="https://azure.microsoft.com/en-us/marketplace/virtual-machines/all/" target="_blank">this one</a> for the types of VM images you can create. However, if you want to separate the tiers of your application, e.g. application and database tiers, into separate subnets and control access between, or if you want to completely block public access to a range of virtual machines, then you really need to start with a virtual network. Actually, I would say, always start with a Virtual Network as you never know when you will need it and it costs you nothing to use it. In fact, now whenever you create a VM a new Vnet will be created for you, so it's just good practise.
<h2>Understand Availability Sets</h2>
The fact is that there are situations where your virtual machines may be rebooted, and this could be during planned or unplanned maintenance. Obviously, this scenario is avoided as much as possible using live migration where appropriate and you may never actually experience it, but if you are planning for high availability then you should design with this in mind. Start by fully understanding our <a href="https://azure.microsoft.com/en-gb/documentation/articles/virtual-machines-windows-planned-maintenance/" target="_blank">planned and unplanned maintenance policies for virtual machines</a>.

To achieve high availability and a service level agreement you must place your VMs in an availability set. This will allow you to spread your VMs across fault and update domains. Fault domains are separate facilities within a region that have separate power and networking and are highly unlikely to fail at the same time and update domains are stamps within the data centre that are updated in turn, so no two stamps are updated at the same time. By spreading your VMs across update and fault domains you can survive both planned and unplanned maintenance as well as achieve an SLA of 99.95% uptime. Because VMs within an availability set may be rebooted during maintenance (always leaving at least one running) then there is no point mixing roles within an availability set. That is, don't place an app server and a database server in the same availability set, instead create two availability sets, one for your app servers and one for your database servers. You should also note that Microsoft have no knowledge of what is running inside your VM, that's the benefit of control you have, so it is up to you to ensure your application or database can work this way, i.e. that your application is stateless or stores its state in a central location and that your database is replicated across VMs.

You should also be aware that having a VM without an availability set is perfectly supported and this is a useful scenario if you manage your application availability some other way (e.g. with a cache or queuing mechanism) or if the VM is not running a critical workload. In this scenario if we need to reboot your VM you will get a one week email notification. So make sure your Azure account email address is monitored.
<h1>Creating the Infrastructure</h1>
In the following steps I will create a virtual network with two subnets, one for our web servers (Wordpress) and another for a database server. In the app subnet I will create an availability set with two VMs and show how to setup load balancing between them.
<h2>Create a Resource Group and Virtual Network</h2>
All of the steps below will be taken with the new portal at portal.azure.com.
<ol>
	<li>Start by creating a new Resource Group. On the left menu click Browse-&gt;Resource Groups-&gt; New.  We will place all of our resources into this resource group. Doing this allows us to control everything within our app, like apply access rights, tear down the entire application or export the template for future deployments.</li>
	<li>Next create a new Virtual Network (VNet). Browse-&gt; Virtual Networks-&gt; New. Change the subnet to appsubnet and select the resource group created earlier. I always change the address range to 10.1.1.0/24 so that my web servers have an IP address of 10.1.1.x making it easy to identify them. In the next step we will create a subnet for the database tier with the range 10.1.2.x. <a href="https://msdnshared.blob.core.windows.net/media/2016/07/vnet.png"><img class="size-medium wp-image-505 aligncenter" src="https://msdnshared.blob.core.windows.net/media/2016/07/vnet-153x300.png" alt="vnet" width="153" height="300" /></a></li>
	<li>Browse to the VNet just created and then click settings and then subnets. Create a subnet called dbsubnet with the address range 10.1.2.0/24.<a href="https://msdnshared.blob.core.windows.net/media/2016/07/subnet.png"><img class="size-medium wp-image-515 aligncenter" src="https://msdnshared.blob.core.windows.net/media/2016/07/subnet-300x214.png" alt="subnet" width="300" height="214" /></a></li>
</ol>
<h2>Creating the WordPress Virtual Machines</h2>
Next we will create two WordPress VMs and place them in our appsubnet.
<ol>
	<li>On the left menu click 'New' and type BitNami Wordpress into the search bar and press return. This is a free pre-packaged image with WordPress installed and configured. On the screen that follows click the WordPress image and then click create.</li>
	<li>Enter a name and access details for the VM. Make sure to select the resource group you created earlier and the data centre region you would like to place the VM in.<a href="https://msdnshared.blob.core.windows.net/media/2016/07/wordpress1.png"><img class="size-medium wp-image-516 aligncenter" src="https://msdnshared.blob.core.windows.net/media/2016/07/wordpress1-300x291.png" alt="wordpress1" width="300" height="291" /></a></li>
	<li>Click OK and select an appropriate instance size. Make sure to choose a standard type rather than Basic so that you can take advantage of load balancing. For example, A1.</li>
	<li>On the settings page, choose standard storage and select the VNet and appsubnet created earlier. The VM will be assigned an internal IP based on the subnet range defined. It will also be assigned a public IP address which we don't want, so click on public IP address and select none.</li>
	<li>Click on the Network Security Group settings and notice the rules that have been setup. For now accept the defaults.</li>
	<li>Finally click on the Availability Set settings and enter a new availability set and enter 2 for both fault and update domains. You can of course choose more if required.<a href="https://msdnshared.blob.core.windows.net/media/2016/07/wordpress1net.png"><img class="size-medium wp-image-525 aligncenter" src="https://msdnshared.blob.core.windows.net/media/2016/07/wordpress1net-136x300.png" alt="wordpress1net" width="136" height="300" /></a></li>
	<li>Click OK twice and then purchase. You are presented with this screen as you selected a third party VM image, however, there is no cost to this.</li>
	<li>Repeat the above procedure for a second WordPress VM accept select the availability set just created.</li>
	<li>Now click Browse -&gt; Load Balancers -&gt; Add and create a new load balancer with a public IP address. Here you have the option to name the IP address but you must use a Microsoft owned IP rather than bring your own. Select static if you would like to keep this IP reserved even if this load balancer is deleted. You may want to do this if you want to use an A record to point your domain name to this site. Make note of this IP address as this will be used to access your WordPress site.<a href="https://msdnshared.blob.core.windows.net/media/2016/07/loadbalancer.png"><img class="size-medium wp-image-526 aligncenter" src="https://msdnshared.blob.core.windows.net/media/2016/07/loadbalancer-164x300.png" alt="loadbalancer" width="164" height="300" /></a></li>
	<li>Now browse to the load balancer just created and click on Backend Pools and click add.</li>
	<li>Enter a name for the WordPress VM pool that this load balancer will manage. Then click add virtual machine and use the availability set method to add both VMs created earlier to the pool.<a href="https://msdnshared.blob.core.windows.net/media/2016/07/vmpool.png"><img class="size-medium wp-image-535 aligncenter" src="https://msdnshared.blob.core.windows.net/media/2016/07/vmpool-300x208.png" alt="vmpool" width="300" height="208" /></a></li>
	<li>Once the pool has been created browse to the load balancer and select probes. The probe is used by the load balancer to determine if a VM is healthy and should receive requests. Add a probe called http for port 80.</li>
	<li>Now create a load balancer rule for the load balancer, again called http, for port 80 and select the probe just created.</li>
	<li>You now should be able to navigate to your WordPress site by entering the public IP address from step 9 above. Navigate to /admin and login with user and bitnami to mange the site.</li>
</ol>
The above steps show you the basics of creating virtual machines within an availability set and a virtual network. Below I list some of the other steps you would need to take to get the highly available site fully up and running, including building a database backend and pointing your new WordPress site at it.
<h1>Next Steps</h1>
<ol>
	<li>Deploy a Bitnami MySQL VMs into the DBSubnet in a similar fashion to above. You can deploy two or three and create a replication cluster but this will require knowledge of setting up a MySQL cluster.</li>
	<li>You will need to reset the WordPress configuration to point to your new database in step 1 above.</li>
</ol>]]></content:encoded>
    </item>
    <item>
      <title>How to Secure Your Customers' Data in Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/how-to-secure-your-customers-data-in-azure</link>
      <pubDate>Wed, 20 Jan 2016 06:24:00 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/2016/01/20/how-to-secure-your-customers-data-in-azure/</guid>
      <description><![CDATA[One of the great benefits of hosting your application or website&nbsp;on Microsoft Azure is the...]]></description>
      <content:encoded><![CDATA[<p>One of the great benefits of hosting your application or website&nbsp;on Microsoft Azure is the ability to leverage Microsoft's investments in security and data protection. Microsoft embed security best practices into every layer of Azure from development techniques to intrusion detection and prevention and distributed denial of service attack (DDOS)&nbsp;mitigation. Leveraging this makes sense as it takes a lot of the overhead away from you compared to what you would need to do within your own data centre. Don't just take my word for it either, we have tonnes of independent certifications to prove it,&nbsp;<a href="https://azure.microsoft.com/en-us/support/trust-center/security/" target="_blank">click here to find more information in our Trust centre</a>.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6746.trust.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6746.trust.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6746.trust.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6746.trust.PNG" alt="" border="0" /></a></p>
<p>The reality is, however, that securing your customers' data is a joint responsibility between you and Microsoft. We secure the platform and you use the platform in a secure and responsible way. One way of doing this is to secure your Azure virtual networks as well as the applications within them.</p>
<h2>Securing Your Azure Network and Applications</h2>
<p>Unfortunately there are people out there that like to exploit websites and steal your data, or worse, your customers' data. If your website is an eCommerce site and processes credit card details this is especially problematic but any personally identifiable data you process should be protected. Notice also that I use the word process and not store. Some people think they only need to worry about security if they are storing sensitive data and an SSL certificate is all that is needed to protect data in transit or being processed. This is not the case, in fact, the first place hackers will look to compromise your data is the public endpoints to the data and that means your website. So it is crucial that your site is protected. The following tutorial will show you how to setup your networking in Azure and make sure it is secure. We will use the Azure Security Centre to ensure we have no risks and we will deploy a Barracuda web application firewall to act as a reverse proxy and monitor all traffic coming from the web. Barracuda WAF will allow us to detect, contain and respond to web application threats, such as SQL injection, distributed denial of service, cross-site scripting and more,</p>
<p>The steps we will follow are as follows:</p>
<ol>
<li>Create a virtual network (VNet) in Azure. This VNet will host all of the virtual machines (VM) we need. We will create the VNet using the new Azure Resource Manager model and create everything within a single resource group so we can manage all resources as one collection. If you do decide to architect for HA or DR then you can place resources from different data centers in a single resource group too, but that is beyond the scope of this post.</li>
<li>Create subnets within our VNet to seperate the tiers of our application. We will create a subnet for a DMZ or Perimiter Network and a subnet for our application tier. We will just create two subnets for simplicity but you may want to create another for the Data tier. You may also decide to use Hybrid Connections or a VPN to keep your data tier in a different data centre. These are all options but for simplicity we will just create two tiers, one for our&nbsp;website and one for our application protection where we will deploy our Barracuda WEB Application firewall (WAF).</li>
<li>Deploy two VMs into the relevant subnets. As part of this we will create a single network interface for each VM and the appropriate security configurations and IP addresses.</li>
<li>We will configure our Barracuda WAF to allow public access to the eCommerce site. Traffic from the internet will not be allowed hit the eCommerce site directly but only through the WAF giving us application protection from DDOS, SQL injection, cross-site scripting and other application level attacks.</li>
</ol>
<h1><span>The following steps can be carried out using the new portal or Powershell. For this post I will focus on the new Portal only.</span></h1>
<h2>Create a Resource Group</h2>
<p>Start by creating a new Resource Group which will logically group all of your resources. The benefit of using a resource group I have found is that I can quickly tear down all of my demo resources. From an operational perspective the major benefit is that you can assign role based access rights to everything within the resource group. For example, you may allow developers access to configure VMs but not the virtual network and an IT admin to configure the network but not access the VMs within it. This is a very powerful capability when it comes to governing the use of your cloud resources. From the left menu click resource groups and then click add. Give the resource group a name, e.g. DemoRG, select a region&nbsp;and click create. Resources from different regions can be added to a resource group but the region you select here will be used as the default.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6266.newrg.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6266.newrg.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6266.newrg.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6266.newrg.PNG" alt="" border="0" /></a></p>
<div>&nbsp;</div>
<div>&nbsp;</div>
<h2>Create a Virtual Network</h2>
<div>This step will create a Virtual Network (VNet) with one subnet, our application subnet. This is where we will create our application VMs later.</div>
<ul>
<li>On your left menu click Browse-&gt;Virtual networks and then Add.</li>
<li>Give the Vnet a name, e.g. Demo-vnet and then&nbsp;give the subnet a&nbsp;name, e.g. App-Subnet.</li>
<li>You can leave the Address Space and&nbsp;default subnet IP address range with their default values&nbsp;but I always like to change the subnet to 10.1.1.0/24 so that I can easily distinguish between VMs created in the app subnet and others. Also, make sure to select the resource group created in the first step.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6170.vnet.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6170.vnet.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6170.vnet.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6170.vnet.PNG" alt="" border="0" /></a></p>
<h2>Create the DMZ Subnet</h2>
<div>A DMZ is a&nbsp;subnet within the network that can be accessed from the internet. All public access will go through the DMZ and no public access will be allowed to the App subnet created in the previous step.</div>
<ul>
<li>On the left menu click Browse-&gt;Virtual Networks and select the Vnet just created.</li>
<li>In the settings blade click on subnets and the click Add.</li>
<li>Enter DMZ-subnet for the name and 10.1.2.0/24 for the IP range.</li>
</ul>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/8715.dmz.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/8715.dmz.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/8715.dmz.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/8715.dmz.PNG" alt="" border="0" /></a></p>
<h2>Create the Wordpress Virtual Machine</h2>
<div>For the sake of this demo I will create a Wordpress site using a Virtual Machine running Docker with two containers, one for MySQL and one for the Wordpress application. This is actually very simple as there is a preconfigured VM in the marketplace.</div>
<div>
<ul>
<li>In the portal click New and in the search box type WordPress and press return. Or click Compute -&gt; See All and then search for Wordpress</li>
</ul>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/4721.wordpress.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/4721.wordpress.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/4721.wordpress.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/4721.wordpress.PNG" alt="" border="0" /></a></div>
<ul>
<li>You will notice a number of results for Wordpress, from a scalable web app option to offerings from Bitnami and Docker. For this demo select the Wordpress + MySQL with Docker option and on the blade that follows click create, making sure the deployment model is set to resource manager.</li>
<li>On the next blade enter the relevant information and make sure to select our demo resource group. I typically at this point name my VMs with vm at the end of the name, e.g. demo-wp-vm. This becomes very handy later on when trying to identify the type of any particular resource. Click OK.</li>
<li>On the next blade select the instance size. The&nbsp;options showing are the recommended instance sizes for WordPress, but if you want to see a full list just click the 'view all' link beside recommended.</li>
<li>The next blade allows you to select the networking options and is very important.</li>
<ol>
<li>Make sure to select the VNet created earlier.</li>
<li>Select the app-subnet. This will ensure the VM is placed in the app subnet.</li>
<li>For this website we do not want a public IP address. This is important as we will never expose this VM to the internet. So select the public IP address and on the blade that follows click none. Leave availability set blank as we will not deal with high availability in this post.&nbsp;</li>
</ol></ul>
<h2>Create the Barracuda Virtual Machine</h2>
<p>Creating the Barracuda VM is very similar to creating the Wordpress VM except we will choose the Barracuda WAF marketplace appliance and we will define an IP address.</p>
<ul>
<li>In the portal click New and in the search box type Barracuda WAF and press return. Or click Compute -&gt; See All and then search for Barracuda WAF.</li>
</ul>
<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/7750.barracudasearch.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/7750.barracudasearch.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/7750.barracudasearch.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/7750.barracudasearch.PNG" alt="" border="0" /></a><br />
<ul>
<li>You will notice two results for Barracuda. These results define the licensing model that Barracuda use to sell their solution. For the purposes of this demo select the BYOL option and we will use a trial license to get up and running. This trial will last for 30 days and give you plenty of time to monitor traffic to the Wordpress site. The hourly option is a great option if you decide to use the Barracuda appliance in production and would like to rent the license. In this scenario you will be charged for the Barracuda license on a monthly basis as overage on your Azure bill. <a href="https://azure.microsoft.com/en-us/marketplace/partners/barracudanetworks/waf/">More details here.</a></li>
<li><span><strong>On the next blade change the deployment model to Resource Manager, the default will be classic.</strong></span></li>
<li>On the next blade enter the relevant information and make sure to select our demo resource group. I typically at this point name my VMs with vm at the end of the name, e.g. demo-waf-vm. This becomes very handy later on when trying to identify the type of any particular resource. Click OK.</li>
<li>On the next blade select the instance size. The&nbsp;options showing are the recommended instance sizes for Barracuda, but if you want to see a full list just click the 'view all' link beside recommended.</li>
<li>The next blade allows you to select the networking options and is very important.</li>
<ul>
<li>Make sure to select the VNet created earlier.</li>
<li>Select the dmz-subnet. This will ensure the VM is placed in the dmz subnet.</li>
<li>For this website we do want a public IP address. This is important as we will expose this VM to the internet. So select the public IP address and on the blade that follows add IP to the end of the name, e.g. demo-waf-vm-ip and click OK. Again this makes it very simple to identify the type of your resources later on.</li>
<li>A network security group is defined at this point for the VM. The NSG is used to define inbound and outbound rules to the default network interface on this VM. Click the NSG and change the name by adding NSG to the end, e.g. demo-waf-vm-nsg. In this blade you will notice the rules that have been setup.</li>
<ul>
<li>The first rule allows access to anybody on port 8000. This is the port used for the admin interface for Barrcuda. It is a good idea to restrict this access to specific IP addresses, so I would suggest clicking CIDR block in the source and change the source IP to the public IP that your computer goes out to the internet on. You can find this by accessing the site&nbsp;https://whatsmyip.net/ and then enter your IP address xxx.xxx.xxx.xxx/32 which indicates just your address.</li>
<li>The second rule allows HTTPS access. We will not get into deploying an SSL cert on the Barrcuda WAF but in a production site this would be vital. Click <a href="https://techlib.barracuda.com/waf/configssl">here </a>for more details on how to do this if it is important to you.</li>
<li>The third rule defines SSH access to the VM. We don't need this so change the action to deny and click OK.</li>
<li>Add a new Inbound rule and define the following settings. This will allow anybody to access the VM on port 80. Later we will configure the Barracuda device to forward this traffic to the Wordpress VM having analysed the traffic for threats.</li>
</ul>
</ul>
</ul>
<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/3414.internetnsg.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/3414.internetnsg.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/3414.internetnsg.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/3414.internetnsg.PNG" alt="" border="0" /></a><br />
<ul>
<ul>
<li>Leave availability set blank as we will not deal with high availability in this post.&nbsp;</li>
<li>Click OK twice.</li>
<li>The next blade will show you terms and conditions for your purchase as well as any costs. Assuming you selected BYOL earlier the value of Barracuda license should be zero. Click purchase.</li>
</ul>
</ul>
</div>
<h2>&nbsp;Configure the Barracuda Web Application Firewall</h2>
<p>Now that we have created our Virtual Machines it's now time to tell the Barracuda appliance to inspect traffic destined for the Wordpress VM. Remember we didn't give the Wordpress VM a public IP address and hence there is no way to directly access it from the internet. Instead we will setup the Barracuda VM as a reverse proxy to handle port 80 traffic, inspect it and forward the request on to the Wordpress VM.</p>
<ul>
<li>Establish the IP address of the Barracuda VM by browsing your list of Virtual Machines. Use the left menu and you will find your new VMs under Virtual Machines and not Virtual Machines (classic) which is only available to see VMs created using the old model and not the Resource Manager model.</li>
<li>Click the Barracuda VM which will be named something like demo-waf-vm.</li>
<li>In the general blade notice the Public IP address in the Essentials panel, copy this IP address.</li>
<li>In a separate browser tab type the URL as follows https://xxx.xxx.xxx.xxx:8000 using the public IP just copied.</li>
<li>You should now see the Barracuda WAF startup screen as shown below. If you do not then please check that the VM is running and browse for the Network Security group and ensure that port 8000 is accessible to your outgoing IP address. You could change this rule to allow all traffic just to identify the problem as it is usually down to an incorrect or changing IP address entered.&nbsp;</li>
</ul>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/3438.barracudatrial.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/3438.barracudatrial.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/3438.barracudatrial.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/3438.barracudatrial.PNG" alt="" border="0" /></a></div>
<div>&nbsp;</div>
<div>
<ul>
<li>Click the option to request a free trial and fill out the form, for now just use any domain name and Level 1. Click Evaluate just once. The VM will go into a configuration cycle, just let it do that and once it's finished the VM will reboot and the administration interface login will be displayed. If for some reason after 10 minutes the 'please wait' screen is still displayed just refresh the browser.</li>
<li>While you are waiting on the above we need to go and find out the private IP address of the WordPress site. This is the address that the Barracuda device will forward traffic to, so go back to your Azure portal.</li>
<li>Browse for your virtual machine and this time click the WordPress VM, name demo-wp-vm.</li>
<li>In the settings blade click 'Network Interfaces' and note the private IP, it should be something like 10.1.1.x.</li>
<li>Login to your Barracuda VM using admin and admin for username and password. Remember to change these once logged in.</li>
<li>The Barrcuda WAF dashboard shows a list of the attacks that the appliance looks for, performance stats as well as a report on any attacks blocked.</li>
<li>We now need to add a service to the Barracuda firewall. Click the 'Services' link at the top of the Basic tab.</li>
</ul>
</div>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/0284.barracdua.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/0284.barracdua.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/0284.barracdua.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/0284.barracdua.PNG" alt="" border="0" /></a></p>
<ul>
<li>In the Add New Service panel enter a name like 'Wordpress' and enter a real service IP address which is the private IP of the WordPress VM that you recorded earlier.</li>
<li>Now click Add</li>
<li>If this is successful you should see a service list with green ticks for status. You will now be able to navigate to port 80 on the Barracuda VM and traffic will be inspected and then forwarded to the WordPress VM</li>
</ul>
<div><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/0218.barracudaservices.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/0218.barracudaservices.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/0218.barracudaservices.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/0218.barracudaservices.PNG" alt="" border="0" /></a></div>
<div>&nbsp;</div>
<div>
<ul>
<li>In a new browser tab type https://publicipofbarracudavm and you should see the Wordpress setup interface.</li>
</ul>
<h2>Summary</h2>
</div>
<p>What I have shown is a very simple example of how you should protect your data or customer data when deploying an application to Azure. The main idea is that we separate our application tiers and create a DMZ that is exposed to the internet. This Tier then monitors all public requests for any sort of intrusion and only forwards the request on to the WordPress site if no issue is found.</p>
<p>Some organisations will separate their tiers using Virtual Networks and will then deploy network intrusion detection into the networks to monitor cross VNet traffic. This is a good pattern if you are connecting your Azure VNet to a network outside of Azure or in another Azure region&nbsp;via a VPN or if you just want extra protection.</p>
<p>The solution we use in this tutorial is Barracuda but the Azure marketplace contains many more that you can review to see which is more appropriate.</p>
<p><a href="https://azure.microsoft.com/en-us/marketplace/virtual-machines/all/?publisherType=acom-partners&amp;amp;term=security" target="_blank">https://azure.microsoft.com/en-us/marketplace/virtual-machines/all/?publisherType=acom-partners&amp;amp;term=security</a></p>
<p>As always, please ask questions or provide feedback in the comments below and follow me on Twitter for more information @niallermoran</p>]]></content:encoded>
    </item>
    <item>
      <title>Go from Zero to Big Data in 15 Minutes with Azure Hortonworks Sandbox</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/go-from-zero-to-big-data-in-15-minutes-with-azure-hortonworks-sandbox</link>
      <pubDate>Thu, 07 Jan 2016 04:02:00 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/2016/01/07/go-from-zero-to-big-data-in-15-minutes-with-azure-hortonworks-sandbox/</guid>
      <description><![CDATA[If you've been wondering how to get started with Big Data solutions and not really sure where to go...]]></description>
      <content:encoded><![CDATA[<p>If you've been wondering how to get started with Big Data solutions and not really sure where to go then Microsoft Azure has&nbsp;a solution that will get you going in less than 15 minutes. The Hortonworks Sandbox has tonnes of tutorials built in and you can create a sandbox environment on Azure with just a few clicks. So here is how to get going:</p>
<ul>
<li>Create a Sandbox VM using this <a href="https://azure.microsoft.com/en-us/marketplace/partners/hortonworks/hortonworks-sandbox/" target="_blank">marketplace link</a>. Clicking the 'Create Virtual Machine' button will open the Azure management portal and allow you to create the virtual machine in your subscription. You can use 'Resource Manager' or Classic&nbsp;as the deployment model and then fill out the rest of the details including networking, instance size and resource group. I would recommend you create a new resource group just for this sandbox as a number of resources will be created as well as the VM and this is a good way of logically grouping them together, either to tear down later or apply role based access to everything associated with this sandbox. Note: There is no license charge for the Sandbox but you will be charged for the VM instance size that you choose.</li>
</ul>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6378.vm.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6378.vm.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6378.vm.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6378.vm.PNG" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Once you have filled out the details click to create the VM and then click on the VM to open its properties blade. When you create a VM it will have a tile on the home screen, clicking this will open the properties blade, otherwise you can simply browse for the VM using the left menu or search box in the top right of the portal.</li>
</ul>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/4237.vm2.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/4237.vm2.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/4237.vm2.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/4237.vm2.PNG" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Once the status of the VM is 'running' take note of the public IP address from the properties blade.</li>
<li>Now using your favourite browser navigate to the URL: https://publicip:8888. Using the public IP noted above. This will bring you to the Hortonworks welcome page. Simply fill out the form to activate the Sandbox.</li>
</ul>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6712.welcome.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6712.welcome.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6712.welcome.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6712.welcome.PNG" alt="" border="0" /></a></p>
<ul>
<li>Next you will be brought to the getting started screen and you are now setup to learn Hadoop as well as a tonne of technologies that can be used with it. The first screen offers a very simple Hello World tutorial which is a good place to start.</li>
</ul>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/1817.tutorial.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/1817.tutorial.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/1817.tutorial.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/1817.tutorial.PNG" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<ul>
<li>Once you have that done why not try some of the more advanced tutorials or use the second tab to select a path best suited to your role.</li>
</ul>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6787.tutorial-custom.PNG" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6787.tutorial_2D00_custom.PNG"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6787.tutorial-custom.PNG" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6787.tutorial_2D00_custom.PNG" alt="" border="0" /></a></p>
<p>&nbsp;</p>
<p>This is a great way to learn and get started. If you decide to use Hadoop in production you could look at <a href="https://azure.microsoft.com/en-gb/documentation/services/hdinsight/" target="_blank">HDinsight</a> a fully managed Hadoop service.</p>
<p>NOTES: A couple of issues I had during my tutorials and how I fixed them. You may not have similar issues but if you do hopefully these tips will help:</p>
<ol>
<li>If you get out of memory errors when running your Hive queries then increase the Tez container size to&nbsp;1024 or 2048&nbsp;in the config settings for Hive.</li>
<li>If you find that your queries stay at 0% for a long time, this is not normal. They should execute quite quickly. In my case the only way I could get them to run (the ones that did grouping) was to change the execution engine to MapReduce from Tez. So in the Hive query editor I used the gear icon to the right of the editor to add hive.execution.engine as MR and then clicked 'save default setting' option to remember this for all of my queries.</li>
<li>Based on comment below from Daragh try azure/azure for the Ambari UI if admin/admin doesn't work for username and password</li>
</ol>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Getting Started with IoT Solutions on Microsoft Azure</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/getting-started-with-iot-solutions-on-microsoft-azure-the-easy-way</link>
      <pubDate>Mon, 04 Jan 2016 07:30:00 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/2016/01/04/getting-started-with-iot-solutions-on-microsoft-azure-the-easy-way/</guid>
      <description><![CDATA[The Internet as a Backbone
The internet has changed everything and we no longer see it as a tool to...]]></description>
      <content:encoded><![CDATA[<h1>The Internet as a Backbone</h1>
The internet has changed everything and we no longer see it as a tool to discover and gather information but a central backbone of our every day lives, in fact, we are slowly becoming dependent on it. It's a scary thought but think about how we socialise with our friends, how we read our news, how we view TV, how we order a taxi and certainly how we do our work. If the internet didn't exist, the world as we know it today, would stop working. By all accounts we are only touching the tip of the iceberg. There are <a href="https://www.forbes.com/sites/quora/2013/01/07/how-many-things-are-currently-connected-to-the-internet-of-things-iot/" target="_blank">many reports</a> that estimate how many devices are today connected to the internet and how many will be in the future. 8 billion now and 20 billion by the year 2020 is probably not a bad estimate, with this only being a very small percentage of what will one day join the network. But why is this happening? It's simply the fact that more and more companies are finding ways to innovate and disrupt industry using technologies that rely on the internet. We saw this with Amazon, we see it now with Uber and we will continue to see new businesses add value to their customers by making things smarter and more connected. Of course, all of these connected devices create data and it's estimated that 90% of the data stored now was created in the last two years and by 2020 we will be storing 5 times what we have stored to date.

If you are one of those businesses looking to innovate with IoT then all of this presents some challenges:
<ul>
	<li>How do we connect a plethora of different devices that run different operating systems.</li>
	<li>How do we ingest all of this data? As the number of devices grow and we find more and more uses for IoT we need the bandwidth and technology that can stream this data easily and efficiently and not clog up our devices.</li>
	<li>How do we analyse data on the way in, to look for anomalies or triggers for alerts or other business processes. Think tsunami, fire or flood alerts systems.</li>
	<li>How do we decide what data to store and then store it in an efficient way so that it can be analysed easily.</li>
	<li>With so much data can we analyse it efficiently and gain insight quickly.</li>
	<li>Can we use the data to define predictive models and then integrate those models into our business processes.</li>
</ul>
<div>This is where Cloud technologies come in, or more specifically Hyper-scale clouds. Cloud technology has made overcoming these challenges really simple, and not just for those with a big budget, but those that want to start small and grow. Microsoft Azure solves these challenges by offering a suite of managed services that each solve a specific challenge but integrate into a complete end to end IoT solution that will scale as you need it to, <a href="https://azure.microsoft.com/en-us/support/trust-center/" target="_blank">keep your data safe and secure</a> as well as remove the need for you to manage the underlying infrastructure, allowing you focus on deriving business value.</div>
<div></div>
<div>The cloud solution also comes with OpenSource SDKs, written in C, Node.js, Python, Java and c#s, that support ingesting data from RTOS, Linux, Windows, iOS and Android operating systems allowing you to connect any device.</div>
<div></div>
<div>You can get <a href="https://www.microsoft.com/en-ie/server-cloud/internet-of-things/azure-iot-suite.aspx" target="_blank">more information on the suite</a> as well as some of the <a href="https://www.microsoft.com/en-ie/server-cloud/internet-of-things/industry-solutions.aspx" target="_blank">customers using it</a>, but below is a simple step by step process to get you started:</div>
<h1>Getting Started with Azure IoT</h1>
I am the first to admit that getting started with Azure can be a challenge, considering the number of services available and how quickly they are changing. Even with in IoT now there are many services and features to understand, so here are the steps I would suggest you take to get started quickly:
<h2>Training</h2>
<ul>
	<li>Check out this <a href="https://mva.microsoft.com/en-US/training-courses/getting-started-with-the-internet-of-things-iot-16170?l=VUaAyuRIC_6305846048" target="_blank">Microsoft Virtual Academy course</a>. This is a free online training course that covers all aspects of our IoT platform.</li>
	<li>Check out the <a href="https://www.azureiotsuite.com/" target="_blank">IoT Suite</a>. This is a site that will allow you create a demo solution very quickly. Behind the scenes the suite creates all of the Azure components that the solution needs and will provide a web based dashboard to manage your solution. It even provides all of the code in a GitHub repository so you can customise it for your own solution. <em>NOTE: word of caution, the suite creates quite a few resources that could burn your Azure credit quickly if you are only on a trial, e.g. the Azure IoT Hub it creates is the most scalable and expensive, so feel free to down scale some of the resources with the <a href="https://portal.azure.com">Azure portal</a>.</em></li>
</ul>
<!--more-->

<!--more-->
<h2>Devices on the Edge</h2>
<ul>
	<li>If you want to build and connect devices check out the starter kits here <a href="https://azure.com/iotstarterkits">https://azure.com/iotstarterkits</a>. Also if you have your own devices running a RTOS, Linux or Windows or even iOS and Android check out our opensource sdks on GitHub here: <a title="https://github.com/Azure/azure-iot-sdks" href="https://github.com/Azure/azure-iot-sdks">https://github.com/Azure/azure-iot-sdks</a>.</li>
	<li>For device level security consider devices that support TPM (Trusted Platform Module). See this <a href="https://ms-iot.github.io/content/en-US/win10/TPM.htm">link </a>for Windows 10 IoT Core support for TPM devices.</li>
</ul>
<h2>Device Registration and Management</h2>
<ul>
	<li>At the centre of an IoT solution is the <a href="https://azure.microsoft.com/en-in/documentation/services/iot-hub/" target="_blank">IoT hub</a> which controls device registration, device security, <a href="https://azure.microsoft.com/en-gb/updates/gateway-sdk-beta/" target="_blank">management </a>(via <a href="https://technical.openmobilealliance.org/Technical/technical-information/release-program/current-releases/oma-lightweightm2m-v1-0">LWM2M</a>) and ingestion of data. To dive deeper into connecting your own devices, check out the <a href="https://azure.microsoft.com/en-in/develop/iot/get-started/" target="_blank">IoT Hub developer site.</a></li>
	<li>If you need to deploy gateways or are working with legacy gateways the <a href="https://azure.microsoft.com/en-us/blog/introducing-the-azure-iot-gateway-sdk-beta/">IoT Gateway SDK</a> can help with edge analytics, minimising latency, conserving network bandwidth and aggregating and securing data from multiple edge devices.</li>
	<li>If you plan to use MQTT then check out the <a href="https://github.com/Azure/azure-iot-protocol-gateway/blob/master/docs/DeveloperGuide.md" target="_blank">protocol gateway developer page</a>.</li>
</ul>
<h2>Business Intelligence, Analytics and Machine Learning</h2>
<ol>
	<li>The above steps will show you how to use <a href="https://azure.microsoft.com/en-us/services/stream-analytics/" target="_blank">Azure Stream Analytics</a> to analyse data as it is being ingested. <a href="https://azure.microsoft.com/en-us/documentation/articles/stream-analytics-power-bi-dashboard/" target="_blank">Check out this tutorial to see how Power BI can be used to visualise this real-time data.</a></li>
	<li>Check out the <a href="https://azure.microsoft.com/en-us/documentation/services/machine-learning/" target="_blank">machine learning portal</a>. Here you can import data and create predictive models from it. The portal has a graphical interface for developing models but you can also import your existing R code. Once your model has been trained and tested it can simply be exposed as an API for integration with other systems or business processes.</li>
	<li>The <a href="https://www.microsoft.com/en-us/server-cloud/cortana-intelligence-suite/what-is-cortana-intelligence.aspx">Cortana Intelligence Suite </a>has a bunch of tools from Data Lake storage and analytics to Hadoop.</li>
</ol>
<h1>Demos and Opensource Code</h1>
<ul>
	<li>Check out the <a href="https://github.com/niallermoran/ClapOMeter" target="_blank">Clapometer </a>demo based on the Sound Monitoring solution developed with Croke Park</li>
	<li>Check out my <a href="https://github.com/niallermoran/SmartHVACDemo" target="_blank">Smart HVAC demo</a> that demonstrates an end to end solution from data ingestion to machine learning and real time analysis of data using the prediction algorithm developed in machine learning portal.</li>
</ul>
<div>Best of luck with it and don't forget to keep an eye out on the <a href="https://blog.azure.com" target="_blank">Azure blog</a> for more new enhancements and features.</div>]]></content:encoded>
    </item>
    <item>
      <title>Running a High Volume Website on Azure Infrastructure Services</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/running-a-high-volume-website-on-azure-infrastructure-services</link>
      <pubDate>Mon, 18 May 2015 07:22:00 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/2015/05/18/running-a-high-volume-website-on-azure-infrastructure-services/</guid>
      <description><![CDATA[The Tech a CEO Needs to Know
Cloud technologies like Microsoft Azure offer a very quick and simple...]]></description>
      <content:encoded><![CDATA[<h1><strong>The Tech a CEO Needs to Know</strong></h1>
<p>Cloud technologies like Microsoft Azure offer a very quick and simple way for software companies to run their business and access a global customer base. These companies who traditionally delivered their solution via CD or some other distribution medium are looking to the cloud as a way to expand their reach into new markets, or simply to centralise their intellectual property into a multi-tenanted environment or SaaS solution. I personally work with quite a few technology startups, via our <a href="https://www.bizspark.com" target="_blank">BizSpark </a>programme, that are considered "born in the cloud", these companies have no option but to use cloud, it allows them to start small and grow at their own pace, a key requirement for a startup.</p>
<p>One of the talks I do for startups is the 'Tech a CEO needs to Know'. This is targeted at CEOs and having worked myself as a CTO of a startup and angel investor fund, I know that CEOs build great business plans but sometimes don't think about the really important technical aspects of their business. I don't mean a CEO needs to know how to develop or even architect the next Uber, but there are a few simple concepts that a CEO should know about, or at least have their CTO develop a plan for. Too often I see software company CEOs defer these challenges to their CTO or Developer and assume they are being handled, but in my opinion it is critical that the business leaders within the organisation understand that there is a plan around these fundamental concepts:</p>
<ul>
<li><strong>Availability</strong> - How do I make sure my site and business stays up so I don't lose customers?</li>
<li><strong>Scalability</strong> - How can I scale my infrastructure up or down to meet demand or gain new customers?</li>
<li><strong>Security</strong> - Is my data secure and what do I need to do to keep it that way?</li>
<li><strong>Disaster Recovery</strong> - What do I do if there is some sort of disaster or issue with my data?</li>
</ul>
<div>In my experience of working with CEOs of startups they sometimes assume that this is all handled by the platform, i.e. Microsoft Azure, or that their 'Developer/CTO' is looking after all of this. In fact, Azure has quite a few platform and infrastructure services that do look after a lot of these things, assuming you use them a certain way or choose to allow Microsoft to do them for you. But the assumption that everything is fine because you are using the cloud is wrong. Your CTO/Developer must understand how to best architect for the cloud before he/she can take full advantage of the speed and scale it offers.&nbsp;</div>
<h1>The Tech a CTO Needs to Know</h1>
<p>As a CTO YOU need to take control of these requirements and develop a plan that reassures your CEO that the technology platform is sound. For example, in the event you experience a major spike in traffic, which should be a positive thing for your business, will the infrastructure stay up? How many times have you gone to a website that you've seen advertised for it to be down or just slow. You will give up! If this is your website you have lost a customer. Now, you might say that your hosting company offer an SLA, a service level agreement, which will dictate that the infrastructure will be kept up for an agreed time, e.g. 99.9% of the time. In the case of a spike in traffic, if this infrastructure is simply not adequate then your website will slow down or just stop handling requests. You will lose customers but your hosting provider will say the infrastructure stayed up, and it probably did, but it just wasn't adequate. In this scenario, what you really need is an infrastructure that you can scale up or out easily and then scale back in when it's no longer needed.</p>
<p>This is where Microsoft Azure comes in if used correctly. You could just think of Azure as another hosting provider, but actually it's way more. Azure consists of a number of services that can help you build out your site. These services include compute services like Virtual Machines, applications services, like caching and mobile services, as well as data services to support your relational or big data and analytics requirements. The great thing about Azure is that you can turn these services on and off yourself, or scale them in and out yourself. No need to wait for new infrastructure, simply click a button or slide a slider and get what you need, and of course only pay for what you use. That said, it's important to understand how to deploy your site to Azure. If you do what you have always done with your traditional hosting provider you may be no better off, and I for one have seen this happen many times.</p>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/4846.azure.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/4846.azure.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/4846.azure.jpg" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/4846.azure.jpg" alt="" border="0" /></a></p>
<p>For this blog post I am going to focus on infrastructure services, but there is probably another set of posts I could do for data and application services, although the main points apply across the board. In terms of infrastructure you can build out your web servers using standard<a href="https://azure.microsoft.com/en-us/services/virtual-machines/" target="_blank"> Linux or Windows VMs</a> or you can use the gallery to spin up a pre-built environment, for example <a href="https://azure.microsoft.com/en-us/marketplace/?term=bitnami+magento" target="_blank">the Magento solution</a>.</p>
<h1>Availability</h1>
<p>If your site goes down it can be because of many things, a bug in your code or inadequate infrastructure for example. Another problem, could be planned or unplanned maintenance. The fact is, no matter who manages your infrastructure, servers will go down and this can be due to planned or unplanned issues. For example, within Azure, Virtual Machines come with an SLA of 99.95% as long as you deploy two VMs within an availability set. This then allows us to shift VMs to different update and fault domains within the data centre, meaning during either planned or unplanned maintenance you will never lose your site. It's worth noting that you don't have to use availability sets, you can just deploy a VM on its own, which is perfectly acceptable for DEV &amp; Test or non-critical workloads. In this scenario Microsoft will even send you an email (when possible) alerting you that your VM may need to be rebooted. In this scenario you leave your VM outside of any availability sets but you will not have an SLA.</p>
<p>TIP: Avoid leaving a single instance virtual machine in an Availability Set by itself. Virtual machines in this configuration do not qualify for SLA guarantee and will face downtime during Azure planned maintenance events. Furthermore, if you deploy a single VM instance within an availability set, you will receive no advanced warning or notification of platform maintenance. In this configuration, your single virtual machine instance can and will be rebooted with no advanced warning when platform maintenance occurs.&nbsp;</p>
<p>So this first scenario is not wrong, but understand the risks associated.</p>
<p>Source: <a href="https://azure.microsoft.com/en-in/documentation/articles/virtual-machines-manage-availability">https://azure.microsoft.com/en-in/documentation/articles/virtual-machines-manage-availability</a></p>
<p>&nbsp;<a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/4572.1.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/4572.1.png"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/4572.1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/4572.1.png" alt="" border="0" /></a></p>
<p>Another configuration I quite commonly see is where the front-end web VM and the back-end database VM appear in the same availability set. This configuration is wrong and should never be used, as Microsoft have no idea what is running in these VMs either VM could be rebooted as part of a maintenance activity. In this situation your site is down and Microsoft will have honoured their SLA, i.e. at least one VM will be running within the availability set.</p>
<p>TIP: In the scenario where you use availability sets you will not receive email notifications about VM reboots due to planned or unplanned maintenance. This is because Microsoft assume that if you use availability sets that you have at least two VMs in them and it is safe to reboot any of them, but not all at the same time.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/3581.2.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/3581.2.png"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/3581.2.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/3581.2.png" alt="" border="0" /></a></p>
<p>The correct scenario is to use an availability set for each tier within your application, one for the web tier and one for the data tier. In this scenario, at least one VM in each tier is guaranteed to be kept up in the case where VMs need to be rebooted for maintenance.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/0636.3.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/0636.3.png"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/0636.3.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/0636.3.png" alt="" border="0" /></a>&nbsp;</p>
<p>More Reading: For more detail on ensuring availability when using virtual machines check out the below article which talks through the availability options as well as how to then load balance traffic across your VMs. <a href="https://azure.microsoft.com/en-in/documentation/articles/virtual-machines-manage-availability/">https://azure.microsoft.com/en-in/documentation/articles/virtual-machines-manage-availability/</a></p>
<h1>Scalability</h1>
<p>One of the really cool features of Microsoft Azure is the fact that you can scale your resources in and out. This means you only ever have the infrastructure you need and no more. If you think about this in terms of building your own infrastructure where, due to inconsistent demand on resources, the percentage utilisation of hardware is typically quite low, Azure can drive the efficiency of infrastructure required to run websites way up. Think about this in terms of an online eCommerce site that really gets hit around Christmas time but for the rest of the year returns to normal demand. Even during a normal week, the site may be hit more during business hours. If we had to provision the infrastructure for this upfront then we would probably build out to support the peak demand plus some to account for unexpected spikes. This, of course, results in a lot of waste. Azure allows us to spin up this infrastructure but then shut it down with a click of a button or a PowerShell command or even based on rules and schedules you define. This gives you much better control of the infrastructure and allows you to scale to meet any demand and because you don't pay for the VM compute time when a VM is stopped this gives you much better control over your infrastructure costs.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/3125.4.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/3125.4.png"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/3125.4.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/3125.4.png" alt="" border="0" /></a></p>
<p>More Reading: Take a look at this article which shows you how to setup auto-scaling and manual scaling for Virtual Machines. <a href="https://azure.microsoft.com/en-us/documentation/articles/cloud-services-how-to-scale/">https://azure.microsoft.com/en-us/documentation/articles/cloud-services-how-to-scale/</a></p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/7024.6.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/7024.6.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/7024.6.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/7024.6.png" alt="" border="0" /></a></p>
<p>Another challenge in scaling applications is that they may be global applications, where you have users from all over the world. In this scenario it may not be feasible to host your site in a single data centre, instead, you may want to deploy multiple versions of your application in different data centres and then direct people depending on their geographical location. Azure offers data centres in 19 regions so you can choose where you want to run your site as well as store your data. If you deploy multiple sites you can use <a href="https://msdn.microsoft.com/en-us/library/azure/hh744833.aspx">Azure Traffic Manager</a> to load balance across those sites. You should also consider using the <a href="https://azure.microsoft.com/en-us/services/cdn/">Azure CDN</a> to create local caches of resources like images, videos or application scripts.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/8400.5.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/8400.5.png"><img style="display: block; margin-left: auto; margin-right: auto;" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/8400.5.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/8400.5.png" alt="" border="0" /></a></p>
<p>TIP: If you want to improve the availability of your site even more beyond the discussion earlier, you can deploy a second copy of the application to another data centre and use Traffic Manager to redirect users to it if there is a problem with the primary site. Of course you will need to consider how your data is shared between data centres but it is possible to stretch a virtual network across Azure data centres and leverage our dedciated and encrypted pipe between them</p>
<h1>Security</h1>
<p>Securing your online site and making sure nobody gets at your data is vital and it's important that you understand that this is not always done for you. Most hosting providers will of course have comprehensive security processes in place to ensure their networks are secure and cannot be hacked, but this doesn&rsquo;t mean your data or applications are safe. Maybe you have left bugs in your software that allow an attacker to retrieve data they shouldn't, or maybe you have left some ports open on a VM which allow attackers to get into your servers. The fact is combating cyber-crime is an ongoing initiative you will need to invest in, especially if you are transacting payments or sensitive data.</p>
<p style="text-align: center;"><a href="https://azure.microsoft.com/en-in/support/trust-center/security/"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/4442.9.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/4442.9.png" alt="" border="0" /></a></p>
<p>Here are just a few things you should consider:</p>
<p><em><span style="font-size: medium;"><strong>Software development Life-cycle</strong>.</span></em></p>
<p>If you are developing software then you should have security built in to your processes. In general your website is the easiest place for an attacker to start. If a hacker can figure out how to retrieve data from your website or application then he/she can use this to attack another part of the system and may end up getting access to even more data. Your code should be written in such a way that it looks for typical attacks like cross-site scripting or sql injection. The best thing to do is follow the guidelines at <a href="https://www.owasp.org/index.php/Main_Page">OWASP.org</a></p>
<p><strong><em><span style="font-size: medium;">Operational controls to prevent, detect, contain and respond.</span></em></strong></p>
<p>Although Microsoft have extensive measures in place to prevent attacks, it is also prudent to have measures in place to detect, contain and respond in the case where an attack is successful. If an attack were to go undetected then it's impact could be massive, whereas an attack that is detected immediately may have little or even no impact. In terms of how you can protect your application within Azure, here are some of the things you can do:</p>
<ul>
<ul>
<li>Understand how networks work in Azure. Know how to allow and deny access to VMs, subnets and Vnets within Azure. Starting with a virtual network is always a good idea, when deploying virtual machines. After that you need to understand concepts like security groups and acls. Check out <a href="https://msdn.microsoft.com/en-us/library/azure/dn848316.aspx">this article</a> for a detailed explanation.</li>
<li>Consider running a WAF (web application firewall) in front of your web servers. This will add an extra layer of protection and will monitor traffic for specific threats. Take a look at the WAF appliances available within the Azure marketplace. <a href="https://azure.microsoft.com/en-in/marketplace/?term=waf">https://azure.microsoft.com/en-in/marketplace/?term=waf</a></li>
<li>Run regular vulnerability scans on your application to check for open ports or other vulnerabilities that could expose your data. There are a number of services out there to do that, for example <a href="https://www.mcafeesecure.com">www.mcafeesecure.com</a>. If you are using the <a href="https://azure.microsoft.com/en-us/services/app-service/">Azure App Service</a> to host your site, rather than Infrastructure Serviuces, you can implement built in vulnerability scanning using Tinfoil, see <a href="https://azure.microsoft.com/blog/2015/06/03/web-vulnerability-scanning-for-azure-app-service-powered-by-tinfoil-security/">here</a>.</li>
<li>If you are storing sensitive information on Virtual Machines within Azure you can consider encrypting the VMs at rest. Take a look at the <a href="https://azure.microsoft.com/en-in/marketplace/partners/cloudlink/cloudlink-securevm-cloudlink-securevm-byol/">CloudLink Secure VM solution</a>.</li>
</ul>
</ul>
<p>Further Reading: Checkout the detailed information available on the Microsoft website to see the security measures taken within the Azure network to ensure your applications are protected: <a href="https://azure.microsoft.com/en-us/support/trust-center/security/">https://azure.microsoft.com/en-us/support/trust-center/security/</a>. Also check out the web application security consortium website <a href="https://projects.webappsec.org/w/page/13246989/Web%20Application%20Security%20Statistics">here</a>.</p>
<p><span style="font-size: medium;"><strong><em>Independent Certification</em></strong></span></p>
<p>By providing customers with compliant, independently verified cloud services, Microsoft makes it easier for customers to achieve compliance for the infrastructure and applications they run in Azure. Microsoft provides Azure customers with detailed information about our security and compliance programs, including audit reports and compliance packages, to help customers assess our services against their own legal and regulatory requirements.</p>
<p>Checkout this link for more details:&nbsp;<a href="https://azure.microsoft.com/en-us/support/trust-center/compliance/">https://azure.microsoft.com/en-us/support/trust-center/compliance</a></p>
<h1>Summary</h1>
<p>So, now that we have looked at some of the areas to think about here is a simple list of the steps you should consider. Again, I am assuming you are using infrastructure services and are comfortable with Linux VMs and you have access to the Azure Portal (https://portal.azure.com/) via an Azure subscription.</p>
<ol>
<li>Start by setting up a <a href="https://azure.microsoft.com/en-us/documentation/articles/virtual-networks-create-vnet-arm-pportal/" target="_blank">virtual network </a>and configure subnets for each tier in your application, e.g. data, application and web. Create a subnet specifically for a DMZ which will contain internet facing VMs.</li>
<li>Setup your <a href="https://msdn.microsoft.com/library/azure/dn848316.aspx" target="_blank">security groups </a>to restrict access between the tiers of your architecture.</li>
<li>Create your VMs and configure them to be placed within the appropriate subnet. You could use the <a href="https://azure.microsoft.com/en-us/marketplace/?term=bitnami+magento" target="_blank">Magento image</a> for the application tier and the <a href="https://azure.microsoft.com/en-us/marketplace/partners/cognosys/nginxversion124onhardenedubuntu1204lts/" target="_blank">NGINX image</a>&nbsp;or <a href="https://azure.microsoft.com/en-us/marketplace/partners/barracudanetworks/waf/#byol">Barracuda Image</a>&nbsp;for your DMZ tier.</li>
<li>Setup the appropriate <a href="https://azure.microsoft.com/en-in/documentation/articles/virtual-machines-manage-availability/" target="_blank">availability sets and load balanced sets</a> to achieve your high availability targets.</li>
<li>Setup a <a href="https://azure.microsoft.com/en-us/services/cdn/" target="_blank">CDN </a>to host your website assets like scripts, CSS files and images</li>
</ol>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Getting Started Building Apps for Windows 10</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/getting-started-building-apps-for-windows-10</link>
      <pubDate>Thu, 26 Mar 2015 05:40:00 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/2015/03/26/getting-started-building-apps-for-windows-10/</guid>
      <description><![CDATA[Windows 10 represents a truly unique opportunity for developers to target as many devices as...]]></description>
      <content:encoded><![CDATA[<p>Windows 10 represents a truly unique opportunity for developers to target as many devices as possible with their code. The new Universal App Platform within Windows 10 will allow developers to build apps using a single core api surface and then&nbsp;target phones, tablets, desktops, Xbox, IoT devices&nbsp;and even <a href="https://www.microsoft.com/microsoft-hololens/en-us" target="_blank">hololens</a>. With the upgrade path to Windows 10 being made very easy for users of Windows 7 and 8, and of course license free versions for IoT and small device makers, Windows 10 represents an opportunity for developers to build apps that target a pretty big user base. Right now the potential is 1.5 billion, but with the recent announcements of <a href="https://blogs.windows.com/buildingapps/2015/02/02/windows-10-coming-to-raspberry-pi-2/" target="_blank">Windows 10 in IoT</a>&nbsp;this number is set to grow significantly.</p>
<p>&nbsp;</p>
<p><img style="margin-right: auto; margin-left: auto; display: block;" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/2821.win10.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/2821.win10.png" alt="" border="0" /></p>
<p>With Windows 10 due to release this summer, I would encourage developers to start looking at the sdk and tooling now and become familiar with concepts like Adaptive UX which will allow controls to adapt depending on the form factor and API contracts so that developers can tell if a certain API is available based on the device the app is running on.</p>
<p>To help you&nbsp;get started I have pulled together some useful resources from the web:</p>
<ol>
<li><a href="https://insider.windows.com/" target="_blank">Get Windows 10 via the Insider Program</a></li>
<li><a href="https://dev.windows.com/en-US/windows-10-developer-preview-tools" target="_blank">Download the SDK and Tools to start developing</a>:</li>
<li><a href="https://channel9.msdn.com/Shows/Inside-Windows-Platform/A-First-Look-at-Building-Windows-10-Universal-Applications" target="_blank">Take a look at this video to help you get started</a></li>
<li><a href="https://mva.microsoft.com/training-courses/a-developers-guide-to-windows-10" target="_blank">A more detailed Microsoft Virtual Academy training course</a></li>
<li><a href="https://go.microsoft.com/fwlink/p/?LinkId=526492" target="_blank">Code samples so you can see how things are done</a></li>
<li><a href="https://dev.windows.com/en-us/whats-new-windows-10-dev-preview" target="_blank">What's new in the Windows 10 SDK</a></li>
</ol>
<div>If you have developed apps for Windows 8/8,1 then here are<a href="https://msdn.microsoft.com/library/windows/apps/dn954974.aspx"> some resources to help migrate to Windows 10</a></div>
<p>For help and support use the following links:</p>
<ol>
<li><a href="https://social.msdn.microsoft.com/Forums/en-US/home?category=windowsapps" target="_blank">MSDN Forums</a></li>
<li><a href="https://wpdev.uservoice.com/forums/110705-dev-platform" target="_blank">Give us your feedback and tell us what you need to build great apps</a></li>
</ol>]]></content:encoded>
    </item>
    <item>
      <title>Win an XBox One + Kinect Sensor</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/win-an-xbox-one-kinect-sensor</link>
      <pubDate>Thu, 26 Mar 2015 01:17:00 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/2015/03/26/win-an-xbox-one-kinect-sensor/</guid>
      <description><![CDATA[Microsoft Ireland are giving away an Xbox One with Kinect each month for the next three months and...]]></description>
      <content:encoded><![CDATA[Microsoft Ireland are giving away an Xbox One with Kinect each month for the next three months and all you have to do is complete one of the following Microsoft Virtual Academy courses:

<ol>  <li><a href="https://www.microsoftvirtualacademy.com/training-courses/windows-10-technical-preview-fundamentals-for-it-pros" target="_blank">Windows 10 Technical Preview for IT Pros</a></li>  <li><a href="https://www.microsoftvirtualacademy.com/training-courses/networking-fundamentals" target="_blank">Networking Fundamentals</a></li>  <li><a href="https://www.microsoftvirtualacademy.com/training-courses/getting-started-with-powershell-3-0-jump-start" target="_blank">Getting started with PowerShell 3.0 Jump Start</a></li>  <li><a href="https://www.microsoftvirtualacademy.com/training-courses/understanding-active-directory" target="_blank">Understanding Active Directory</a></li>  <li><a href="https://www.microsoftvirtualacademy.com/training-courses/windows-azure-iaas-deep-dive-jump-start" target="_blank">Microsoft Azure IaaS Deep Dive Jump Start</a></li>  <li><a href="https://www.microsoftvirtualacademy.com/training-courses/windows-azure-pack-infrastructure-as-a-service-jump-start" target="_blank">Windows Azure Pack: Infrastructure as a Service</a></li>  <li><a href="https://www.microsoftvirtualacademy.com/training-courses/server-virtualization-with-windows-server-hyper-v-and-system-center" target="_blank">Server Virtualisation with Windows Server Hyper-V and System Centre</a></li>  <li><a href="https://www.microsoftvirtualacademy.com/training-courses/security-fundamentals" target="_blank">Security Fundamentals</a></li>  </ol>

<div>Then, share the course video via Twitter and tag @DXIRL in your tweet. There is a twitter sharing button on the course site, please use that and you will be automatically entered into the draw. Please read the full terms and conditions below before entering and best of luck.</div>

<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/1184.competition.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/1184.competition.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/1184.competition.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/1184.competition.png" alt="" border="0"></a>

<strong>Terms and Conditions</strong></p>

<ol>  <li>ELIGIBILITY: This draw is open to any person who is 18 years of age or older who is resident in the Republic of Ireland.&nbsp; Employees of Microsoft Ireland Operations Limited (&ldquo;Microsoft&rdquo;), or its affiliates or advertising or promotion agencies are not eligible.</li>  <li>TO ENTER: Simply watch one of the recommended courses:&nbsp;</li>  </ol>

<ul>  <li>C# Fundamentals for Absolute Beginners.&nbsp;</li>  <li>Developing in HTML5 with JavaScript and CSS3 Jump Start.</li>  <li>Introduction to ASP.NET MVC.&nbsp;</li>  <li>Developing Windows Azure and Web Services Jump Start.&nbsp;</li>  <li>Developing Universal Windows Apps with C# and XAML.&nbsp;</li>  <li>HTML5 &amp; CSS3 Fundamentals: Development for Absolute Beginners.&nbsp;</li>  <li>Creating Games with Project Spark.&nbsp;</li>  <li>Cross-Platform Development with Xamarin &amp; Visual Studio. &nbsp;</li>  </ul>

<li>Share the video through your Twitter and include @DXIRL &ndash; using the Twitter sharing tool on the course site. After sharing, you will automatically be entered into a draw to be in with a chance of winning an Xbox One + Kinect. One winner will be selected per month from April 2015, May 2015 and June 2015. One entry per person. Winner will be contacted directly and through Twitter by @dxirl. No purchase necessary. Entry constitutes full and unconditional acceptance of these Terms and Conditions. Microsoft reserves the right to disqualify anyone in breach of these Terms and Conditions.</li><li>TIMING: This promotion runs from March 26, 2015 until 11.59pm on &nbsp;June 23, 2015 ( "Closing Date").&nbsp; All entries must be received by the Closing Date to be valid.</li><li>USE OF DATA: Personal data which you provide when you enter the draw will be used for the purposes of administering this prize draw only. Your personal data will not be used for marketing activities without your prior permission.</li><li>SELECTION OF WINNERS: Winner(s) will be determined by random draw.&nbsp; The winners will be notified by notifying them through their twitter handle by close of day on each Monday of the month . &nbsp;&nbsp;If a potential winner cannot be contacted, through no fault of Microsoft, within TWENTY EIGHT (28) days after the first attempt, an alternative winner will be selected at random. The winners may be required to participate in further publicity or advertising.</li><li>PRIZE: Prizes are as stated and are not transferable or redeemable for cash value. Microsoft reserves the right to substitute prizes of equal or greater value. Prizes may be considered a taxable benefit and winners will be directly responsible for accounting for any tax liability arising on their prize.</li><li>WINNERS LIST: The winners consent to their surname being made publicly available.&nbsp; Winners&rsquo; names will be available for a period of 4 weeks after the final draw date by emailing msdxirl@microsoft.com for details.</li><li>OTHER: No correspondence will be entered into regarding either the administration of this promotion or these Terms and Conditions. Without prejudice to paragraph 9 below, in the unlikely event of a dispute, Microsoft&rsquo;s decision shall be final.&nbsp; Microsoft reserves the right to amend, modify, cancel or withdraw this &nbsp;&nbsp;&nbsp; promotion at any time without notice.</li><li>These Terms and Conditions (and any claim, dispute or matter arising under or in connection with these Terms and Conditions or their enforceability) and any non-contractual obligations arising out of or in connection with these Terms and Conditions shall be governed by and construed in accordance with the laws of Ireland and subject to the exclusive jurisdiction of the Irish courts. Please note however that your use of the prize may be subject to additional terms and conditions. Such terms and conditions (if any) will be &nbsp;&nbsp;&nbsp; notified to you separately upon your receipt of the prize.</li>

&nbsp;

<p><strong>Promoter:</strong> Microsoft Ireland Operations Limited, Building 3, Carmanhall Road, Sandyford Industrial Estate, Dublin 18, Ireland.</p>]]></content:encoded>
    </item>
    <item>
      <title>Access Your Business Applications on any Device using Azure RemoteApp</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/access-your-business-applications-on-any-device-using-azure-remoteapp</link>
      <pubDate>Tue, 23 Dec 2014 05:59:00 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/2014/12/23/access-your-business-applications-on-any-device-using-azure-remoteapp/</guid>
      <description><![CDATA[One of the big challenges that organisations face in this new Mobile First, Cloud First world is...]]></description>
      <content:encoded><![CDATA[<p>One of the big challenges that organisations face in this new Mobile First, Cloud First world is that not all of the line of business applications that the organisation uses have been built in this modern way, i.e. they have not been built to use cloud technologies or to target the types of mobile devices employees now use. In a lot of cases these legacy applications cannot be redeveloped or replaced as they are too critical to the business.&nbsp;More often than not these applications have been built as Windows Desktop apps but more and more employees are more mobile and expect to use tablets or other mobile devices to access their business applications.</p>
<p style="text-align: center;"><a href="https://azure.microsoft.com/en-us/services/remoteapp/" target="_blank"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/0508.pic1.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/0508.pic1.png" alt="" border="0" /></a></p>
<p>This is where Azure RemoteApp comes in. As long as these desktop applications will run on Windows Server 2012 R2 the apps can be run from the Cloud and can then be accessed over the web on any device running MacOS, iOS, Android or Windows. It is even possible to connect the RemoteApp service on Azure to your corporate network so that you can access internal services like database back ends, for example. You can also use Azure Active Directory to manage authentication and even add <a href="https://azure.microsoft.com/en-us/documentation/services/multi-factor-authentication/" target="_blank">multi-factor authentication.</a></p>
<p>The following is a simple guide to help you get started. I have created a custom Windows desktop&nbsp;application using Visual Studio to represent my business application but you could use any application you have as long as it has been tested to run on Windows Server 2012 R2 and you have the appropriate licenses. For more information on how licensing works in RemoteApp <a href="https://azure.microsoft.com/en-us/documentation/articles/remoteapp-licensing/" target="_blank">please click this link.</a></p>
<h1>Step 1 - Create a VM Image with your Business App</h1>
<p>In order to use RemoteApp you must have a template. A template is essentially a Windows Server 2012 R2 Virtual Machine Image that is used to create the RemoteApp service. Any application installed on this image/template&nbsp;can then be accessed via the RemoteApp service. There are a number of templates that come with the service, but to create a service based on our custom business app I&nbsp;must create my own template as follows:</p>
<ul>
<li>Start by creating a Windows Server 2012 R2 virtual machine on Azure. You can do this using a local server, desktop or laptop&nbsp;as long as you have the Hyper-V role running. For this example I simply created a VM on Azure using the appropriate gallery image.</li>
</ul>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/5277.gallery.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/5277.gallery.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/5277.gallery.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/5277.gallery.png" alt="" border="0" /></a></p>
<ul>
<li>Once you have the VM created remote desktop to the VM and enable Remote App services. Go to Server Manager -&gt; Add Roles and Features and add the "Remote Desktop Services" role as well as the "Desktop Experience" feature under "User Interfaces and Infrastructure.</li>
<li>Disable encryption by running the following command in an elevated privileges command prompt. <code class="js">Fsutil behavior set disableencryption 1</code></li>
<li>If you are building your image inside an Azure virtual machine, rename the <strong>\%windir%\Panther\Unattend.xml</strong> file, as this will block the upload script used later from working. Change the name of this file to Unattend.old so that you will still have the file in case you need to revert your deployment.</li>
<li>Install <a title="" href="https://support.microsoft.com/kb/2977219">KB 2977219</a> on your image. This KB is required for all Azure RemoteApp template images. Uploading your image will fail if you do not install this KB is not installed.</li>
<li>Install your business application and create a tile on the Start Screen for the application. You can do this by simply finding the application, right clicking it and clicking pin to start. In my case I created a simple desktop app in Visual Studio but you can use any app as long as you have appropriate licenses. <strong>At this point take note of the full path to the executable for the app, you will need it later</strong>.</li>
<li>Now you can sysprep the image using the following command:
<p><strong>C:\Windows\System32\sysprep\sysprep.exe /generalize /oobe /shutdown</strong></p>
<p><strong>Note:</strong> Do not use the <strong>/mode:vm</strong> switch of the SYSPREP command even though this is a virtual machine.</p>
</li>
<li>
<p>In the next step we will upload this VM disk into the RemoteApp service, which means you will need to download the VHD now. This is a step that is a bit painful but it will go away at some stage as you will be able to link a RemoteApp template to an existing VM disk. For now, find out where the VHD file is in Azure and download it to disk. Obviously if you are using Hyper-V locally you will not need to do this.</p>
</li>
<li>
<p>&nbsp;For more information on this step <a href="https://azure.microsoft.com/en-us/documentation/articles/remoteapp-create-custom-image/">click here.</a></p>
</li>
</ul>
<h1>Step 2 - Upload the RemoteApp Template</h1>
<p>This step involves uploading the VHD file created in the previous step to RemoteApp as a template.</p>
<ul>
<li>Within the Azure portal click on the Remote App section and then click the "Template Images" tab.</li>
<li>Then click the "Upload" button.</li>
<li>Enter a name for your template, e.g. "CustomLOBApp", select a location and click next.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/8311.remoteappupload.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/8311.remoteappupload.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/8311.remoteappupload.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/8311.remoteappupload.png" alt="" border="0" /></a></p>
<ul>
<li>In the next screen you will be prompted to download a powershell script. Simply download it and run it. When the script runs it will ask for the location of the VHD file and will begin the process of uploading it to the RenmoteApp templates.</li>
<li>Note: You will need to install <a href="https://go.microsoft.com/?linkid=9811175">Azure Powershell</a></li>
<li>Let this process continue, it may take some time, but it is a once off process.</li>
</ul>
<h1>Step 3 - Create a RemoteApp Collection</h1>
<p>There are two types of RemoteApp collection that can be created, one with a VPN (hybrid collection)&nbsp;or one without (cloud collection). For the purposes of this guide I am creating a collection without a VPN. For more information on the hybrid collection <a href="https://azure.microsoft.com/en-us/documentation/articles/remoteapp-create-hybrid-deployment/" target="_blank">please click here.</a></p>
<ul>
<li>In the portal create a new service using the "Quick Create" option. Here you will select the data centre as well as the plan, basic or standard, and then template you created in the previous step.</li>
</ul>
<p>The term collection is used as the service represents a collection of programs/applications that can be made available.</p>
<h1>Step 4 - Publish Apps</h1>
<p>Now that the service has been provisioned we need to publish some apps.</p>
<ul>
<li>Click on the Publish tab within the RemoteApp collection and choose to publish an app from the start menu or one you know the path too.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/1777.publish.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/1777.publish.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/1777.publish.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/1777.publish.png" alt="" border="0" /></a></p>
<ul>
<li>Assuming you took note of the path to the app simply publish it using the path, or if it is listed as a start menu program you can do it that way.</li>
</ul>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/1200.published.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/1200.published.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/1200.published.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/1200.published.png" alt="" border="0" /></a></p>
<ul>
<li>Finally you can click the User Access tab to make this app available to specific users. This can be done using Microsoft Accounts or Azure AD accounts allowing you to integrate with your corporate identity solution.</li>
</ul>
<h1>Step&nbsp;5 - Access the App</h1>
<p>So now that your app has been published simply direct people to download the RemoteApp client for their device. The url for the download is <a href="https://www.remoteapp.windowsazure.com/">https://www.remoteapp.windowsazure.com/</a> and once your users download and install the client on their iOS, MacOS, Android or Windows&nbsp;device they will have access to your apps. For Windows phone the above URL won't work, instead look for the Microsoft Remote Desktop app in store.</p>
<p><br /><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/2728.appaccess.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/2728.appaccess.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/2728.appaccess.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/2728.appaccess.png" alt="" border="0" /></a></p>
<p>That's it! Really Simple to set up, takes a bit of time but now your users can access your apps on any device without the headache of deploying the app to those devices.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6835.appwindows.png" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6835.appwindows.png"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/6835.appwindows.png" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/6835.appwindows.png" alt="" border="0" /></a></p>
<h1>Pricing</h1>
<p>Azure RemoteApp is priced per user based on how much they use the applications delivered via the collection. Each user&nbsp;has 40 hours per month included in the starting price and will pay for additional hours at a defined rate up to a certain maximum. This means there is a minimum investment and after that you pay for what you use up to a maximum amount per user per month.<strong></strong></p>
<p>There are two pricing tiers based on whether or not you are delivering light weight applications or more productivity based applications.</p>
<table style="width: 529px; height: 131px; margin-right: auto; margin-left: auto;">
<thead>
<tr><th>&nbsp;</th><th>Basic</th><th>Standard</th></tr>
</thead>
<tbody>
<tr>
<td>Target user</td>
<td>Task worker</td>
<td>Information worker</td>
</tr>
<tr>
<td>Example applications</td>
<td>Lightweight LOB applications (e.g. data entry, expense reporting)</td>
<td>Productivity applications (e.g. Office)</td>
</tr>
<tr>
<td>Storage (user)</td>
<td>50 GB</td>
<td>50 GB</td>
</tr>
<tr>
<td>Starting price (user/month)</td>
<td><span class="price-data" data-amount="10">&euro;7.447</span></td>
<td><span class="price-data" data-amount="15">&euro;11.18</span></td>
</tr>
<tr>
<td>Hours included in starting price (month)</td>
<td>40</td>
<td>40</td>
</tr>
<tr>
<td>Hourly overage rate (Hour)</td>
<td><span class="price-data" data-amount="0.175">&euro;0.1304</span>/hr</td>
<td><span class="price-data" data-amount="0.2">&euro;0.149</span>/hr</td>
</tr>
<tr>
<td>Capped price (user/month)*</td>
<td><span class="price-data" data-amount="17" data-decimals="0">&euro;13</span></td>
<td><span class="price-data" data-amount="23" data-decimals="0">&euro;18</span></td>
</tr>
</tbody>
</table>
<p>&nbsp;</p>
<p><strong>Notes: </strong></p>
<ol>
<li><strong>There is a minimum charge of 20 users for this service. If you only have one or two users you would still need to pay for 20 users.</strong></li>
<li><strong>In any one subscription you can only create 2 collections. The service is designed such that you deliver multiple apps within a single collection rather than create collections for each app. If you want to create more collections you can contact support and ask to have this limit increased.</strong></li>
<li><strong>Currently, there is a user limit&nbsp;up to 400 users per App Collection for Azure RemoteApp Basic and up to 250 users for Azure RemoteApp Standard. Please contact Azure support if you need to exceed these limits.</strong></li>
</ol>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft Azure Review of 2014</title>
      <link>https://docs.microsoft.com/archive/blogs/niallsblog/microsoft-azure-review-of-2014</link>
      <pubDate>Mon, 22 Dec 2014 04:06:00 GMT</pubDate>
      <dc:creator><![CDATA[Niall Moran - Ireland]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/niallsblog/2014/12/22/microsoft-azure-review-of-2014/</guid>
      <description><![CDATA[2014 has been a massive year for Microsoft Azure. We have seen Azure show up as the only leader...]]></description>
      <content:encoded><![CDATA[<p>2014 has been a massive year for Microsoft Azure. We have seen Azure show up as the only leader across PaaS, IaaS and Storage according to <a href="https://microsoft-news.com/gartner-names-microsoft-as-a-leader-in-its-2014-cloud-iaas-magic-quadrant-report/">Gartner</a> and is now positioned very strongly against competitors like Amazon and Google, in fact in terms of data centre reach Azure is <a href="https://www.businessinsider.sg/microsoft-satya-nadella-azure-serious-threat-to-amazon-and-google-2014-10/#.VJBoBo1ya70">twice the size of AWS and 6 times that of </a>Google. This is an impressive acceleration and it makes for&nbsp;a very interesting 2015.</p>
<p>We have even seen a rebranding to Microsoft Azure&nbsp;from Windows Azure: a&nbsp;step I think was crucial in dispelling the myth that Azure was good for Windows only workloads. We are now seeing <a href="https://weblogs.asp.net/scottgu/announcing-open-source-of-net-core-framework-net-core-distribution-for-linux-osx-and-free-visual-studio-community-edition" target="_blank">over 20% Linux workloads on VMs</a> and the developer support for languages like PHP, Java, Node.JS and more&nbsp;is second to none.</p>
<p>So here is a summary of the major enhancements this year:</p>
<p style="text-align: center;"><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/8867.ea0109482f5600ce458c9689daa39359.jpg" original-url="https://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/8867.ea0109482f5600ce458c9689daa39359.jpg"><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/62/62/8867.ea0109482f5600ce458c9689daa39359.jpg" original-url="https://blogs.msdn.com/resized-image.ashx/__size/550x0/__key/communityserver-blogs-components-weblogfiles/00-00-01-62-62/8867.ea0109482f5600ce458c9689daa39359.jpg" alt="" border="0" /></a></p>
<h1>January 2014</h1>
<ul>
<li><a href="https://azure.microsoft.com/blog/2014/01/16/announcing-pci-dss-compliance-and-expanded-iso-certification-for-windows-azure-general-availability-of-windows-azure-hyper-v-recovery-manager-and-other-updates-to-windows-azure/">PCI Compliance and GA of Hyper-V recovery manager</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/01/24/storage-price-match/">Reduced pricing on storage</a></li>
</ul>
<h1>March 2014</h1>
<ul>
<li><a href="https://azure.microsoft.com/blog/2014/03/13/announcing-general-availability-of-oracle-software-on-windows-azure-and-updates-to-windows-azure-traffic-manager-2/">GA of Oracle support</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/03/25/upcoming-name-change-for-windows-azure/">Windows Azure changes name to Microsoft Azure</a></li>
<li><a href="https://azure.microsoft.com/blog/topics/announcements/page/11/">Azure available in China</a></li>
</ul>
<h1>April 2014</h1>
<ul>
<li><a href="https://azure.microsoft.com/blog/2014/04/03/announcing-preview-of-new-portal-and-exciting-updates-to-other-azure-services/">Preview Portal</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/04/03/announcing-preview-of-new-portal-and-exciting-updates-to-other-azure-services/">Chef and Puppet support</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/04/03/announcing-preview-of-new-portal-and-exciting-updates-to-other-azure-services/">Website updates including new Tier and improved SSL support</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/04/03/announcing-preview-of-new-portal-and-exciting-updates-to-other-azure-services/">Autoscale GA</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/04/04/introducing-web-hosting-plans-for-azure-web-sites/">Web Hosting Plans</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/04/04/pricing-tiers-updates-for-microsoft-azure-websites/">New Pricing Tiers for Websites</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/04/09/windows-azure-hdinsight-supports-preview-clusters-of-hadoop-2-2/">Hadoop 2.2 support in HDinsight</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/04/10/new-azure-websites-region-southeast-asia/">New Region for Websites - Southeast Asia</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/04/14/microsoft-avro-library/">Avro library for HDinsight released</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/04/23/microsoft-extends-its-trailblazing-commitments-to-data-privacy/">EU Data Privacy Rubber Stamp</a></li>
</ul>
<h1>May 2014</h1>
<ul>
<li><a href="https://azure.microsoft.com/blog/2014/05/01/big-compute-for-microsoft-azure-announcing-the-acquisition-of-greenbutton">&nbsp;Acquisition of GreenButton for HPC</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/05/12/empowering-customers-to-embrace-cloud-with-exciting-updates-to-microsoft-azure-at-teched-na/">GA of ExpressRoute</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/05/12/empowering-customers-to-embrace-cloud-with-exciting-updates-to-microsoft-azure-at-teched-na/">GA of Azure Import/Export</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/05/12/empowering-customers-to-embrace-cloud-with-exciting-updates-to-microsoft-azure-at-teched-na/">Preview of Hybrid Connections</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/05/12/empowering-customers-to-embrace-cloud-with-exciting-updates-to-microsoft-azure-at-teched-na/">API Management Preview </a></li>
<li><a href="https://azure.microsoft.com/blog/2014/05/12/empowering-customers-to-embrace-cloud-with-exciting-updates-to-microsoft-azure-at-teched-na/">Anti-malware for VMs</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/05/19/azure-store-launches-for-direct-enterprise-agreement-ea-customers-and-channel-partners/">Azure Store Opens to Direct Customers</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/05/19/performance-in-the-new-azure-sql-database-service-tiers/">Predictable Performance Levels in SQL Database</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/05/28/announcing-the-acquisition-of-capptain/">Acquisition of Capptain for Mobile Analytics</a></li>
<li><a href="https://azure.microsoft.com/blog/topics/announcements/page/10/">SAP Certifications for Azure</a></li>
</ul>
<h1>June 2014</h1>
<ul>
<li><a title="Phone Support for SLES 11 SP3" href="https://azure.microsoft.com/blog/2014/06/02/phone-support-for-sles-11-sp3/" rel="bookmark">Phone Support for SLES 11 SP3</a></li>
<li><a title="Azure HDInsight supports Hadoop 2.4 for 100x faster queries on Azure Blobs" href="https://azure.microsoft.com/blog/2014/06/03/azure-hdinsight-supports-hadoop-2-4-for-100x-faster-queries-on-azure-blobs/" rel="bookmark">Azure HDInsight supports Hadoop 2.4 for 100x faster queries on Azure Blobs</a></li>
<li><a title="Microsoft Continues Global Expansion of Cloud Services" href="https://azure.microsoft.com/blog/2014/06/05/microsoft-continues-global-expansion-of-cloud-services/" rel="bookmark">Microsoft Continues Global Expansion of Cloud Services</a></li>
<li><a title="Azure HDInsight previewing HBase clusters as a NoSQL database on Azure Blobs" href="https://azure.microsoft.com/blog/2014/06/06/azure-hdinsight-previewing-hbase-clusters-as-a-nosql-database-on-azure-blobs/" rel="bookmark">Azure HDInsight previewing HBase clusters as a NoSQL database on Azure Blobs</a></li>
<li><a title="Announcing the 0.3.0-beta preview of Microsoft Azure WebJobs SDK" href="https://azure.microsoft.com/blog/2014/06/18/announcing-the-0-3-0-beta-preview-of-microsoft-azure-webjobs-sdk/" rel="bookmark">Announcing the 0.3.0-beta preview of Microsoft Azure WebJobs SDK</a></li>
<li><a title="New and improved Azure Status" href="https://azure.microsoft.com/blog/2014/06/19/new-azure-status-health-dashboard/" rel="bookmark">New and improved Azure Status</a></li>
<li><a title="Azure Traffic Manager External Endpoints and Weighted Round Robin via PowerShell" href="https://azure.microsoft.com/blog/2014/06/26/azure-traffic-manager-external-endpoints-and-weighted-round-robin-via-powershell/" rel="bookmark">Azure Traffic Manager External Endpoints and Weighted Round Robin via PowerShell</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/06/09/docker-and-azure-coolness/">Docker on Azure</a></li>
</ul>
<h1>July 2014</h1>
<ul>
<li><a href="https://azure.microsoft.com/blog/2014/07/08/azure-update-sql-database-easy-upgrade-to-new-service-tiers-performance-improvements-pitr-for-basic-and-automated-export-for-all-service-tiers/">SQL Database Updates</a></li>
<li>Collaboration with Google and Docker to Support New Open Source Projects on Microsoft Azure</li>
<li><a title="New ExpressRoute locations and partners" href="https://azure.microsoft.com/blog/2014/07/21/new-expressroute-locations-and-partners/" rel="bookmark">New ExpressRoute locations and partners</a></li>
<li><a title="Announcing: Reverse DNS for Azure Cloud Services" href="https://azure.microsoft.com/blog/2014/07/21/announcing-reverse-dns-for-azure-cloud-services/" rel="bookmark">Announcing: Reverse DNS for Azure Cloud Services</a></li>
</ul>
<h1>August 2014</h1>
<ul>
<li><a title="Azure Resource Manager Tools Preview" href="https://azure.microsoft.com/blog/2014/08/11/azure-resource-manager-tools-preview/" rel="bookmark">Azure Resource Manager Tools Preview</a></li>
<li><a title="RavenHQ Now Available in the Azure Store" href="https://azure.microsoft.com/blog/2014/08/12/ravenhq-now-available-in-the-azure-store/" rel="bookmark">RavenHQ Now Available in the Azure Store</a></li>
<li><a title="Migrate On-Premises Virtualized Workloads to Azure using Azure Site Recovery" href="https://azure.microsoft.com/blog/2014/08/13/migrate-on-premise-virtualized-workloads-to-azure-using-azure-site-recovery/" rel="bookmark">Migrate On-Premises Virtualized Workloads to Azure using Azure Site Recovery</a></li>
<li><a title="MyGet Now Available in the Azure Store" href="https://azure.microsoft.com/blog/2014/08/19/myget-now-available-in-the-azure-store/" rel="bookmark">MyGet Now Available in the Azure Store</a></li>
<li><a title="Azure Virtual Machine Disk Encryption using CloudLink" href="https://azure.microsoft.com/blog/2014/08/19/azure-virtual-machine-disk-encryption-using-cloudlink/" rel="bookmark">Azure Virtual Machine Disk Encryption using CloudLink</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/08/21/new-azure-services-and-updates-expand-openness-choice-and-flexibility/">DocumentDB in Preview</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/08/21/new-azure-services-and-updates-expand-openness-choice-and-flexibility/">Azure HDInsight support for Apache HBase&trade; generally available</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/08/21/new-azure-services-and-updates-expand-openness-choice-and-flexibility/">VM Depot in Azure Gallery</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/08/21/new-azure-services-and-updates-expand-openness-choice-and-flexibility/">Azure Search in preview</a></li>
<li><a title="Azure HDInsight makes HBase (NoSQL database) a GA Feature" href="https://azure.microsoft.com/blog/2014/08/25/azure-hdinsight-makes-hbase-nosql-database-a-ga-feature/" rel="bookmark">Azure HDInsight makes HBase (NoSQL database) a GA Feature</a></li>
</ul>
<h1>September 2014</h1>
<ul>
<li><a title="Azure Media Services Launches Proven Live Streaming Platform" href="https://azure.microsoft.com/blog/2014/09/10/azure-media-services-launches-proven-live-streaming-platform/" rel="bookmark">Azure Media Services Launches Proven Live Streaming Platform</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/09/10/enabling-developers-it-professionals-and-business-leaders-to-maximize-opportunities-with-cloud/">VPN support for Websites</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/09/10/enabling-developers-it-professionals-and-business-leaders-to-maximize-opportunities-with-cloud/">Greater price performance and business continuity with SQL Database&nbsp;</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/09/10/enabling-developers-it-professionals-and-business-leaders-to-maximize-opportunities-with-cloud/">GA of API Management</a></li>
<li><a href="https://azure.microsoft.com/blog/2014/09/10/enabling-developers-it-professionals-and-business-leaders-to-maximize-opportunities-with-cloud/">Role Based Access Control</a></li>
<li><a title="The apiphany epiphany: GA&rsquo;ing Azure API Management" href="https://azure.microsoft.com/blog/2014/09/10/the-apiphany-epiphany-gaing-azure-api-management/" rel="bookmark">The apiphany epiphany: GA&rsquo;ing Azure API Management</a></li>
<li><a title="Announcing public availability of Azure Media Services Content Protection Services" href="https://azure.microsoft.com/blog/2014/09/10/announcing-public-availability-of-azure-media-services-content-protection-services/" rel="bookmark">Announcing public availability of Azure Media Services Content Protection Services</a></li>
<li><a title="High Speed Encoding with Azure Media Services" href="https://azure.microsoft.com/blog/2014/09/10/high-speed-encoding-with-azure-media-services/" rel="bookmark">High Speed Encoding with Azure Media Services</a></li>
<li><a title="Introducing: Azure Media Indexer" href="https://azure.microsoft.com/blog/2014/09/10/introducing-azure-media-indexer/" rel="bookmark">Introducing: Azure Media Indexer</a></li>
<li><a title="DASH Live Streaming with Azure Media Service" href="https://azure.microsoft.com/blog/2014/09/13/dash-live-streaming-with-azure-media-service/" rel="bookmark">DASH Live Streaming with Azure Media Service</a></li>
<li><a title="Azure Websites Virtual Network Integration" href="https://azure.microsoft.com/blog/2014/09/15/azure-websites-virtual-network-integration/" rel="bookmark">Azure Websites Virtual Network Integration</a></li>
<li><a title="Microsoft Azure Announced as Cloud Computing Winner at 2014 Tech Impact Awards" href="https://azure.microsoft.com/blog/2014/09/24/microsoft-azure-announced-as-cloud-computing-winner-at-2014-tech-impact-awards/" rel="bookmark">Microsoft Azure Announced as Cloud Computing Winner at 2014 Tech Impact Awards</a></li>
<li><a title="Monitoring, Diagnosing and Troubleshooting Azure Storage" href="https://azure.microsoft.com/blog/2014/09/25/monitoring-diagnosing-and-troubleshooting-azure-storage/" rel="bookmark">Monitoring, Diagnosing and Troubleshooting Azure Storage</a></li>
<li><a title="ModSecurity Web Application Firewall on Azure Websites" href="https://azure.microsoft.com/blog/2014/09/29/modsecurity-for-azure-websites/" rel="bookmark">ModSecurity Web Application Firewall on Azure Websites</a></li>
</ul>
<h1>October</h1>
<ul>
<li><a title="Introducing Elastic Scale preview for Azure SQL Database" href="https://azure.microsoft.com/blog/2014/10/02/introducing-elastic-scale-preview-for-azure-sql-database/" rel="bookmark">Introducing Elastic Scale preview for Azure SQL Database</a></li>
<li><a title="Disaster Recovery to Azure using Azure Site Recovery is now GA" href="https://azure.microsoft.com/blog/2014/10/02/disaster-recovery-to-azure-using-azure-site-recovery-is-now-ga/" rel="bookmark">Disaster Recovery to Azure using Azure Site Recovery is now GA</a></li>
<li><a title="Announcing Support for Backup of Windows Server 2008 with Azure Backup" href="https://azure.microsoft.com/blog/2014/10/06/announcing-support-for-backup-of-windows-server-2008-with-azure-backup/" rel="bookmark">Announcing Support for Backup of Windows Server 2008 with Azure Backup</a></li>
<li><a title="Azure Traffic Manager available within Azure in China" href="https://azure.microsoft.com/blog/2014/10/08/azure-traffic-manager-in-azure-in-china/" rel="bookmark">Azure Traffic Manager available within Azure in China</a></li>
<li><a title="Managing Media Workflows with the new Azure Media Services Explorer Tool" href="https://azure.microsoft.com/blog/2014/10/08/managing-media-workflows-with-the-new-azure-media-services-explorer-tool/" rel="bookmark">Managing Media Workflows with the new Azure Media Services Explorer Tool</a></li>
<li><a title="Support Site Extension for Azure Websites (Preview Release)" href="https://azure.microsoft.com/blog/2014/10/08/support-site-extension-for-azure-websites-preview-release/" rel="bookmark">Support Site Extension for Azure Websites (Preview Release)</a></li>
<li><a title="Azure DocumentDB: Profile of MSN Health and Fitness" href="https://azure.microsoft.com/blog/2014/10/09/azure-documentdb-profile-of-msn-health-and-fitness-2/" rel="bookmark">Azure DocumentDB: Profile of MSN Health and Fitness</a></li>
<li><a title="New Windows Server containers and Azure support for Docker" href="https://azure.microsoft.com/blog/2014/10/15/new-windows-server-containers-and-azure-support-for-docker/" rel="bookmark">New Windows Server containers and Azure support for Docker</a></li>
<li>R<a title="Microsoft brings real-time analytics to Hadoop with Storm preview" href="https://azure.microsoft.com/blog/2014/10/15/microsoft-brings-real-time-analytics-to-hadoop-with-storm-preview/" rel="bookmark">eal-time analytics to Hadoop with Storm preview</a></li>
<li><a title="SAN Replication based Enterprise Grade Disaster Recovery with ASR and System Center" href="https://azure.microsoft.com/blog/2014/10/27/san-replication-based-enterprise-grade-disaster-recovery-with-asr-and-system-center/" rel="bookmark">SAN Replication based Enterprise Grade Disaster Recovery with ASR and System Center</a></li>
<li><a title="Announcing the Azure Marketplace" href="https://azure.microsoft.com/blog/2014/10/28/announcing-the-azure-marketplace/" rel="bookmark">Announcing the Azure Marketplace</a></li>
<li><a title="Introducing Azure Websites Migration Assistant" href="https://azure.microsoft.com/blog/2014/10/28/introducing-azure-websites-migration-assistant/" rel="bookmark">Introducing Azure Websites Migration Assistant</a></li>
<li><a title="Announcing Azure Stream Analytics for real-time event processing" href="https://azure.microsoft.com/blog/2014/10/29/announcing-azure-stream-analytics-for-real-time-event-processing/" rel="bookmark">Announcing Azure Stream Analytics for real-time event processing</a></li>
<li><a title="New: Azure Traffic Manager Nested Profiles" href="https://azure.microsoft.com/blog/2014/10/29/new-azure-traffic-manager-nested-profiles/" rel="bookmark">New: Azure Traffic Manager Nested Profiles</a></li>
<li><a title="New Networking features and partnerships for Enterprise scenarios" href="https://azure.microsoft.com/blog/2014/10/29/networking-enterprise/" rel="bookmark">New Networking features and partnerships for Enterprise scenarios</a></li>
<li><a title="Azure Site Recovery &ndash; Announcing Windows Azure Pack integration and PowerShell Support" href="https://azure.microsoft.com/blog/2014/10/30/azure-site-recovery-announcing-windows-azure-pack-integration-and-powershell-support/" rel="bookmark">Azure Site Recovery &ndash; Announcing Windows Azure Pack integration and PowerShell Support</a></li>
<li><a title="Microsoft Antimalware for Azure Cloud Services and Virtual Machines" href="https://azure.microsoft.com/blog/2014/10/30/microsoft-antimalware-for-azure-cloud-services-and-virtual-machines/" rel="bookmark">Microsoft Antimalware for Azure Cloud Services and Virtual Machines</a></li>
</ul>
<h1>November</h1>
<ul>
<li><a title="Azure Search Updates: Multilanguage, Azure Portal Index Management &amp; More!" href="https://azure.microsoft.com/blog/2014/11/06/azure-search-updates-multilanguage-azure-portal-index-management-more/" rel="bookmark">Azure Search Updates: Multilanguage, Azure Portal Index Management &amp; More!</a></li>
<li><a title="Deploying Your Own Private Docker Registry on Azure" href="https://azure.microsoft.com/blog/2014/11/11/deploying-your-own-private-docker-registry-on-azure/" rel="bookmark">Deploying Your Own Private Docker Registry on Azure</a></li>
<li><a title="Azure Websites Authentication / Authorization" href="https://azure.microsoft.com/blog/2014/11/13/azure-websites-authentication-authorization/" rel="bookmark">Azure Websites Authentication / Authorization</a></li>
<li><a title="Azure HDInsight clusters can now be customized to run a variety of Hadoop projects including Spark and R Modules" href="https://azure.microsoft.com/blog/2014/11/17/azure-hdinsight-clusters-can-now-be-customized-to-run-a-variety-of-hadoop-projects-including-spark-and-r/" rel="bookmark">Azure HDInsight clusters can now be customized to run a variety of Hadoop projects including Spark and R Modules</a></li>
<li><a title="Docker CLI for Windows Clients" href="https://azure.microsoft.com/blog/2014/11/18/docker-cli-for-windows-clients/" rel="bookmark">Docker CLI for Windows Clients</a></li>
<li><a title="Announcing Azure Media Services Live streaming with AES encryption" href="https://azure.microsoft.com/blog/2014/11/19/announcing-aes-dynamic-encryption-enabled-on-live-streaming-with-azure-media-services/" rel="bookmark">Announcing Azure Media Services Live streaming with AES encryption</a></li>
<li><a title="Azure HDInsight now Generally Available in China, Australia, and Japan East" href="https://azure.microsoft.com/blog/2014/11/25/azure-hdinsight-now-generally-available-in-china-australia-and-japan-east/" rel="bookmark">Azure HDInsight now Generally Available in China, Australia, and Japan East</a></li>
</ul>
<h1>December</h1>
<ul>
<li><a title="DockerCon Europe 2014 announcements opens up new opportunities for Azure customers" href="https://azure.microsoft.com/blog/2014/12/04/dockercon-europe-2014-announcements-opens-new-opportunities-for-azure-customers/" rel="bookmark">DockerCon Europe 2014 announcements opens up new opportunities for Azure customers</a></li>
<li><a title="Announcing General Availability of Microsoft Azure Government" href="https://azure.microsoft.com/blog/2014/12/09/announcing-general-availability-of-microsoft-azure-government/" rel="bookmark">Announcing General Availability of Microsoft Azure Government</a></li>
<li><a title="Azure Security SSL 3.0 Update" href="https://azure.microsoft.com/blog/2014/12/09/azure-security-ssl-3-0-update/" rel="bookmark">Azure Security SSL 3.0 Update</a></li>
<li><a title="Continued Innovation: Microsoft announces updates across Storage, Azure SQL Database, Identity and Access Management and Media Services" href="https://azure.microsoft.com/blog/2014/12/11/continued-innovation-microsoft-announces-updates-across-storage-azure-sql-database-identity-and-access-management-and-media-services/" rel="bookmark">Continued Innovation: Microsoft announces updates across Storage, Azure SQL Database, Identity and Access Management and Media Services</a></li>
<li><a title="Azure Media Services Announces General Availability of Live Channels" href="https://azure.microsoft.com/blog/2014/12/11/azure-media-services-announces-general-availability-of-live-channels/" rel="bookmark">Azure Media Services Announces General Availability of Live Channels</a></li>
<li><a title="Introducing Premium Storage: High-Performance Storage for Azure Virtual Machine Workloads" href="https://azure.microsoft.com/blog/2014/12/11/introducing-premium-storage-high-performance-storage-for-azure-virtual-machine-workloads/" rel="bookmark">Introducing Premium Storage: High-Performance Storage for Azure Virtual Machine Workloads</a></li>
<li><a title="Azure HDInsight Makes Cluster Customization Generally Available And Provide more Templates for Hadoop projects including Spark, R, Giraph, and Solr" href="https://azure.microsoft.com/blog/2014/12/18/azure-hdinsight-makes-cluster-customization-generally-available-and-provide-more-templates-for-hadoop-projects-including-spark-r-giraph-and-solr/" rel="bookmark">Azure HDInsight Makes Cluster Customization Generally Available And Provide more Templates for Hadoop projects including Spark, R, Giraph, and Solr</a></li>
<li><a title="Announcing General Availability of Mobile Offline Sync Managed SDK" href="https://azure.microsoft.com/blog/2014/12/18/announcing-general-availability-of-mobile-offline-sync/" rel="bookmark">Announcing General Availability of Mobile Offline Sync Managed SDK</a></li>
<li><a title="Microsoft Azure Government Meets Criminal Justice Information Services (CJIS) Requirements" href="https://azure.microsoft.com/blog/2014/12/18/microsoft-azure-government-meets-criminal-justice-information-services-cjis-requirements/" rel="bookmark">Microsoft Azure Government Meets Criminal Justice Information Services (CJIS) Requirements</a></li>
</ul>]]></content:encoded>
    </item>
  </channel>
</rss>