Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure)

Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure)

Die Notwendigkeit, Systeme miteinander zu integrieren und reden zu lassen ist fast so alt wie die IT selbst. Daten von hier nach dort, vom einen ins andere Format. Was haben wir nicht Unmengen an interessanten Lösungen, Produkten, "Servern" und anderweitigen Wundertüten in den letzten Jahren und Jahrzehnten gesehen - mal teuer, mal komplex, mal eher unbrauchbar, einige auch richtig cool und gut.
Nun scheint sich also ein neuer Kandidat ins Rampenlicht der Öffentlichkeit schieben zu wollen: diverse große Anbieter propagieren die Cloud mit ihren effizienten Cloud-nativen und dort vor allem den Serverless-Ansätzen. Amazon, Google, Microsoft, alle sind dabei. So sollen Integrationsszenarien ohne viel Aufwand, ohne viel Code und kostenoptimiert realisiert werden können.
Denn sind wir doch mal ehrlich: keiner will im Jahre 2017 eigene Server kaufen müssen, installieren, patchen, pflegen, austauschen und täglich hochverfügbar und skalierbar betreiben, oder? Wollen wir nicht einfach nur Business-Probleme lösen und unsere Use Cases umsetzen, ohne an den ganzen darunterliegenden technischen Schnickschnack denken zu müssen? Und wollen wir nicht in Sekundenschnelle Test- und Demoumgebungen aufsetzen können, die wie dann per Knopfdruck in Produktivumgebungen überführen können? Das Ganze soll natürlich sicher und rechtlich wasserdicht erfolgt.
Christian Weyer zeigt in diesem Vortrag anhand der deutschen Microsoft Azure Cloud wie man mit nativen Cloud-Ansätzen einfache und auch komplexe Integrationsaufgaben umsetzen kann - egal ob man .NET, Java oder node.js Code im Portfolio hat. Über einen Event-getriebenen Basismechanismus unterscheidet sich Azure hier von den Mitbewerbern, um Integration-as-a-Service einfacher umsetzen zu können. Dabei wird nicht nur auf die scheinbar tollen Features wie Azure Service Bus Messaging, Azure Functions, Azure Event Grid & Co. eingegangen, sondern es sollen auch Grenzen und mögliche Probleme dieser neuen Welt aufgezeigt werden. Brave new Serverless German Cloud world? ;-)

Christian Weyer

November 16, 2017
Tweet

More Decks by Christian Weyer

Other Decks in Programming

Transcript

  1. 2 § Co-founder, co-owner and CTO at Thinktecture AG §

    Focus on § Mobile & web-based application architectures § Interoperability, cross-device § Pragmatic end-to-end solutions § Cloud-native architectures § Microsoft MVP for ASP.NET (Architecture) ASPInsider, AzureInsider § Google GDE for Web Technologies § [email protected] § ! @christianweyer Christian Weyer für Integration-as-a-Service (am Beispiel Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  2. 3 § Event-Driven Integration § Azure Cloud § Serverless in

    Azure § Azure Functions § Azure CosmosDB § Azure EventGrid § Azure Logic Apps § Showcase: Serverless IoT § Summary Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Topics
  3. 4 Building & integrating software Microservices architectures für Integration-as-a-Service (am

    Beispiel Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  4. 5 § Build & provide software systems easily & quickly

    § Need of integrating systems, applications, services, data § EAI: Enterprise Application Integration § B2B: Business-to-Business communication § B2C: Business-to-Consumer communication § Possible approaches & patterns § Microservices, Nanoservices, Picoservices – WTF? § Free choice of technical platform & framework § Event-driven integration § Can the Cloud offer value here? § Without having to always worry about too many (unnecessary) details… Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Building & integrating modern software systems
  5. 6 § Single responsibility § Focused around business domain §

    Small, doing one thing § Autonomy § Exclusive State § Can live on its own § Easier to CI /CD § Isolation § Well-defined technology-agnostic API § Mobility § Asynchronous communication for integration § Decoupled message passing, e.g. publish & subscribe Principles of Microservices Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure)
  6. 8 § We can choose from a continuum § VM

    ➔ § Containers ➔ § Orchestrators ➔ § PaaS ➔ § Serverless Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Evolution to Cloud Compute Continuum PaaS IaaS On-Premises Serverless
  7. 9 § Cloud native architectures take full advantage of §

    On-demand delivery § Global deployment § Elasticity § Higher-level services § Enable huge improvements in § Developer productivity § Business agility § Scalability § Availability § Utilization § Cost savings Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Cloud Native https://medium.com/@adrianco/cloud-native-computing-5f0f41a982bf
  8. 10 What is Serverless, anyway? für Integration-as-a-Service (am Beispiel Azure)

    Serverless++ - Event-getriebene Cloud-Architekturen
  9. 11 Enabling new capabilities Cloud & Azure für Integration-as-a-Service (am

    Beispiel Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  10. 12 § Why Azure? § Look beyond one’s own nose

    § Microsoft has always been strong in the enterprise § It is no longer “Windows Azure” J § Ca. 35% of VMs running on Linux (increasing) § Strong developer tooling § Very broad availability worldwide § German Azure as sovereign Cloud Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Azure Cloud https://www.cnbc.com/2017/10/28/microsoft-azure-is-growing-faster-than-aws-backed-by-big-brands.html
  11. 15 § Azure Functions § Serverless Compute § Azure CosmosDB

    § Serverless Database § Azure Event Grid § Serverless Events § Azure Logic Apps § Serverless Workflows § Azure IoT Hub § Serverless IoT § ... and more ... https://azure.microsoft.com/en-us/overview/serverless-computing/ Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Serverless in Azure (Serverless != FaaS-only)
  12. § PaaS / AaaS § Identity Server § Functions §

    HTTP-triggered § Database-triggered § Triggered through IoT data § Event-triggered (system event) § Database § Subscribing to collection changes § IoT § Secure device connectivity & communication § Events § Publishing custom application- specific events § Workflow § Visually design workflows § Subscribing to custom events Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Demo Scenario: Home Automation with Serverless
  13. 18 Azure Functions Serverless Code / Compute für Integration-as-a-Service (am

    Beispiel Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  14. 19 § Azure Functions is code being triggered by an

    event § Focused code + events § Basic principles enable powerful use cases § Events § Triggers § Bindings § (New) Runtime built on .NET Core § Available for self-hosting § Two ways of operation § Cost-optimized, automatic scale § Always-on, via Azure App Service Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Azure Functions: Functions-as-a-Service
  15. 20 § In portal, via CLI, or in IDE §

    Visual Studio wizards for pre-compiled Functions § Local tooling & runtime available § Debugging locally or remote § Multiple language bindings supported § C# § F# § JavaScript, TypeScript (node.js) § Python § Php § Java (preview) § Bash, Batch, PowerShell Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Developing Functions
  16. 21 § Incoming event triggers function § Input bindings enable

    easy access to data from various data sources § Output bindings offer easy access to outbound data sinks Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Triggers & Bindings
  17. 22 Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure)

    Functions illustrated - exemplary Your code logic Runtime Azure Function HTTP Trigger Custom Event Input Binding Storage Input Binding Push Notification Output Binding Database Output Binding Email Output Binding
  18. 24 § Azure Portal § Azure CLI § PowerShell §

    Visual Studio wizards § Continuous integration § Git § GitHub § Bitbucket § VSTS § DropBox, OneDrive Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Deployment Options
  19. 25 Azure Cosmos DB Serverless Database für Integration-as-a-Service (am Beispiel

    Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  20. 26 § Globally distributed, elastically scalable § Fully managed by

    Azure § Multi-model database § Key-value, document, graph § Multiple APIs § DocumentDB, with SQL & JS APIs § MongoDB API § Cassandra API § Table Storage API § Graph Database with Gremlin API § No database schema management Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Cosmos DB: A database with many faces
  21. 27 § Building event-driven architectures with Cosmos DB § Subscribe

    to collection changes § Use as input binding in Functions Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Cosmos DB Change Feed
  22. 28 Azure Event Grid Serverless Pub/Sub für Integration-as-a-Service (am Beispiel

    Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  23. 29 § Fully-managed centralized event routing service (preview) § Simplifies

    development of event-based applications § Simplifies creation of serverless workflows § Manages all routing of events § From any source, to any destination, for any application § Eventing, not enterprise messaging § Enables direct event filtering using event type, prefix or suffix § Your application will only need to receive the events you care about § Same underlying model for different use-cases § System-provided events § Custom application-specific events Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Event Grid
  24. 30 Event Grid Reliability & Performance für Integration-as-a-Service (am Beispiel

    Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  25. 31 Azure Logic Apps Serverless Workflow für Integration-as-a-Service (am Beispiel

    Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  26. 32 § Basic Idea: bring serverless functionality to non-coders §

    Low-code, No-code § No-code: ‘citizen developers’ / business users who can build functional but generally limited apps without having to write a line of code § Low-code: professional developers, streamlining and simplifying their work – delivering enterprise-class applications with little or no hand-coding § Graphical designer for rapid creation § With underlying descriptive model § Azure Logic Apps offer integration and workflow offering in the Cloud § Low-code / no-code § IFTTT for businesses ;-) Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Codeless Workflows
  27. 33 § A Logic App workflow § Begins with a

    trigger (like 'When an account is added to Office 365') § After trigger many combinations of § Actions § Conversions § Condition logic § Cloud-ready features § Custom retry policy § No need to code any retry, Azure Logic App will handle this § Managed scale § Azure will scale out your workflow runs with the resource it needs Serverless++ - Event-getriebene Cloud-Architekturen für Integration-as-a-Service (am Beispiel Azure) Azure Logic Apps
  28. 35 • AppFigures • Asana • Azure API Management •

    Azure App Services • Azure Automation • Azure Cognitive Face API • Azure Cognitive LUIS • Azure Cognitive Text Analytics • Azure Cognitive Vision • Azure Data Lake Store • Azure Document DB • Azure Event Hub • Azure Functions • Azure Machine Learning • Azure Resource Manager • Azure Service Bus • Azure SQL • Azure Storage Blob • Azure Storage Queues • Basecamp • Bing Search • BitBucket • Bitly • Blogger • Box • Buffer • Campfire • Chatter • Common Data Service • Disqus • DocuSign • Dropbox • Dynamics AX Online • Dynamics CRM Online • Dynamics CRM Service Bus • Dynamics Financials • Dynamics Operations • Easy Redmine • Eventbrite • Facebook • FreshBooks • Freshdesk • GitHub • Gmail • Google Calendar • Google Contacts • Google Drive • Google Sheets • Google Tasks • GoTo Meeting • GoTo Training • GoTo Webinar • Harvest • HelloSign • Infusionsoft • JIRA • Insightly • Instagram • Instapaper • MailChimp • Mandrill • Medium • Microsoft Project Online • Microsoft Translator • MSN Weather • Muhimbi PDF • Office 365 • Office 365 Users • Office 365 Video • OneDrive • OneDrive for Business • OneNote • Outlook.com • Outlook Tasks • PagerDuty • Pinterest • Pipedrive • Pivotal Tracker • Power BI • Project Online • Redmine • Salesforce • Salesforce Chatter • SendGrid • SharePoint Online • Slack • SmartSheet • SparkPost • Stripe • Survey Monkey • Todoist • Toodledo • Trello • Twilio • Twitter • Typeform • UserVoice • VS Team Services • Webmerge • Wordpress • Wunderlist • Yammer • YouTube • Zendesk • HTTP, HTTPS • HTTP Webhook • FTP, SFTP • SMTP • RSS • Compose, Query, Parse JSON • Wait • Terminate • Workflow Protocols/Native • XML Validation • Transform XML (+Mapper) • Flat File Encode • Flat File Decode • X12 • EDIFACT • AS2 • Integration Account Artifact Lookup XML and EDI Hybrid • BizTalk Server • File System • IBM DB2 • Informix • Oracle DB • SharePoint Server • SQL Server • SAP • Websphere MQ SaaS Logic Apps Connectivity für Integration-as-a-Service (am Beispiel Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  29. 37 § Serverless is just one option in the Cloud

    Continuum § Always think about the use cases and requirements § Serverless Azure tries to offer solutions in the Continuum – mixture of PaaS & FaaS § Functions § Cosmos DB § Event Grid § Logic Apps & more § It is not about Windows & .NET - it is about any OS, any platform, any language – any solution J § Azure Germany: a sovereign Cloud, not operated by Microsoft, on German soil Summary für Integration-as-a-Service (am Beispiel Azure) Serverless++ - Event-getriebene Cloud-Architekturen
  30. 38 § Christian Weyer, Thinktecture AG [email protected] @christianweyer Thank you!

    für Integration-as-a-Service (am Beispiel Azure) Serverless++ - Event-getriebene Cloud-Architekturen