The Undocumented API – Bob Familiar

Twist My ARM – Automating Azure using PowerShell

I released my book, Microservice, IoT and Azure, in October of 2015. Within 2 weeks, the Azure PowerShell code samples were out of date. This is a testament to the velocity at which Microsoft is updating both the services and the tools for Azure.

While the concepts in the book are still relevant, the code repository that I had released became out of date quickly. In order to rectify this situation, I recently created a new code repository that leverages the advancements in Azure PowerShell as well as showcases the patterns and practices for end-to-end IoT solutions that leverage IoT Hub.

The new code repository is located here on GitHub.

This content provides foundational knowledge in how to architect and implement an IoT solution using Windows 10 Core IoT hardware devices and Azure IoT Hub and Stream Analytics. Both Device to Cloud and Cloud to Device communication patterns are covered.

At the conclusion of going through the hands-on lab, you will have provisioned an Azure environment using PowerShell that contains Storage, Service Bus, DocumentDb, IoT Hub, Stream Analytics and API Management and a custom microservices for provisioning devices. You will also develop a Windows 10 Core IoT application that sends telemetry and receives incoming commands as well as develop a real-time dashboard that displays incoming telemetry and has the ability to send commands to the remote device. Device Provisioning, IoT Hub monitoring and techniques for applying dynamic business rules to real-time streams is covered.

In this article, I am going to highlight a few interesting Azure PowerShell and Azure Resource Manager techniques that I learned along the way while creating this content. Note that all the code snippets are drawn from the code repository here.

Read More

Video: Microservices, IoT and Azure

I recently recorded a session for the Collab365 virtual conference that is an overview of my recently released book, Microservices, IoT and Azure. The book provides practical guidance for adopting a high velocity, continuous delivery process to create reliable, scalable, Software-as-a-Service (SaaS) solutions that are designed and built using a microservice architecture, deployed to the Azure cloud, and managed through automation. Microservices, IoT, and Azure offers software developers, architects, and operations engineers’ step-by-step directions for building SaaS applications—applications that are available 24×7, work on any device, scale elastically, and are resilient to change–through code, script, exercises, and a working reference implementation.

bookcover-small

A working definition of microservices is provided and I contrast this approach with traditional monolithic Layered Architecture. A fictitious, home-biomedical startup is used to demonstrate microservice architecture and automation capabilities for cross-cutting and business services as well as connected device scenarios for Internet of Things (IoT). Several Azure PaaS services are detailed including Storage, SQL Database, DocumentDb, Redis Cache, Cloud Services, Web API’s, API Management, IoT Hub, IoT Suite, Event Hub, and Stream Analytics. Finally the book looks to the future and examines Service Fabric to see how microservices are becoming the de facto approach to building reliable software in the cloud.

The video combines presentation with live demos that will give you insight into the concepts laid out in the book and the reference implementation that is used to demonstrate those concepts.

You will learn :

  1. Why is microservice architecture a compelling pattern for cloud-native applications
  2. What are microservices and how do they compare to traditional monolithic layered architecture
  3. How microservices are used in Internet of Things (IoT) and Big Data Analytics solutions
  4. How to use PowerShell to automate microservice development, test, staging and deployment

Microservices, IoT, and Azure: Leveraging DevOps and Microservice Architecture to deliver SaaS Solutions is on sale now!

Click to reserve your copy today!

Book: Microservices, IoT and Azure Now Available

51oTem3JasL__SX327_BO1,204,203,200_

Order on Amazon

This book provides practical guidance for adopting a high velocity, continuous delivery process to create reliable, scalable, Software-as-a-Service (SaaS) solutions that are designed and built using a microservice architecture, deployed to the Azure cloud, and managed through automation. Microservices, IoT, and Azure offers software developers, architects, and operations engineers’ step-by-step directions for building SaaS applications—applications that are available 24×7, work on any device, scale elastically, and are resilient to change–through code, script, exercises, and a working reference implementation.

The book provides a working definition of microservices and contrasts this approach with traditional monolithic Layered Architecture. A fictitious, homebiomedical startup is used to demonstrate microservice architecture and automation capabilities for cross-cutting and business services as well as connected device scenarios for Internet of Things (IoT). Several Azure PaaS services are detailed including Storage, SQL Database, DocumentDb, Redis Cache, Cloud Services, Web API’s, API Management, IoT Hub, IoT Suite, Event Hub, and Stream Analytics. Finally the book looks to the future and examines Service Fabric to see how microservices are becoming the de facto approach to building reliable software in the cloud.

What you’ll learn

  • What microservices are and why are they’re a compelling architecture pattern for SaaS applications
  • How to design, develop, and deploy microservices using Visual Studio, PowerShell, and Azure
  • Microservice patterns for cross-cutting concerns and business capabilities
  • Microservice patterns for Internet of Things and big data analytics solutions using IoT Hub, Event Hub, and Stream Analytics
  • Techniques for automating microservice provisioning, building, and deployment
  • What Service Fabric is and how it’s the future direction for microservices on Microsoft Azure

Who this book is for

Software Application Architects, .NET Developers, Database Admins and DevOps engineers. The sample code provided is a combination of C# and PowerShell.

IoT Business Value

Thank you to everyone who attend the BlueMetal Driving IoT Business Value events in Cambridge and New York. Below is a recap of the session. If you are interested in discussing an IoT business scenario with us, do not hesitate to reach out.

-Bob Familiar

IoT

IoT is not new. The ability to connect devices to networks, gather telemetry and display that information to garner insight and take action has been around for some time. I have a fond memory of my parents insisting that I stay up late to watch Neil Armstrong become the first name to walk on the moon. I am sure it was this event that began my passion for engineering and my addiction to caffeine.

NeilArmstrong

This was my first exposure to the concept of data being collected by sensors and sent across space and time to be collected and analyzed in near-real-time so that status could be visualized, insights gleaned and action taken in case of emergency. NASA’s Mission Control consisted of hundreds of people, each with their own collection of monitors providing data visualization of key metrics coming from the command module or an astronaut’s suit. That data was an immediate measure of mission status and safety. Truly amazing when you think about what that organization accomplished given the state of technology at the time.

NASAMissionControl

The Tipping Point

The one thing that NASA had that made them unique was a budget. A HUGE budget. Billions of dollars enabled NASA to put humans on the moon and in the process define IoT for the rest of us. I guess IoT really is rocket science.

Read More

Book: Microservices, IoT and Azure

*** COMING SOON ***

Microservices, IoT and Azure

Leveraging DevOps and Microservice Architecture to deliver SaaS Solutions
by Bob Familiar, published by Apress Publishing.

Microservices, IoT & Azure provides practical guidance on how to adopt a Microservices Architecture and leverage Microsoft’s Azure Platform in order to build highly scalable, resilient, Software-as-a-Service solutions. Bob Familiar, Practice Director for Cloud & Services at BlueMetal, Inc. provides software developers, architects and operations engineers’ practical guidance and impactful reference implementations that demonstrate how to leverage Automation and a Microservice Architecture to deliver SaaS applications. SaaS applications are software products that are available 24×7, work on any device, are always up to date, scale elastically and are resilient to change. This book will demonstrates how a combination of Azure, Microservice Architecture and Automation provide the key to achieving continuous delivery and the promise of Software-as-a-Service.

A working definition of Microservices will be presented and the approach will be contrasted with traditional Monolithic Layered Architecture. You will learn how Microsoft Azure provides foundational Microservices for Storage, Compute, Messaging, App Containers, API Management and more and learn how to leverage those services in the creation of your own Microservice catalog. The Home Biomedical Reference Implementation will be used to demonstrate these capabilities for traditional line of business services as well as Connected Device scenarios for Internet of Things. Finally we will look to the future, to where Azure is headed, to see how Microservices are becoming the De facto approach to building in the cloud.

What You Will Learn:

  • What are Microservices and why are they a compelling architecture pattern for SaaS applications
  • How to design, develop and deploy Microservices using Visual Studio, PowerShell and Azure
  • Microservice patterns for traditional line of business solutions
  • Microservice patterns for Internet of Things and Big Data Analytics solutions
  • Techniques for automating Microservice provisioning, build and deployment
  • What is Service Fabric and how that is the future direction for Microservices on the Microsoft Azure
Chapters
  1. From Monolithic to Microservice
  2. What is a Microservice?
  3. Microservice Architecture
  4. Azure – A Microservice Platform
  5. Automation
  6. Microservice Reference Implementation
  7. IoT and Microservices
  8. Service Fabric

The Reference Implementation will provide PowerShell scripts to automate the Provisioning, Build, Deployment and De-Provisioning of the solution. The Solution consists of several independent Microservices built using C# and ASP.NET Web API along with DocumentDb and Redis. In addition there is an IoT component of the solution that is built using Azure IoT Suite, Cloud Services and SQL Database. There is a sample real-time data visualization client that demonstrates how to orchestrate the Microservices into a complete solution.

Viewed in whole, the Reference Implementation demonstrates how to use several Azure PaaS Services together along with custom code and automation scripts to create a modern Software-as-a-Service solution.

The software is provided under the Microsoft Public License (Ms-PL) and as such the software is licensed “as-is.” You bear the risk of using it. The contributors give no express warranties, guarantees or conditions.

Driving IoT Business Value Event Series

The Internet of Things is transforming business and entire industries as companies shift to creating products that are smart and connected. The IoT wave is here now – enabled by low cost hardware, pervasive connectivity and established cloud services to collapse implementation efforts.

Please join your peers and IoT thought leaders at this invitation-only half-day in-person event. BlueMetal’s IoT innovators will bring real-world experiences to discuss:

  • Ingesting large volumes of device and sensor telemetry
  • Leveraging the Azure IoT Suite to transform and stage telemetry for alerts, notifications, real-time status and big data analytics
  • Adopting BI dashboards to identify trends, provide real-time predictive analysis and delivery enhancements

Register

Register for Cambridge Event

Register for the New York Event

Register for the Chicago Event

 

RefM – A Microservice Case Study

clip_image002

Introduction

Microservice Architecture is an emerging approach to modern application architecture where applications are composed of autonomous, independently deployed, scaled, and managed services. This approach to service architecture along with the benefits of cloud platforms provides the scalable, resilient, cross platform foundation necessary for Modern Applications.

This post takes the logical architecture defined in my previous post Modern Apps and Microservices and applies it to the design and implementation of a Microservice called RefM. RefM provides a common utility needed by nearly all applications, reference data.

Read More

Modern Apps and Microservices

image

Introduction

This post is part one of a two part series that delves into an emerging approach to modern application architecture called Microservices where  applications are composed of autonomous, independently deployed, scaled, and managed services. This approach to service architecture along with the benefits of cloud platforms provides the scalable, resilient, cross platform foundation necessary for Modern Applications. In part one I will provide an overview of Microservices along with the benefits, a logical architecture and deployment scenarios. In part two of the series I will detail the design and implementation of RefM, a Microservice that provides application reference data.

The software development landscape has changed dramatically over the past decade. Disruptive technologies and design approaches have introduced entirely new types of applications and methods for building them. As Mikhail Shir of BlueMetal writes ‘…The Modern Application is user centric. It enables users to interact with information and people anywhere on any device. It scales resiliently and adapts to its environment. It is designed, architected, and developed using modern frameworks, patterns and methodologies. It is beautiful in its user experience as well as its technical implementation…’ In conjunction with these new user experiences is the need to connect to and interact with a variety of online services that provide information and transactions in a scalable, resilient and cross platform way.

The concept of distributed services is not new. Since the early days of object oriented programming, the idea that one could provide ‘objects’ in a distributed network using RPC mechanisms and message queues along with location transparency has been the holy grail of software engineering. CORBA and DCOM were early attempts to provide a language and OS agnostic approach to distributed computing but not without the heavy burden of complexity.

The Internet revolution brought about the evolution, and in many ways the simplification, of distributed computing with the introduction of Web Service Protocols such as SOAP and REST. There has been much back and forth amongst the proponents of Service Oriented Architecture on which protocol should rule the day. Without rehashing those battles, suffice it to say that REST has become the primary choice today for defining API’s to cloud hosted services. The key to applying REST is to understand that its CRUD style of API design is not focused on the underlying physical store, i.e. the database, but on the resources that are being accessed. As such, it is a good choice for API design and keeps the overall approach simple and straightforward.

Another important factor that is impacting how we think about distributed computing today is the emergence of commercial cloud platforms such as Amazon’s AWS and Microsoft’s Azure. These platforms provide pay-as-you-go access to compute and storage as well as easy access to a suite of common application services such as SQL and No-SQL databases, in-memory cache and performance analytics as well as lend themselves to automating the development, test, staging and production environments providing the foundation for Continuous DeliveryRead More

Internet of Things, A Reference Architecture

We at BlueMetal have a great deal of experience in creating solutions that leveraged connected devices streaming millions of records to cloud hosted repositories, leveraging historical and predictive analytics engines to provide insight and creating immersive experiences that give our clients agility and speed in their daily business activities. Case in point…EnerNOC.

 

EnerNOC

Using Lean Engineering a small team from BlueMetal was able to provide EnerNOC with an amazing user experience in 10 weeks. The application spans twenty four 55” high definition displays combining data streaming from over 35,000 devices around the globe connected to the energy grid with geo-political, social media, environmental and financial data creating a visually stunning global view of EnerNOC’s business domain that is visible to all employees and every visitor to their downtown Boston office.

clip_image002

While this solution was clearly focused on the energy sector, the effort produced a reference architecture for Internet of Things solutions that spans verticals. To prove out the viability of this reference architecture in other verticals, BlueMetal created a Pharmaceutical Trial Scenario and implemented a live reference implementation.

Read More

Lean Engineering – Lean Methodology Applied to Enterprise IT

Overview

Lean Engineering defines a set of principles that guide the creation and deployment of software products at high velocity with low risk. By leveraging a Lean Engineering approach, the risk of validating new technology, making incremental changes in process and bringing new products to market can be lowered and a high quality result can be achieved at a faster rate.

Every discipline requires a set of principles or assertions to build upon. As disciples of the practice of software engineering, it is imperative that we define a clear set of unwavering principles that guide the process, methodology and architecture for the products we create.

RobotIdea

Read More

Loading...
X