Post on 22-Jan-2017
Sponsored & Brought to you by
Application Insights for Integration DevelopersMichael Stephenson
https://twitter.com/michael_stephen
https://www.linkedin.com/in/michaelstephensonuk1
Introducing Integration Monday• v2.0 of UK Connected Systems User Group• Keep the momentum of Integrate 2014 going• Every Monday 7:30pm UK time (except bank holidays)• A session about integration• Engage with MVP’s• Engage with Microsoft Product Teams• Engage with Community
Engage with each otherTwitter: #integrationmonday + usual integration tagsWebsite: http://www.integrationusergroup.com/
Please reach out with ideas on what you would like to see:• Topics• Speakers• Ideas
Upcoming EventsDate Speaker Title
Mar 7th Elton Stoneman Integration with Docker and .net Core – Registration open now
Mar 14th Steef-Jan Wiggers TBD
Mar 21st Mike Martin TBD
Mar 28th Stephen Siciliano New Logic Apps Features
Apr 4th Howard Edidin DocumentDB integration and REST API
Website updates coming soon. Stay tuned!!
Application InsightsFor
Integration Developers
Michael.Stephenson@TheAzureCoach.com
How well does your application work?
It works great!
How do you know how well your application work?
Errrrr…… we don’t get many support
calls
Real-World Example
SharePoint Provider Hosted AppIn Azure Web App
WCF Service
Service Bus Relay
API
Line of Business Systems
It works pretty well!
When there is a problem we get
support calls
Add Application Insights
SharePoint Provider Hosted AppIn Azure Web App
WCF Service
Service Bus Relay
API
Line of Business Systems
Application InsightsMore than 1000 errors per hour that you didn’t know were happening
Lets just check that shall we?
Fix Issues
SharePoint Provider Hosted AppIn Azure Web App
WCF Service
Service Bus Relay
API
Line of Business Systems
Lets fix 2 bugs in here
Lets make 2 defensive code changes here
Monitor Improvement
SharePoint Provider Hosted AppIn Azure Web App
WCF Service
Service Bus Relay
API
Line of Business Systems
Application Insights• Less than 4 errors per hour• All errors caused by users not
existing in external system• Info sent to LOB application
support team, issue fixed• Finally errors happen by exception
Introduction
What is Application Insights• Product Aim
• Application Performance Management• Log Analysis• Usage Analysis• DevOps tool
• Key Features• Application availability monitoring• Supports Azure + On Premise• Server + PaaS hosting• Dependency Tracking• Server Monitoring Agent• Continuous export (eg to Power BI)
• Competitors• New Relic• DynaTrace• AppDynamics
• Standout Characteristics• Closely aligned to Azure + Windows
Server• 1st class support for Azure PaaS and
IaaS• Visual Studio Integration• One click add to application• Cross platform support• Exception troubleshooting
Supported Technologies• Languages
• .net• C++• Java• Javascript• Objective-C• PHP• Python• Ruby
• Logging Frameworks• Log4Net• Nlog• System.Diagnostics.Trace• Log4J
• Platforms• Angular• ASP.net• Android• Azure Web Apps• Azure VM• Azure Cloud Services• Dynamics CRM Online• Docker• iOS• J2EE• NodeJS• Spring• Windows Store• Windows Applications• Xamarin• SharePoint• WordPress• Other
Monitoring & Managing Solution
My Integration Solution
Does my application work the way I expect?Can I monitor the PaaS or IaaS aspects of the solutionAnd adhere to good IT practices?
I need to provide some user friendly reports for Business users
I need BizTalk specific monitoringand management features
I need low level logs fortroubleshooting
Developer BizTalk Administrator Business User
BizTalk Support Operator 1st/2nd Line Support Operator
General IT Admin
Role Use of Monitoring Tools
Demo 1 – Web API – Zero Code Changes
Demo 2 – Web API
Demo 3 - WCF Services
Demo 4 – Log4net
Demo 5 - BizTalk
Correlating Events
My Component 2
Telemetry EventOperation.Id = 123
Order Management BPMShared Application Insights Instance
My Component 1
Telemetry EventOperation.Id = 123
Application specific telemetry
Application specific telemetry
Summary Thoughts
Application Insights + BizTalk Thoughts• Application Insights
• Plugs the gap around what to do with custom logging & telemetry• Allows you to have separation per BizTalk application (if you want)• Can give easy view of messages in and out• Provides a good search for troubleshooting• Can give insights to empower DevOps
• Application Insights Scenarios• Would compliment BizTalk 360 for developers and BizTalk Admins to
provide deeper analysis on custom code• Could be combines with PowerBI to provide a simpler BAM type reports
for users via custom events
Possible BizTalk Scenarios• Log message in and out in pipelines
• Log “Business style” events in orchestrations
• Correlate cross application telemetry
• Correlate cross system telemetry
Things I like….• Costs are good for most scenarios
• Very easy to get up and running
• Can do with no code changes
• Deep insights can be gained easily
I Application Insights.. but,• Azure API Management & Application Insights are not integrated right
now, feels like a missing opportunity
• Be aware Insights != Diagnostics Log
• Integration between logging frameworks and Application insights is ok but has some gaps – (eg all trace messages)
• Doesn’t currently have a profiling option like New Relic
• Id like to see cross component features
BizTalk 360
BizTalk Specific
Manage Processes
Governance
Knowledge base
Performance Counter
System Throttling
Historical Data Views
Business User Reports
Best Practice Analysers
Start/Stop System
Based on existing BizTalk data
Questions