Azure Logic Apps

Post on 23-Feb-2017

372 views 0 download

Transcript of Azure Logic Apps

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 1

presenta

Overview di Azure Logic AppsMarco Parenzan – Microsoft Azure MVP

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 2

Agenda

• Overview di Azure Logic Apps• Architettura di un

Workflow• Demo

Platform Services

Security & Manageme

nt

Infrastructure ServicesCompute Storage

Datacenter Infrastructure (24 Regions, 22 Online)

Web and MobileWeb Apps

MobileApps

APIManagement

APIApps

LogicApps Notification

Hubs

Media & CDNContent DeliveryNetwork (CDN)

MediaServices

Analytics & IoT

HDInsight MachineLearning

StreamAnalytics

DataFactory

EventHubs

MobileEngagement

ActiveDirectory

Multi-FactorAuthentication

Automation

Portal

Key Vault

IntegrationBiztalkServices

HybridConnections

ServiceBus

StorageQueues

Store /Marketplace

HybridOperations

Backup

StorSimple

SiteRecovery

Import/Export

Networking

Data

SQLDatabase

DocumentDB

RedisCache Search

Tables

SQL DataWarehouse

Azure AD Connect Health

Virtual Network

ExpressRoute

BLOB Storage

Azure Files

Premium Storage

Virtual Machines

AD PrivilegedIdentity Management

Traffic Manager

Application Gateway

OperationalInsights

ComputeCloudServices

Batch Remote App

ServiceFabric

Developer Services

Visual Studio

ApplicationInsights

Azure SDK

Team Project

Containers

VM Image Gallery& VM Depot

DNS VPN Gateway

Load Balancer

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 4

Modellare una applicazione con PaaS in Azure

API APPSCostruisci e consuma

APInel Cloud

WEB APPSApplicazione che scalano

con il tuo business

LOGIC APPSAutomatizza i processi di business attraverso SaaS e on-premises

MOBILE APPSApplicazioni mobileper ogni dispositivo

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 5

Logic Apps sono Azure

PaaS Apps

• Full audit logs per tutte le operazioni di management• Role-based access control• Gestione del Deployment con Resource Manager• Resource Management API + resource PowerShell

Azure Resource manager è un sistema altamente scalabile, geodistribuito che può gestire milioni di risorse su centiaia di migliaia di sottoscrizioni

Può solo aggiungere cose ad un resource group (non toglierle)

• Supporto on-premise con Azure Stack• Supporta diversi protocolli di autenticazione: AAD,

Cert auth, or Basic auth

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 6

Modello per le Logic App

• WorkflowProcesso espresso da un flusso (il dato viene elaborato in vari step)

• Step fatto di APIIl workflow è un orchestratoreUn mondo di «microservices»

• ConnettoriAPI pubbliche (SaaS)WebHooks

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 7

WorkflowIntegrazione

Lear

ning

/Co

ding

Eff

ort

Complexity of

problem

BizTalk ServicesBizTalk ServerFirst version of BizTalk build ‘cloud-up’Already running mission critical workload for large customers

Leader in integration on-premisesHandles mission critical workloads for hundreds of customersRenowned brand

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 8

Connettori

• 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

Connettori (SaaS APIs)

Protocolli (Custom APIs)Servizi BizTalk

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 9

Esperienza «designer»

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 10

Struttura JSON di un workflow

• {

• "parameters": {

• ...

• },

• "triggers": {

• ...

• },

• "actions": {

• ...

• },

• "outputs": {

• ...

• }

• }

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 11

Azioni

• L’azione è composta da Una precondizione di esecuzione Un loop di esecuzione sugli input

"<name-of-the-action>": { "type": "Http|ApiApp|Workflow", "conditions": [ "<array-of-pre-conditions>" ], "repeat": "<array-to-repeat-over>", "inputs": { "<action-specific-inputs>" } }

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 12

Linguaggio

• Funzioni utilizzabili: Collection (first, contains, length, intersection, take,

skip…) String (concat, substring, replace) Logical (equals, less, greater, lessOrEquals, and, or,

not…) Conversion (int, string, float, bool, coalesce, base64) Math (add, sub, mul, div, mod, min, max, range) Date (utcnow, addseconds, addminutes, addhours,

adddays)• Template Language Expression

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"

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 13

Messaggi

• Supporto per messaggi max 100Mb Tutti I dati vengono serializzati in JSON

• Per gestire blob binari: Salvo su Azure Storage Il dato viene codificato BASE64 e immesso nel workflow

• Tutti I messaggi sono salvati Memorizzati con un tempo di retention dipendente

dall’ App Service plan

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 14

Parametri

• Servono a differenziare la definizione (del particolare workflow) dalla configurazione (del particolare ambiente)

"parameters": { "<parameterName>": { "type": "<type-of-parameter-value>", "defaultValue": "<optional-default-value-of-parameter>", "allowedValues": [ "<optional-array-of-allowed-values>" ] } }

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 15

Dipendenze

• Implicita, quando si referenzia l’output di un’altra azione

• Esplicita, quando si specifica il parametron “dependsOn” “dependsOn” : “twitterconnector”

• Espressione (Esplicita), quando in una condizione di espressione si riferisce a qualche altra azione “expression” :

“@equals(actions(‘twitterconnector’).code, ‘InternalServerError’)”

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 16

Triggers

• Definiscono come il workflow può svegliarsi "<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>" ] }

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 17

WebHook

POST{ “outputs”: { “par”: 20 }}

Tipi di Trigger

Manuale

RicorrenzaAPI App TriggerAPI Polling

200: run202: wait

trigger state

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 18

DEMO

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 19

Conclusioni

• DEVs Studio 2012) OEC107 Cloud Computing con Microsoft Azure MOC10978 Introduction to Azure for Developers

(studenti) MOC20487 Developing Windows Azure and Web

Services (Visual Studio 2012) MOC20532 Developing Microsoft Azure Solutions

• IT Pro MOC10979 Microsoft Azure® Essentials MOC20533 Implementing Microsoft Azure Infrastructure

Solutions

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 20

Contatti OverNet Education

OverNet Educationinfo@overneteducation.itwww.overneteducation.itTel. 02 365738

@overnetewww.facebook.com/OverNetEducationwww.linkedin.com/company/overnet-solutions

www.wpc2015.it

www.wpc2015.it – info@wpc2015.it - +39 02 365738.11 - #wpc15it 21

Q & A

Marco Parenzanmarco [dot] parenzan [at] 1nn0va [dot] it@marco_parenzanwww.facebook.com/parenzan.marcohttps://it.linkedin.com/in/marcoparenzanhttp://www.slideshare.net/marco.parenzanhttps://github.com/marcoparenzan