Rarely have we seen enterprise integration taking a centre stage as much as in this year's Ignite Australia event. A special treat was bringing out key members from the product team in Redmond to present the latest advances!
Last week I had the great privilege of attending Microsoft Ignite Australia on the Gold Coast. In recent years I have given this event a miss because integration is an area mostly overlooked at Australian Ignite events. But this year was quite different. I was pleasantly surprised to see not only that Logic Apps, API Management, Service Bus, Service Fabric, Functions and even BizTalk Server 2016 were featured, but also overjoyed to see extraordinary representation from the Product Group teams themselves! Coming all the way from Redmond, the Pro Integration team was represented by Principal Group Program Manager Jim Harrer along with Principal Program Managers Kevin Lam, Jon Fancey and Program Manager Jeff Hollan. Also, Principal Program Manager Dan Rosanova came out with a terrific presentation on Azure Service Bus. It is rare indeed to have these folks travel to Australia, and it’s inspiring to finally see integration given the attention it deserves!
Here are some of the highlights of Ignite from my personal perspective as an integration professional (links to all the session videos on Channel 9 are included):
With Scott Guthrie opening the event as the keynote speaker, you know it’s going to be a great conference. But even better is when he actually performs a live demo using Logic Apps and Azure Cognitive Services! Logic Apps is nowhere near as well known as it should be, but Scott putting it front & centre really shows the enormous value this service provides as an PaaS integration tool. Scott demonstrated a compelling application by integrating Twitter with Azure Cognitive Services and Office 365.
Microsoft’s Hybrid Integration Vision Using BizTalk Server, Azure Logic Apps and Azure API Management
Probably the highlight of the conference for me, this session showcased the power of Microsoft’s integration platform vision. Jim Harrer, Jeff Hollan and Jon Fancey demonstrated the how combining on-prem integration via BizTalk Server with the scalability and connectivity afforded by Azure can produce amazing applications with minimal coding effort. After Jim talked about the vision and the toolsets available (including one slide that showed the 120+ connectors currently available!), Jeff & Jon gave a demonstration of an fictitious integrated dog spa business that incorporated BizTalk Server, Logic Apps and Azure Cognitive Services to recognise dog breeds from a photo and provide an automatic quote. It was humorous, compelling, and undoubtedly one of the best demos of the conference!
Azure for Developers - From App Services to Service Fabric
Microsoft’s Nick Ward presented this session which gave a walkthrough of the full gamut of the Microsoft PaaS integration platform. He started with the serverless offerings including Azure Functions for hosting arbitrary code, then moving on to Logic Apps for executing workflows. He then spoke about App Service and its ability to provide continuous delivery, auto-scaling and lots of other Azure goodness while catering for well-known app patterns. As a point of interest, he revealed that Web Apps, Mobile Apps and API Apps are really all the same thing under the covers. Next, he moved on to Service Fabric, which is both a PaaS and an IaaS offering. Service Fabric is built on top of a VM Scale Set and provides for self-healing hyper-scale with minimal latency and deployment effort. It currently installs on either Windows or Linux servers, and can be run anywhere including your on-prem datacentre or even an Amazon VM cluster. Finally he discussed Azure containers which provide the ultimate in server configuration management as well as application isolation. Nick provided some great guidance on what to use when, which typically comes down to how much environment control you need vs. rapid productivity:
Architectural Patterns for Hyperscale Service Fabric Implementations
This session run by Namit Tanasseri and Rahul Rai discussed a number messaging patterns that are possible to implement using Azure Service Fabric and a microservices architecture. They began by explaining the qualities of microservices (hyper-scalable, technology agnostic, autonomous, versioned, decoupled, focused, elementary, independently manageable, and uniquely addressable) and the advantages they offer over SOA. They then went on to explain how Service Fabric is an effective orchestrator of microservices through its ability to provide load levelling, a deployment view, and a programmable model. Finally, they launched into a brief discussion and demo of each of the following patterns and features:
- Compensating Transaction
- API Gateway
- High Density Deployment
- Circuit Breaker
- Event Sourcing
- Remindable Actors
Unfortunately I thought the discussions and accompanying examples were far too brief to give most of them justice, but I recognise the time constraints they were under. Nevertheless, the session served as inspiration to investigate these possibilities further, perhaps by reading the Programming Microsoft Azure Service Fabric book.
Integrating On-Premises SQL to CRM and Build a Mobile App in 1hr - no! YES!
It’s always a pleasure to attend one of Mick Badran’s presentations. His animated passion combined with his wry sense of humour contributes to an engaging session, not to mention his extensive knowledge and experience. Mick didn’t disappoint with this session where he demo’d using an on-premises data gateway to connect a SQL Server database to Dynamics CRM in Azure, and then used PowerApps and Flow to expose the data on a field worker’s mobile device. Mick first talked about the drivers of Digital Transformation, including one profound quip about how “IT should run at the speed of the business”. With the ease of modern apps like Flow and PowerApps, “everyone is a CIO” and small projects no longer have to be bottlenecked by lengthy IT software development lifecycles.
Although there were a couple of hiccups with the demo, Mick handled them quite professionally with his usual entertaining banter and by pulling the “pre-backed” version out of the hat. He even caused the audience to gasp at one point by flashing a fake BSOD screen in his slide deck – a neat trick he’s been known to pull on unsuspecting co-presenters in the past.
How to Build High Performing APIs
Former Mexia colleague and now Technical Director of InterIT Nathan Fernandez gave a compelling talk about how to leverage Application Insights Analytics (Kusto) to instrument your code and troubleshoot bottlenecks. After first explaining how App Insights works, Nathan proceeded to execute three demos, stepping through the code process to build a Web API project, add App Insights Analytics, and then use Kusto to find the source of the bottleneck (which was in this case a deliberate 2-second delay on writes to the database). His presentation was very well organised and clear, providing code samples for analytics queries, etc. His final three tips:
- Instrument everything
- Use Analytics to uncover performance issues (blocking code)
- Improve code, then automate testing to reach performance metrics using VSTS
Messaging in Azure
Dan Rosanova is the Principal Program Manager for the Azure Service Bus product team, and he used this opportunity to shout out the awesome messaging features this service offers. After explaining differences between the three tiers (Basic, Standard & Premium) and showing a lengthy list of common messaging patterns (load levelling/balancing, filtering, partitioning, routing, fan out, etc.), he went on with a detailed explanation of Event Hubs. His analogy to a cassette tape is probably the most accurate and enlightening portrayal I’ve ever heard to describe the stream recording capabilities of this service. He also explained partitions and how important it is to get that design right to ensure balance and efficiency. Event Hub Archiving is a relatively new feature that provides a code-free solution for long-term persistence of your data. Dan also talked about Service Bus Relay and Hybrid Connections, and its usefulness in scenarios too complex or costly for a VPN. He wrapped up by showing a slide with a staggering representation of the estimated throughput processed just within the 50 minutes of his presentation: over 21.6 billion messages!! I can’t think of any messaging service that can compete with that throughput at a similar cost level.
Build Microservices Based Applications Using Service Fabric
This Instructor Led Lab (ILL) presented by yours truly gave participants the opportunity to learn about Azure Service Fabric and how to build both a stateless and stateful service, connecting them to form a simple application that seamlessly withstood an upgrade and a node shutdown without losing any data. It was great to see 37 out of 40 filled at this lab!
Although not really part of Ignite “proper”, this free event took place at the same venue on the eve of the opening day. Microsoft DX Evangelist Megan Mallin organised for seven meetup groups to present a session, making them available to Ignite attendees from all over Australia instead of just the local members. The Brisbane Azure User Group presented a session on PowerApps and Flow with Azure MVP Martin Abbott, followed by a brief talk by Jeff Hollan, giving him a chance to promote his upcoming Ignite session on Hybrid Integration. It was a great turnout with over 70 attendees!
There were many other worthwhile sessions at Ignite that focused on Azure and/or integration technologies which I was unable to attend due to being rostered as a Technical Learning Guide in the hands-on labs. However, I look forward to watching the videos later on:
- Moving Enterprises to the Azure PaaS Model (Ernad Alashi)
- Serverless for the Enterprise with Microsoft Azure Functions (Paul Batum)
- From Spaghetti to Microservices Architecture (Stefano Tempesta)
- API Management Deep Dive (Jorge Arteiro)
With all of the new and improved technologies emerging in Azure, it’s a great time to be a professional integrator!