march ‘15 azure app service launch july ‘14 biztalk 2013 r2 ga >1000s community newsletter...
TRANSCRIPT
Stephen Siciliano, Senior Program Manager
Ilya Grebnov, Principle Software Engineer
Logic Apps
2-707
Integration in AzureAzure App ServiceDemo: Archive tweets to DropboxArchitecture backgroundDemo: Text if your site is down
Agenda
March ‘15
Azure App Service Launch
July ‘14BizTalk 2013 R2 GA
>1000sCommunity Newsletter Subscribers
Feb ‘15API Management GA
@ WPC
App Integration Partner Awards
>100sBlog Posts driving
adoption & engagement
Apps using Microsoft Azure
Agility Insight
Hyper-scale
Mobile Services
Key app services in Azure previously
Azure Websites
BizTalk Services
Key Learnings
• Validated the brand & cloud design patterns
• Hybrid is critical & a differentiator
• Feature & capability gaps:
• Out of box sources & destinations
• Pipeline templates, custom code support
• Long running workflows, parallel execution
• Needs a lot more investment!
BizTalk Services
Learn
ing
Eff
ort
Complexity of problem
HACK ZONE
Vision
iPaaS Leader
RichEcosystem
Democratize Integration
YourBusiness
YourCustomers
YourBusiness
YourCustomers
Empoweryour
employees
Engageyour
customers
Transformyour business
insight agility internet scaleto any device
APPSYour
BusinessYour
CustomersEmpower
your employees
Engageyour
customers
Transformyour business
Mobile Services
Key app services in Azure today
Azure Websites
BizTalk Services
Unique integrated offering
Build rich, engaging & intelligent apps
Scale as your business grows
Azure App Service
API APPSEasily build and
consume APIs in the cloud
WEB APPSWeb apps that scale with
your business
LOGIC APPSAutomate business
process across SaaS and on-premises
MOBILE APPSBuild Mobile apps for
any device
One integrated offering
All of the Azure-native capabilities you’d expect
• Full audit logs of all management operations• Role-based access control • Deployment lifecycle with Resource Manager• Resource Management API + resource PowerShell • On-prem support with next release of Azure Pack
One low price
• Box• Chatter• Delay• Dropbox• Azure HD Insight• Marketo• Azure Media Services• OneDrive• SharePoint • SQL Server• Office 365• Oracle
• QuickBooks• SalesForce• Sugar CRM • SAP• Azure Service Bus• Azure Storage• Timer / Recurrence• Twilio• Twitter• IBM DB2 • Informix• Websphere MQ
• Azure Web Jobs• Yammer• Dynamics CRM• Dynamics AX• Hybrid Connectivity
• HTTP, HTTPS • File• Flat File• FTP, SFTP• POP3/IMAP• SMTP• SOAP + WCF
• Batching / Debatching
• Validate• Extract (XPath)• Transform
(+Mapper)• Convert (XML-JSON)• Convert (XML-FF)
• X12• EDIFACT• AS2• TPMOM• Rules Engine
Connectors
Protocols BizTalk Services
Built-in API Connectors
WEB APPS
Full capability set available including:
• .NET, Node.js, Java, PHP, and Python
• WebJobs for long running tasks
• Integrated VS publish, remote debug…
• CI with GitHub, BitBucket, VSO
• Auto-load balance, Autoscale, Geo DR
• Virtual networking and hybrid connections
• Site slots for staged deployments
Web apps run as-isno changes required
New capabilities for Mobile apps:
• Webjobs for long running tasks
• CI with GitHub, BitBucket, VSO
• Auto-load balance, Autoscale, Geo DR
• Virtual networking and hybrid connections
• Site slots for staged deployments
Mobile services plusa whole lot more
MOBILE APPS
New Logic Apps for easy automation
• No code designer for rapid creation
• Dozens of pre-built templates to get started
• Out of box support for popular SaaS and on-premises apps
• Use with custom API apps of your own
• Biztalk APIs for expert integration scenarios
Automate SaaS andon-premises systems
LOGIC APPS
Easily use cloud or custom APIs:
• Dozens of built-in APIs for popular SaaS
• An ecosystem of APIs for any need
• Create and publish custom, reusable APIs
• Visual Studio tooling with one click publish and remote debugging
• Automatic client SDK generation for many languages
Create, consume andhost APIs more easily
API APPS
EAI Features v1 v2
XML Transformation
Validation
Content Based Routing
Request Response
AD Auth
OAuth
Flat File
JSON
XML
Connector Extensibility
Custom Code
B2B Features v1 v2
AS2 / X12 / EDIFACT
Agreement Decoupling
Batching / De-batching
Archiving
Transform
Trading Partner Management (API & Portal
Vertical Extensibility
Tracking
Customer Code
Workflow Features v1 v2
Long Running
Browser Designer
Control Flow
Instance Management
Tracking
Large Messages (1GB)
Config Support
Expressions
Rules Features v1 v2
Vocabulary
Policy
Sources (XML only today)
Test Policy
Browser Rule Editing
Other Features v1 v2
OOB Connectors
Marketplace
Hybrid Connectivity
Custom Code Isolation
Unified Portal
Auto Update with Opt Out
V1 = BizTalk ServicesV2 = App Services (BizTalk + Logic)
Target audience is anyone who can use Azure
… but not necessarily business users or consumers
Demo: portal designerArchive tweets about your company to Dropbox
Logic apps for orchestration across API apps1. Implicitly – whenever you
reference the output of an action you’ll depend on that action executing first
2.Explicit “dependsOn” condition – you can mark certain actions to run only after previous ones have completed
3.Explicit “expression” condition – a complex function that evaluates properties of other actions
Repeating
• Loop a single action over a list of items• Runs the action N times• You can get at all of the statuses for each
action• Tip: when you have multiple collections use:
• "repeat" : "@range(0,length(body('connector1')))"
• …• "inputs" : "@concat(body('connector1')
[repeatItem()], body('connector2')[repeatItem()])"
Conditionals
• Logic on a trigger or action• For triggers conditionals are post-
conditions• For actions conditionals are pre-
conditions
• You can do conditionals inside of repeats to perform as a filter
ArchitectureThe Azure Resource manager is a highly-scalable geo-distributed system that handles millions of resources across 100,000’s of subscriptions. Can create 200 node cluster in < 5 minutes!
Same underlying engine…
RESOURCE MANAGER
• Can handle thousands of parallel deployments per stamp
• Resilient against failure – retries with “at least once” guarantee
• Simple, declarative JSON template
• Automatically infers dependences between resources
LOGIC APPS
• Can handle thousands of parallel runs per stamp
• Resilient against failure – retries with “at least once” guarantee
• Simple, declarative JSON definition
• Automatically infers dependences between actions
… more power
RESOURCE MANAGER
• 8 functions for basic referencing and string functions
• Can only PUT resources into resource groups
• Auth must be through AAD
• Triggered manual through UI or API
LOGIC APPS
• Over 50 functions from string manipulations to math, to sets operations, to logical operators
• All HTTP operations supported on any arbitrary endpoint
• Supports many OAuth providers, AAD, Cert auth, or Basic auth
• Different ways to be triggered including recurrence
{ "parameters": { ... }, "triggers": { ... }, "actions": { ... }, "outputs": { ... }}
Logic Apps Workflow definitions
Parameters• Re-using values, or even complex objects, throughout the
definition, which makes it easier to comprehend.• Separate out config from the definition itself, making
sharing easy, as well as across different environments.
"parameters": { "<parameterName>": { "type": "<type-of-parameter-value>", "defaultValue": "<optional-default-value-of-parameter>", "allowedValues": [ "<optional-array-of-allowed-values>" ] } }
Triggers• Evaluated at recurring intervals.
• State maintained across executions.
"<name-of-the-trigger>": { "type": "Http|ApiApp|Recurrence", "inputs": { "<trigger-specific-inputs>" }, "recurrence": { "frequency": "Second|Minute|Hour|Week|Month|Year", "interval": "<recurrence interval in units of frequency>" }, "conditions": [ "<array-of-post-conditions>" ] }
Actions• Actions could depend on other actions.• Order of execution determinate by dependencies.
• State maintained across executions.
"<name-of-the-action>": { "type": "Http|ApiApp|Workflow", "conditions": [ "<array-of-pre-conditions>" ], "repeat": "<array-to-repeat-over>", "inputs": { "<action-specific-inputs>" } }
Template Language Expressions (TLEs)JSON values in template can be literals or expressions (special kinds of strings)
• Denoted by the '@' symbol: "@exp"• Or in form of string interpolation "… @{ exp } …"
Expressions evaluation
• Static (agnostic to execution context): "@sum(3, 5)"• Dynamic (can only evaluated at runtime): "@outputs('act1').body"
Demo: Visual StudioSend you a text message if anything is down
API APPSEasily build and
consume APIs in the cloud
WEB APPSWeb apps that scale with
your business
LOGIC APPSAutomate business
process across SaaS and on-premises
MOBILE APPSBuild Mobile apps for
any device
App Service
Introduced this week:
App Service Environments
Get Started w/ App Service!
• Logic & API Apps in preview
• Build & submit your API Apps
(connectors)
• Get started for free @ azure.com
RoadmapInvestments
• Feedback & data-driven
development
• Ship Azure App Service on-premises
• Grow the Ecosystem & Community
Resources• PMs, MVPs & community @ //build/
• https://tryappservice.azure.com
• Twitter: @iscsus, @ilyagrebnov
Q & A
Improve your skills by enrolling in our free cloud development courses at the Microsoft Virtual Academy.
Try Microsoft Azure for free and deploy your first cloud solution in under 5 minutes!
Easily build web and mobile apps for any platform with AzureAppService for free.
Resources
© 2015 Microsoft Corporation. All rights reserved.