Month: June 2017

Internet of Things

Deciding PaaS or SaaS for Building IoT Solutions in Microsoft Azure

Building out an IoT (Internet of Things) solution can be a difficult problem to solve. It sounds easy at first, you just connect a bunch of devices, sensors and such to the cloud. You write software to run on the IoT hardware and in the cloud, then connect the two to gather data / telemetry, communicate, and interoperate. Sounds easy, right? Well, it’s actually not as simple as it sounds. There are many things that can be difficult to implement correctly. The biggest problem area is Security, as it is in most other systems types as well. Then you can device management, cloud vs edge analytics, and many other aspects to a full IoT solution.

Traditionally you would need to build all this out yourself, however, with offerings from Microsoft there are a few options available for building out IoT solutions. The Azure IoT Suite offers PaaS (Platform as a Service) capabilities that are flexible for any scenario, while the newer Microsoft IoT Central is offering more managed SaaS (Software as a Service) capabilities to further assist in easing development, deployment and management.

PaaS IoT with Azure IoT Suite

There are many Microsoft Azure cloud services that can be used to build out an IoT solution. In order to more easily choose which services, Microsoft has created a marketing umbrella called the “Azure IoT Suite” that includes the following core services:

  • Azure IoT Hub provides 2-way device messaging to the cloud with full device management and security integration among other IoT features.
  • Azure Notification Hubs enables the ability to implement mobile push notification easily within the cloud that supports all major mobile platforms from iOS to Android and Windows.
  • Azure Machine Learning provides the ability to build powerful cloud-based predictive analytics tools using pre-built machine learning algorithms that greatly lower the barrier to embracing machine learning for your solutions.
  • PowerBI allows for rich visuals to be displayed providing easier analysis and reporting on your data.
  • Azure Stream Analytics is a Real-Time event stream processing pipeline in the cloud thats built for high scale and ease of integration.

In addition to the listed services, you could really use any other Azure service that fits your particular solution. For example you may integrate Azure Storage, Azure CosmosDB, Azure Functions, among many others to build out the full capabilities of your own IoT solutions. It’s really up to you to choose what Azure services fit your scenario best and build out the best solution for your needs.

The Azure IoT Suite is based on using Azure PaaS (Platform as a Service) offerings to build out your solutions in a manner where you don’t need to manage any of the underlying Virtual Machine, Operating System updates / patches, and so on. These underlying VM in the PaaS services are fully managed for you within Microsoft Azure. This allows you to focus on your solution, your business, and your data; essentials you only focus on what matters to your core business in building out your IoT solutions.

SaaS IoT with Microsoft IoT Central

With the announcement of Microsoft IoT Central, Microsoft is entering into an area of offering a SaaS (Software as a Service) offering for building out and managing IoT (Internet of Things) solutions. This mean that not only do you benefit from the managed VMs and other aspects of the Azure IoT Suite PaaS offering, but you will also benefit from a great level of abstraction and managed services built / designed specifically for IoT form the ground up.

I speculate that Microsoft IoT Central is in fact running on top of Azure IoT Suite at it’s core; this is the pattern Microsoft operates with when adding higher levels of abstract in the Azure cloud. Similarly, Azure Functions provides serverless compute and execution of method of code in the cloud, and is built as an abstraction layer on top of the Azure Web Jobs PaaS feature of Azure App Service.

The further abstraction of Microsoft IoT Central creates a SaaS (Software as a Service) offering from Microsoft for more easily implementing and managing IoT solutions using a SaaS model. This is great for organizations that do not have much cloud solution and device expertise. It also helps those organizations build IoT solutions that offer more predictable pricing without the necessity to completely build the entire IoT solution themselves.

Choosing PaaS or SaaS for Your IoT Solution

Choosing PaaS (Platform as a Service) or SaaS (Software as a Service) is a choice that’s similar to the options of hosting a traditional application using either IaaS or PaaS. It’s really a comparable analogy. When deciding which of them to choose, here are some highlights of each option that you can use to help decide between a SaaS-based IoT solution or a PaaS-based IoT solution:

SaaS-based IoT Solution

  • Fully managed solution
  • Less flexibility – you will need to use the pre-built or builtin features to build out your IoT solution
  • More features builtin – You don’t have to build everything yourself, as there are more features builtin that you can “automatically” take advantage of
  • Lower barrier to entry

PaaS-based IoT Solution

  • Fully customizable solution
  • More flexible – you can implement pretty much any IoT solution you need
  • Implement more yourself – With more flexibility, comes an increased responsibility to implement more of the various features of your IoT solutions yourself
  • More expertise required

Looking at the previous highlights of PaaS vs SaaS based IoT solutions, it really does appear that SaaS is the better option. This really may be the case. Coming back to the IaaS vs PaaS analogy for hosting application, you want to start with the more managed service and then go more customizable if you need the flexibility. The same thing goes for IoT solutions as well. You’ll want to evaluate the SaaS based services that Microsoft IoT Central offer you before starting to build out your IoT solution. If SaaS offers you everything, then the more managed system will likely be best for you to use. However, if there is anything you require than SaaS (via Microsoft IoT Central) doesn’t support, and you really truly do require that feature in your solution, then you’ll likely want to go the PaaS route with Azure IoT Suite to build your own custom implementation.

I hope the outline provided in this article helps you decide whether SaaS-based or PaaS-based framework and services are the most appropriate choice for your organizations next IoT solution.

Azure Weekly

Azure Weekly: June 26, 2017

Do you find it difficult to keep up-to-date on the frequent updates and changes in the Microsoft Azure cloud? If so, Build Azure Weekly is the solution you’ve been looking for! Build Azure Weekly is a weekly newsletter 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 the newsletter in your email every week, then you’ll absolutely want to Subscribe!

Service Updates

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

Top Links

Here are some of the most notable links from the week:

Sponsor

opsgility-new-high-res-logo-no-gear-with-taglineOpsgility is the leading Microsoft cloud technology trainer for developers and IT professionals, built around an esteemed network of industry experts and technical authors that includes Microsoft MVPs and Microsoft Insiders in more than 10 countries.

We provide live, instructor-led (onsite and virtual) courses as well as self-paced, online courses that go above and beyond simple videos or blog posts. Each course is designed to comprehensively guide the student through the subject by providing expert instructors, step-by-step hands-on labs, and knowledge measures to assess and ensure new skills are mastered.

Get started today with Microsoft Dev Essentials and get 3 months Free of Opsgility on-demand streaming service! Read More

Azure Weekly

Azure Weekly: June 19, 2017

Do you find it difficult to keep up-to-date on the frequent updates and changes in the Microsoft Azure cloud? If so, Build Azure Weekly is the solution you’ve been looking for! Build Azure Weekly is a weekly newsletter 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 the newsletter in your email every week, then you’ll absolutely want to Subscribe!

Service Updates

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

Top Links

Here are some of the most notable links from the week:

Sponsor

opsgility-new-high-res-logo-no-gear-with-taglineOpsgility is the leading Microsoft cloud technology trainer for developers and IT professionals, built around an esteemed network of industry experts and technical authors that includes Microsoft MVPs and Microsoft Insiders in more than 10 countries.

We provide live, instructor-led (onsite and virtual) courses as well as self-paced, online courses that go above and beyond simple videos or blog posts. Each course is designed to comprehensively guide the student through the subject by providing expert instructors, step-by-step hands-on labs, and knowledge measures to assess and ensure new skills are mastered.

Get started today with Microsoft Dev Essentials and get 3 months Free of Opsgility on-demand streaming service! Read More

ArchitectureContainersPaaS

Azure Service Fabric Powers Azure PaaS

Microsoft uses their own products to build and host their own products. This is done from the development platform level, all the way into the Microsoft Azure cloud. This concept of using your own products is called “Dogfooding”. (I have no idea where this term came from, but that’s what it means.) Dogfooding refers to the concept of “eating your own dog food”; meaning that you consume your own products and that helps you make your own products better. Microsoft does this a lot and in fact in the Microsoft Azure cloud, many services are built out “on top of” or using other services. Read More

Infrastructurepricing

Azure Subscription Resource Limits and Quotas

Azure Resource Manager (ARM) imposes limits and quotas on how many resources of each type you can provision per Azure Subscription, and even per Azure Region. Some limits are a hard maximum, while others are a soft limit that can be increases upon request. When working with Virtual Machines (VMs), Storage Accounts, Databases, and other resources in the Microsoft Azure cloud you can easily hit up against these limits, so it’s important to know they exist and how to work around them. This article will explain the details around the Limits and Quotas on resources within Microsoft Azure; including tips on how to work around these limits to scale as high as your organization needs. Read More

Azure Weekly

Azure Weekly: June 12, 2017

Do you find it difficult to keep up-to-date on the frequent updates and changes in the Microsoft Azure cloud? If so, Build Azure Weekly is the solution you’ve been looking for! Build Azure Weekly is a weekly newsletter 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 the newsletter in your email every week, then you’ll absolutely want to Subscribe!

Service Updates

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

Top Links

Here are some of the most notable links from the week:

Sponsor

opsgility-new-high-res-logo-no-gear-with-taglineOpsgility is the leading Microsoft cloud technology trainer for developers and IT professionals, built around an esteemed network of industry experts and technical authors that includes Microsoft MVPs and Microsoft Insiders in more than 10 countries.

We provide live, instructor-led (onsite and virtual) courses as well as self-paced, online courses that go above and beyond simple videos or blog posts. Each course is designed to comprehensively guide the student through the subject by providing expert instructors, step-by-step hands-on labs, and knowledge measures to assess and ensure new skills are mastered.

Get started today with Microsoft Dev Essentials and get 3 months Free of Opsgility on-demand streaming service! Read More

Azure CLIInfrastructure

Azure CLI 2.0: Quickly Start / Stop ALL VMs

You can easily Start and Stop Virtual Machines (VMs) through the Azure Portal. Previously, I’ve written about the importance of Stopping unused VMs to save money and place them in a “Stopped (Deallocated)” state. While it’s easy and simple to do through the Azure Portal, it’s also time consuming if you have multiple VMs; especially if you have a dozen or more VMs. The following Azure CLI 2.0 tip will show you how you can easily use the Azure CLI to Start and Stop multiple VMs with a single command!

Before we get into how to Start, Stop and Deallocate Virtual Machines (VMs) in batches, we must first cover the basics of Starting, Stopping and Deallocating VMs one at a time. After those commands are defined and demonstrated, then you’ll have the foundation necessary to extend on that to do the batching. Please be patient as you read through as you’ll need to step through this to fully understand the end result. And, you’ll be glad you did once you get there as this will really enable you to be immensely more productive in your management of Azure Virtual Machines when it comes to Starting, Stopping, and Deallocating them. Read More

CertificationTraining

New Big Data and Web Dev Microsoft Professional Program (MPP) Tracks Open for Enrollment

Last year Microsoft launched the new Microsoft Professional Program (MPP). This is the latest initiative from Microsoft to provide training and an educational platform to help fill the ever growing skills gap in IT. Initially, Microsoft launched the program with a single track; the Data Science Microsoft Professional Program (MPP) track. Due to the huge success of this initial track, Microsoft announced earlier this year they are expanding the Microsoft Professional Program to 2 more additional tracks; Big Data and Front-end Web Development.

Read More

Azure Weekly

Azure Weekly: June 5, 2017

Do you find it difficult to keep up-to-date on the frequent updates and changes in the Microsoft Azure cloud? If so, Build Azure Weekly is the solution you’ve been looking for! Build Azure Weekly is a weekly newsletter 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 the newsletter in your email every week, then you’ll absolutely want to Subscribe!

Service Updates

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

Top Links

Here are some of the most notable links from the week:

Sponsor

opsgility-new-high-res-logo-no-gear-with-taglineOpsgility is the leading Microsoft cloud technology trainer for developers and IT professionals, built around an esteemed network of industry experts and technical authors that includes Microsoft MVPs and Microsoft Insiders in more than 10 countries.

We provide live, instructor-led (onsite and virtual) courses as well as self-paced, online courses that go above and beyond simple videos or blog posts. Each course is designed to comprehensively guide the student through the subject by providing expert instructors, step-by-step hands-on labs, and knowledge measures to assess and ensure new skills are mastered.

Get started today with Microsoft Dev Essentials and get 3 months Free of Opsgility on-demand streaming service! Read More

Azure CLI

Azure CLI 2.0: Make Bash Output More Readable

It can be extremely useful to use the Azure CLI to manage / manipulate your Azure resources from the command-line. However, many of the commands will output a large amount of JSON that can be extremely difficult to read at the command-line. When using the Azure CLI within the Bash shell, you can use a couple techniques to make the JSON output much more readable, and using these techniques will really increase your productivity at the command-line.
Read More