Web Service – The Undocumented API

Tag: Web Service

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!

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

API Management Made Easy

API-Management Azure API Management Preview is a service available in Microsoft’s cloud platform that provides an easy to use hosted Web environment to create a full featured developer portal for your RESTful Web API’s and produce rich analytics to gain insight into API usage. If you are building RESTful Web API’s as part of your employee or customer facing solutions, this is a must have service. In this article I will show you how easy it is to get started with API Management.

 

What is API Management?

Todays modern apps are built on a foundation of scalable cloud services and storage. A common architecture pattern for modern apps is to provide an application programmable interface, a.k.a. an API, to open up the functionality to more developers who then build client apps, mashups or provide integration between apps.

These Cloud Service API’s typically expose their endpoints via HTTP using REST (representational state transfer) protocol (GET, POST, PUT, DELETE) and are referred to as RESTful web API’s. By using this approach the implementation details of the API such as language, database, runtime, operating system, etc. are all abstracted. RESTful web API’s are by nature cross platform and can be consumed from any language, runtime, operating system, etc. that supports invoking HTTP requests.

It is rather easy today to build RESTful API’s in your language and platform of choice. Once you go down this path though it quickly becomes apparent you will need a great deal more infrastructure supporting your API’s in order to make them scalable, secure and are being used according to the usage and security policies that you define. This is where API Management comes into play.

An API Management system will wrap your API in its loving virtual arms and provide an additional layer of services. A typical set of services that an API Management system provides are: Read More

Coding in the Cloud: Attend a Windows Azure Dev Camp

251760_azureBanner_728x90

Spend the day with Windows Azure and leave with code running in the cloud.

Available in select cites, these free, one-day instructor-led workshops let you roll up your sleeves and get hands-on with Microsoft’s latest development tools and technologies.

You will learn how you can leverage the cloud for development, testing and deploying your solutions. The hands-on labs will focus on:

  • Windows Azure Websites and Virtual Machines Using ASP.NET & Microsoft SQL Server
  • Deploying Cloud Services in Windows Azure
  • Updating an App to a Modern Architecture
  • Configuring and testing a Modern Application.

All languages are welcome. With Windows Azure, you can use practically any language, framework, or tool to build or move existing applications into the cloud.

Register today for the event near you.

Loading...
X