overview of azure microservices and the impact on integration
TRANSCRIPT
Sponsored & Brought to you by
Overview of Azure Microservices and
the impact on integration
Sam Vanhoutte
https://twitter.com/SamVanhoutte
https://www.linkedin.com/in/samvanhoutte
Azure Microservices, an introduction
Sam Vanhoutte
CTO Codit, Integration MVP
#IntegrationMonday
Warning! A lot of this information is subject to change and is my personal interpretation of the online materials. I marked thoseslides with a yellow dot in the top right corner.
Nice to meet you
Sam VANHOUTTECTO, CoditIntegration MVP – BizTalk V-TSP
http://blog.codit.eu
@SamVanhoutte
International Focus -HQ in BE
2000 Belgium2004 France2013 Portugal
Microsoft Integration
2012 & 2013
Partner of the Year
FinalistApplication Integration
Community
AgendaContext & positioning
Azure Microservices, the reasoning
Early previews of BizTalk Microservices portal
A mock up
A technical deep(er) dive
My thoughts on the impact for BizTalk
How to prepare yourself
positioning
• Enterprise apps installed in a local datacenter
• Specialized BizTalk server integrated common
enterprise apps
• Few touch points with tight coupling
Traditional app
integration
Modern app integration Enterprise apps on-premises and in cloud
Many touch points with loose coupling
Integration is no longer a vertical solution,
we believe it is core to the app platform
Tailspin Air
Contoso
azure microservices
Azure MicroservicesThe big announcement
App Containers and Hosting Environment
Cloud Orchestration Engine
Web and Mobile Services
Microservices Ecosystem
BizTalk Microservices
Build modern Web and Mobile apps:
• A common app container and cross-platform extensibility model
• Out of box SaaS connectivity
• Integrated API management
• Built-in hybrid connectivity
• Available in public and private cloud
API Management
What is a MicroserviceQuoting http://martinfowler.com/articles/microservices.html
the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare mininum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
the microservice architectural style is an approach to developing a single application as a suite of small servicesthe microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API.
the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities
the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery.
the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare mininum of centralized management of these services
the microservice architectural style is an approach to developing a single application as a suite of small services, each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are built around business capabilities and independently deployable by fully automated deployment machinery. There is a bare mininum of centralized management of these services, which may be written in different programming languages and use different data storage technologies.
Mapping concepts to implementation
Concept
Application of small services
Own process, lightweight communication
Focused on business capabilities
Independently deployable
Minimized centralized management
Different programming languages & storage
Compose business app from gallery
Azure Websites & HTTP gateway
Gallery with codeless services
MS’s are separately upgradable
API Gateway (security, deployment…)
Web Sites (C#, node.js, PHP…)
Azure
App Containers and Hosting
Building on a solid foundation
Proven cloud scale
Hybrid connectivity built-in
Open platform
Available on premises today with Windows Azure pack
>400kApps Hosted
300kUnique Customers
120%Yearly Paid Subscription Growth
Yearly Traffic Growth
>500% ~2BillionTransactions daily
Built-in API Management
Hybrid connectivity
Throttle, rate limit and quota callers
Modern formats to existing APIs
Authentication + key management
Built-in analytics
GovernanceAccess
Control
Partner APIs
APIs for
On-Premises
and SaaS
Out-of-box Microservices
Standard Protocols
Common Enterprise Apps
Most Popular consumer and
Enterprise SaaS
Available through the
marketplace
Web Services(SOAP+WCF)
File
Siebel
Microsoft SQL Server
Informix
Oracle Database
SQL Azure
FTP/FTPS
Microsoft Dynamics AX
SMTP
HTTP, HTTPS (REST)
Websphere MQ
Microsoft SharePoint
Azure Services (Mobile + Others)
MongoDB
SFTP
Coupa
BOX
AS400
Azure Services (Service Bus)
Quickbooks
Salesforce
Sugar CRM
Microsoft Dynamics AX
Chatter
Azure HDInsight
Marketo
Azure Services (Storage Blob +Table)
Microsoft Yammer
Zoho
OneDrive
SuccessFactors
Zuora
Twilio
Workday
SalesForce
Office 365
IBM DB2Microsoft Dynamics CRM Online
SAP
BizTalk features as Microservices Validation
Batching/Debatching
Format Conversion (XML, JSON, FlatFile)
Extract
Transform
Mediation Patterns (Request Response,
One Way etc)
Business Rules
Trading Partner Management
AS2/X12/EDIFACT
Workflow engine and Web-based process designer JSON based workflow definition
Orchestrates API execution
Supports long running processes
and control flows
Provides rich logging, diagnostics
Enables developers and business
users to easily define and track
business process
Complete web + mobile experiences Rich PaaS offer with cross-platform
for .NET, Java, node.js, PHP…
Built-in autoscale and load balance
High availability and auto-patching
Continuous integration and DevOps
demo
project “siena”
some early previews
Workflow portal
B2B & EDI Trading partner management
Business Rules
technical deep(er)-dive
Azure Microservices Platform
26
➔ Gallery➔ Codeless (e.g. SaaS and On-premises connectors)➔ Code (e.g. activities and custom logic)
➔ Hosting – Azure App Container*: Enterprise cloud, global scale, DevOps ready
➔ Gateway➔ Security – Identity broker, SSO, secure token store➔ Runtime – Name resolution, isolated storage, shared config, “IDispatch” on WADL/Swagger➔ Proxy – Monitoring, governance, test pages
➔ Development
* Rebrand of azure web site
Mockup – dev experience
1. Develop Web API
Mockup – dev experience
2. Add microservice definition
Mockup – dev experience
3. Provide microservice metadata
Mockup – dev experience
4. Enable API metadata and configuration settings
Mockup – dev experience
5. Publish the micro service to the gallery
Mockup – dev experience
5. Publish the micro service to the gallery
VS/CLI
Microservice Gallery (nuget-based)
Azure Marketplace
Publish
SyncAzure Portal
Resource Group
Micro
service G
ateway
other Azure services…
Apps• Siena• Web• Desktop• Etc.
3rd party SaaS
Source
Code Microservices
From gallery
Direct deployed
Workflow (also from gallery)
Workflow Definitions
Mobile (also from gallery)
Codeless Microservices
From gallery
Direct deployed
Custom Code
Regular code
On-premises
VS/CLI
Microservice Gallery (nuget-based)
Azure Marketplace
Publish
SyncAzure Portal
Resource Group
Micro
service G
ateway
other Azure services…
Apps• Siena• Web• Desktop• Etc.
3rd party SaaS
Source
Code Microservices
From gallery
Direct deployed
Workflow (also from gallery)
Workflow Definitions
Mobile (also from gallery)
Codeless Microservices
From gallery
Direct deployed
Custom Code
Regular code
On-premises
Isolated storage
Shared config
Secure token store
Microservice Gateway
Runtime• Name resolution• Isolated storage• Shared config
Proxy• API logging• API access level• Transforming API definition
Identity Broker• AAD & social login• Identity brokerage• Secure token store
All• external
inbound calls• calls between
microservicesgo through the gateway
Gateway capabilities
➔ Platform Services➔ Discovery
➔ Logging
➔ Billing
➔ Automatic Updates
➔ Isolated Storage
➔ Metadata➔ Easily generate client libraries
➔ Powers Siena and workflow
Encrypted shared storageContext, settings & storage
public interface IIsolatedStorage
{
Task<string[]> EnumerateAsync();
// Return null if storage does not exist.
Task<Stream> OpenReadAsync(string name);
Task<Stream> OpenWriteAsync(string name);
Task DeleteAsync(string name);
}
Security
➔ Proxy➔ API’s define public/private endpoints
➔ Auth Flow & Secrets➔ Application secrets (Twitter, Facebook, etc)
➔ Azure Active Directory
➔ App and On Behalf Of Access
➔ RBAC rules
MonitoringProvided capabilities
➔ Monitor Running Applications➔ Installed applications
➔ Number of calls to components
➔ Network traffic including endpoints
➔ Detailed performance data
➔ Up time & crashes
➔ Component Author➔ Crash logs for components
my initial thoughts
Mapping
concepts Messaging Engine
BizTalk Server BizTalk Microservices
Adapters
Pipelines
Transformation
Business Rules
Trading Partner Mgmt
Binding files
Deployment tool
Microservices gateway
Connector microservices
BizTalk Microservices
Portal & Microservices
Business Rules
Trading Partner Mgmt
ARM templates
Azure Resource Manager
The
challenges
Messaging engine Complex scenarios Granularity
Tools & managementBusiness User
Empowerment Billing model
What I love
about it
Partner eco-systemSmall unit
deployment Scalability
ExtensibilityBusiness User
Empowerment Deployment modelOn prem symmetry
how can you get started ?
Getting started,
my advise
Think innovativeLearn about
Azure Web SitesAPI management &
concepts
Follow up on announcements
Look intoSwagger, WADL
Thank you!
Keep in touch! Call or mail us. Ask questions. Happy to help.
Stay tuned
LinkedInblog.codit.eu codit.eu NewsletterTwitter
Pay us a visit