Month: December 2016

Azure WeeklySponsors

2016: Build Azure Year in Review

BuildAzure_Logo2It’s been a year and a half since I first started BuildAzure.com. Starting from zero visitors and page views, the site has had tremendous growth over this time; both overall traffic and subscribers!. I haven’t written any “meta” posts about the site before, but in the theme of transparency I’ve decided to write up this “Year in Review” article. To summarize, Build Azure is currently getting nearly 40,000 page views per month, and 4,000+ subscribers across multiple mediums with 185 published articles.

My name is Chris Pietschmann, and am the person who’s been writing all these articles and I’d like to share a little “meta” information about the Build Azure site. I would also like to extend a huge “Thank You” to all who’ve been visiting and subscribing! It’s really amazing to see people finding so much value from the content on this site! Read More

Azure Weekly

Azure Weekly: Dec 26, 2016

Are you having difficulty keeping up to date on all the frequent changes and updates in the Microsoft Azure space? Then the Build Azure Weekly has the solution you’re looking for. Build Azure Weekly is a weekly blog post that includes all the latest Microsoft Azure Service Updates from the week in addition to links to many other blog articles, podcasts and videos from all over the Internet.

If you want to receive these in your email, then don’t forget to Subscribe!

Service Updates

Here’s a list of the Microsoft Azure Service Updates from over the past week:

Sponsor – Datadog

Datadog

With Datadog, you can see all your data in one place. Servers, clouds, apps, and more. Metrics, alerts, usage.

In addition, you can monitor your Azure infrastructure with custom alerts and dashboards.
Sign up for a free 14-day trial!
I am excited to have Datadog as the sponsor of Build Azure! Instead of displaying crummy banner ads that no one likes, we’re able to have a sponsorship from a company with a product everyone using Microsoft Azure should look at.

Read More

ArchitectureInfographic

The Polynimbus Cloud Enterprise

Many organizations are finding that they are integrating solutions across multiple cloud providers these days. Many complete systems are contained within a single cloud provider, but many different systems may be spread across  multiple cloud providers. We’re starting to enter a world of the Polynimbus Enterprise; an enterprise that uses 2 or more cloud platform providers.

What is a Polynimbus Enterprise?

Put simply, a Polynimbus Enterprise is an Enterprise that utilizes services from multiple cloud providers. Perhaps some applications are in Microsoft Azure, some in Amazon AWS, and possibly some are even in the Google Cloud. Poly-nimbus means “Many Cloud”.

Poly-nimbus Enterprise: An enterprise that utilizes multiple cloud providers

Many enterprises today are finding they are managing multiple software systems and/or databases hosted in different cloud providers. Maybe they started using Amazon AWS a couple years ago, but today find that certain parts of their business or IT team are hosting some applications in Microsoft Azure as well. This is very similar to the fact that many organizations have both Linux and Windows servers.

Polynimus and using multiple cloud providers is all about using the right tool for the job. Just as a certain programming language or development platform / tool is better for certain scenarios, a specific cloud may also be “just right” in certain cases as well.

Why Polynimbus?

There are many reasons to use multiple Cloud Providers, although in a perfect world you would only need 1 and possibly you can achieve this within your organization. However, many organizations are finding they are utilizing multiple cloud providers for a various of reasons. These reasons span from personal preference, to Manager oversight, to cost, and many others.

Here’s a few reasons why an organization may find themselves in a situation where they have applications spread across multiple cloud providers:

  • Talent Pool – Depending on who you’re able to hire you may find new hires know one cloud provider better than another, and possibly even a different cloud provider than your existing team. To reduce cost of training and get applications shipped to help the business or customer you may need to just accept a change in tooling to get the job done efficiently.
  • Legacy – You may be attempting to utilize a certain cloud provider more than another, but possibly you have Production systems that just can’t be moved from where they are. Many companies found this to be true when first moving to the cloud, and many are finding this true as they further embrace the cloud future.
  • Cost – Depending on your situation, you may find it cheaper to host and run a certain system in one cloud provider over another. This could possibly mean a shift from one preferred cloud provider to another.
  • Diversity / Avoid Cloud Lock-in – Some management teams or even entire organizations are finding it difficult to think about being locked into single cloud provider. As a result they are forcing their systems to be spread across different providers.
  • Contractors / Consultants – Perhaps a consulting firm or team of contractors is building applications and putting them in a different cloud provider. Whether you’re aware from day one, or find out once the product is delivered, you might find yourself at the end of the day supporting systems hosted within multiple cloud providers.

As you can see, these are some very compelling reasons why an enterprise would become Polynimbus. In fact, these are the same reason why organizations and teams choose to end up using and supporting applications using many different technologies over time. It’s just something that’s inevitable in the IT field, and the Cloud is no different as we are finding out.

Polynimbus Considerations

As an enterprise / organization or IT team is finding themselves adopting multiple clouds, there are a number of considerations to think about or at least be aware of. Here’s a short list of some of these considerations:

  • One App, One Cloud – It’s best not to spread different components of the same application across multiple cloud providers. This can lead to increased network latency for API and database calls, as well as incur an increase in Ingress and/or Egress charges when transferring data in and out of the cloud data centers.
  • Global Availability – It’s possible by leverage multiple cloud providers that you could achieve a greater level of global availability of your application for your users. Perhaps by distributing the load across multiple instances in multiple clouds you could better place instance endpoints closer to your end users.
  • Training – By managing systems spread across multiple cloud providers there is most likely going to be an increase in the training costs for your IT team. After all, many of them will need to know enough and be familiar enough with each cloud provider to be able to jump over and help out with updates and maintenance of various enterprise systems that may be running on different cloud providers.
  • Lock-in – By spreading applications and system across cloud providers, you are making it easier to migrate over and away from one cloud provider over another. Likewise, you are also making it much more costly to operate than if you had just chosen and stuck with a single cloud provider as a standard for your organization.
  • Flexibility – By forcing your organization or IT team to support applications across multiple cloud providers you ensuring a greater level of flexibility on your team to be able to update, maintain, or build a green fields application on either of the cloud providers you are currently supporting / using.
  • Hiring – While utilizing multiple cloud providers will likely open up the prospective employee pool, it will also make it tricky to hire talented people who know exactly what your organization needs. It’s difficult to find the perfect candidate in general, but the more technical skills you add to the “helpful” section of the job listings, the more difficult you may find it to hire the right people. You may end up listing multiple job postings for the same job but list one for each cloud provider you are using just to hopefully find a candidate that knows one of the cloud providers you need expertise in.
  • Migration – Just as going all in on a single cloud provider may prevent you from migrating to another, if you have applications spread across multiple cloud providers, you may still find things just as difficult if you find your team in a position that requires an application to me migrated from one cloud provider to another.

The above list is not all inclusive and there are likely a few more considerations to keep in mind. Don’t be afraid to go Polynimbus and use the right tool for the job!

HardwareInternet of Things

Microsoft Certified for IoT Device Catalog

There are a number of Microsoft Certified for IoT Starter Kits available. These are tailors mostly to prototyping solutions, as they come with a number of sensors and things necessary to get started building. However, if you know what platforms you want to target, or are looking for a number of platforms to choose from, then you’ll want to look through the catalog of Microsoft Certified for IoT devices.

Rather than just having a documentation page or PDF that lists out what all the Certified for IoT Devices are, Microsoft has created a catalog website that’s easily searchable and filterable. Using the official Azure Certified for IoT device catalog can really help you find the perfect IoT hardware for your next IoT project; especially industrial or commercial projects.

The Azure Certified for IoT device catalog is located at: https://catalog.azureiotsuite.com

msazurecertifiediotdevicecatalog

Azure Weekly

Azure Weekly: Dec 19, 2016

Are you having difficulty keeping up to date on all the frequent changes and updates in the Microsoft Azure space? Then the Build Azure Weekly has the solution you’re looking for. Build Azure Weekly is a weekly blog post that includes all the latest Microsoft Azure Service Updates from the week in addition to links to many other blog articles, podcasts and videos from all over the Internet.

If you want to receive these in your email, then don’t forget to Subscribe!

Service Updates

Here’s a list of the Microsoft Azure Service Updates from over the past week:

Sponsor – Datadog

Datadog

With Datadog, you can see all your data in one place. Servers, clouds, apps, and more. Metrics, alerts, usage.

In addition, you can monitor your Azure infrastructure with custom alerts and dashboards.
Sign up for a free 14-day trial!
I am excited to have Datadog as the sponsor of Build Azure! Instead of displaying crummy banner ads that no one likes, we’re able to have a sponsorship from a company with a product everyone using Microsoft Azure should look at.

Read More

Developmentserverless

Azure Functions Visual Studio Tools Preview for VS’2015

functions_colorThe serverless computing realm of cloud computing has been growing in interest and functionality lately. Recently, Azure Functions reached General Availability and an eagerly anticipated v1.0 release. Microsoft has not stopped there, in fact they just recently released a Preview of the new Visual Studio Tools for Azure Functions. These tools bring Azure Functions support into the Visual Studio IDE!

Visual Studio Tools for Azure Functions Preview

The new Visual Studio Tools for Azure Functions is currently in a Preview release state. As a result, the tools aren’t fully complete yet, and as with any Preview release it can be expected that things may / will change a bit before the final release. All preview releases can be expected to have some rough spots, bugs, and limitations. That being stated…

The requirements to install the Visual Studio Tools for Azure Functions are:

  • You must be running Visual Studio 2015 Update 3 with the “Microsoft Web Developer Tools” extension installed.
  • You must have Azure 2.9.6 .NET SDK installed.

Once you have the following prerequisites installed, you can go ahead to download and install the Visual Studio Tools for Azure Functions Preview.vsazurefunctionstoolspreviewinstaller01

Create New Azure Functions Project

Once the Visual Studio Tools for Azure Functions Preview is installed, you can easily create a new Azure Functions project within Visual Studio 2015 from the New Project dialog. It is located under the Cloud section under Visual C#.

vsazurefunctionspreview_newproject

Even though the Azure Function (Preview) project template is located underneath the Visual C# -> Cloud section, you are able to create / author Azure Functions in non-C# languages within the project after creation.

vsazurefunctionspreview_addfunctionmenuTo add a New Azure Function to the project, just following these steps:

  1. Right-click on the Project within the Solution Explorer window.
  2. Click on Add, then New Azure Function…
  3. Within the New Azure Function dialog, select the Azure Function template in your choice language from the list.

The list of languages supported for authoring Azure Functions within the Visual Studio Tools for Azure Functions is inclusive of all the languages supported by Azure Functions. This makes the tool much more flexible than if it were to only support C# and JavaScript as the current editor UI does within the Azure Portal.

vsazurefunctionspreview_addfunctionlanguagedropdownThe Azure Functions languages supported include:

  • Bash
  • Batch
  • C#
  • F#
  • JavaScript
  • PHP
  • PowerShell
  • Python

In addition to choosing the language template for the Azure Function to add to the project, there are also many different templates to choose from including different types of Triggers that will be setup for the Azure Function. Not all the languages support all the different Trigger types and Function templates from the New Azure Functions dialog, but there is a fairly long list currently available; especially for C# and Javascript.

vsazurefunctionspreview_addfunction

Here’s a list of the different types of Azure Functions currently available within the Preview release. Remember, the options do vary depending on the programming language selected.

  • Empty
  • BlobTrigger
  • HttpTrigger
  • QueueTrigger
  • EventHubTrigger
  • FaceLocator
  • Generic WebHook
  • GitHub Commenter
  • GitHub WebHook
  • Http GET (CRUD)
  • Http POST (CRUD)
  • Http PUT (CRUD)
  • Image Resizer
  • ManualTrigger
  • SAS Token Generator
  • ServiceBusQueueTrigger
  • ServiceBusTopicTrigger
  • TimerTrigger

Once you choose the Azure Functions template to start from for a new Function, there are some Bindings fields that need to be filled in. These Bindings fields will vary depending on the Azure Functions template chosen to create a new Function from.

Azure Functions Project Files

vsazurefunctionspreview_solutionexplorerThe layout of the files created for a new Azure Functions project is similar to how the files of an Azure Function created through the Azure Portal are laid out.

At the root of the project are the appsettings.json and host.json files. These are files that can be used to describe some things for the projects, but at initial creation they are pretty much empty.

The appsettings.json file can be used to configure any necessary App Settings values that are needed by the Azure Functions within the project.

Then there is a folder created for each Function that gets created within the Azure Function. in this screenshot is an example of a new Azure Function that was created using the Manual Trigger C# template.

The functions.json file contains configuration data for the Function. This is the JSON file that is used to specify / configure the Function Bindings for Inputs and Outputs of the Function.

[code language=”js”]

{
“bindings”: [
{
“type”: “httpTrigger”,
“direction”: “in”,
“route”: “orders”,
“authLevel”: “anonymous”
},
{
“type”: “http”,
“direction”: “out”
}
]
}

[/code]

The project.json for a C# Azure Function is where any NuGet dependencies for the Function get defined. It’s useful to know that in addition to using the project.json file, Azure Functions to automatically have access to some standard namespace imports that just be referenced with a using keyword. There is also a shorthand syntax for adding references to external assemblies from within the C# script file.

Here’s a sample of a project.json file that adds a NuGet reference:

[code language=”js”]

{
“frameworks”: {
“net46”:{
“dependencies”: {
“Microsoft.ProjectOxford.Face”: “1.1.0”
}
}
}
}

[/code]

Local Debugging

Azure Functions projects can be run on the local development machine. Currently, in the Visual Studio Tools for Azure Functions Preview release only supports remote debugging with C#, but that is expected to be expanded out in the future.

vsazurefunctionspreview_csbreakpoint

One prerequisite for running and debugging Azure Functions locally is that the Azure Functions CLI needs to be installed. The first time an Azure Functions project is run locally, it will prompt to download and install the Azure Functions CLI, so this is an easy requirement to manage / obtain.

vsazurefunctionspreview_azurefunctionscliprompt

Publishing to Azure

Azure Functions project can be published to Azure In the same manner as publishing Web Apps into an Azure Subscription. An Azure Web App is created within an Azure Subscription, then the credentials and other information for the Web App is configured within the Publish dialog for the project. Then the Azure Functions project can easily be published into Azure directly from within Visual Studio.

In line with other functionality of Azure Web Apps, the Azure Functions project can also be Debugged Remotely from the local development machine while running in Azure. Currently, this is only supported with C# based Azure Functions.

vsazurefunctionspreview_azurepublish_newwebapp

Known Limitations

The Visual Studio Tools for Azure Functions Preview announcement post lists a few known limitations for this new Preview release. The are as follows:

  • IntelliSense support is limited, and available only for C# and JavaScript by default. F#, Python and PowerShell IntelliSense support is available with the installation of additional components.
  • Adding New files is not available using “Add New Item”.
  • There is currently a bug that causes Functions published from Visual Studio to be improperly registered in Azure.
  • The C# Image Resizer function template incorrectly generates the function Bindings. These need to be manually edited to fix.

Product Feedback

The Azure Functions team is eager to get feedback from anyone using the new Visual Studio Tools for Azure Functions Preview release. Any issues can be reported using the GitHub repository (please include “Visual Studio” in the issue title), plus additional comments and questions are welcome on their Twitter accounts as well.

Azure Weekly

Azure Weekly: Dec 12, 2016

Are you having difficulty keeping up to date on all the frequent changes and updates in the Microsoft Azure space? Then the Build Azure Weekly has the solution you’re looking for. Build Azure Weekly is a weekly blog post that includes all the latest Microsoft Azure Service Updates from the week in addition to links to many other blog articles, podcasts and videos from all over the Internet.

If you want to receive these in your email, then don’t forget to Subscribe!

Service Updates

Here’s a list of the Microsoft Azure Service Updates from over the past week:

Sponsor – Datadog

Datadog

With Datadog, you can see all your data in one place. Servers, clouds, apps, and more. Metrics, alerts, usage.

In addition, you can monitor your Azure infrastructure with custom alerts and dashboards.
Sign up for a free 14-day trial!
I am excited to have Datadog as the sponsor of Build Azure! Instead of displaying crummy banner ads that no one likes, we’re able to have a sponsorship from a company with a product everyone using Microsoft Azure should look at.

Read More

InfrastructureVideo

How big is the Microsoft Azure Cloud?

The Microsoft Azure Cloud is huge. Or should I say H-y-uuuuu-ge! It’s the largest cloud provider in the world with 38 Regions currently (30 online) spread across the globe, and Microsoft keeps adding more regions every few months. Microsoft has been betting the future of their Enterprise business on Azure since the initial General Availability in 2010, and they’ve increased their efforts over the last couple of years as the “Cloud Wars” have been speeding up.

Microsoft has been a little vague over the years. They publish how many Azure Regions there are, and what cities they’re located in. I’ve put together a map that plots the city location of each of the Azure Regions to help visualize things on the Region side of the equation. However, they don’t disclose the street addresses of the data centers, and until recently they haven’t exactly stated how many data centers make up the 38 Azure Regions. That is until recently, where Microsoft released a short video showcasing a few details and images of their data centers around the globe.

Here are some facts about Microsoft’s Cloud Infrastructure that powers Microsoft Azure, Office 365, Xbox Live, and many other services:

  • The Microsoft Cloud is made up of more than 100 datacenters worldwide.
  • The Microsoft Cloud serves over 140 countries.
  • The Microsoft Cloud is comprised of MILLIONS of servers, and growing!
  • The Microsoft Cloud is built with the latest hardware innovations to maximize efficiency.
  • The Microsoft Cloud is connected by enough fiber to stretch to the Moon and back 3 times!
  • Microsoft processes Millions of network requests per second backed by high availability infrastructure.
  • Everything is monitored 24x7x365
  • The Microsoft global infrastructure is 100% carbon neutral.
  • Microsoft has built one of the most connected networks in the world so you don’t have to.
  • Microsoft Azure is used by 85% of Fortune 500 companies.

Here’s the video for your viewing pleasure. The birds eye views of the data centers are really interesting to see, along with a few peeks inside some of them.

On the note of being 100% carbon neutral, Microsoft states that about 44 percent of their datacenter energy comes from Wind, Solar, and Hydropower. Microsoft is also aiming to increase that figure to 50 by 2018. If you’re interested in a little more detail on Microsoft power usage, and the deal to power the new Cheyenne, Wyoming datacenter on Wind power, I encourage you to read the “Microsoft Azure: Cloud datacenter goes fully wind powered in landmark energy deal” article over on ZDNet.

Book

Free eBook: Containerized Docker Application Lifecycle with Microsoft Platform and Tools

ebook_msdockerapplifecycleThe “Containerized Docker Application Lifecycle with Microsoft Platform and Tools” free eBook from Microsoft Press, written by Cesar de la Torre, may be the guide you’ve been looking for. If you’re new to Docker, it’s recommended to start reading this book from the beginning as it covers the fundamental Docker terms, including containers, images, registry, clusters, orchestrators, and Docker itself. However, if you’re already familiar with Docker, and just want to know what tools Microsoft has to offer, you can skip on to the “Introduction to the Microsoft platform and tools for Containerized Applications” and continue from there. Read More