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

Moderne APIs & Microservices mit .NET Core & Azure - End-to-End & vollumfänglich

Moderne APIs & Microservices mit .NET Core & Azure - End-to-End & vollumfänglich

Na, dann wollen wir mal! In diesem Workshop wird Christian Weyer mit einer fast leeren Visual Studio Solution beginnen und ein (halbwegs  ) realistisches Microservices-Szenario auf Basis von Web APIs & Push Services bauen – aber End-to-End. Denn was bringen uns isolierte Services & APIs jenseits jeglicher Anwendungsfälle? Nichts, oder? Über Use-Case-Formulierung, API Design & API Dokumentation, Absicherung von APIs bis hin zu Client-Anwendungen werden wir einen wilden Ritt durch zahlreiche .NET Core Klassen & Frameworks unternehmen und diverse Tools unter die Lupe nehmen, die unser Leben einfacher machen sollen. Lernen Sie ASP.NET Core MVC-basierte Web APIs in Aktion kennen und genießen Sie wie einfach man Realtime-Kommunikation mit ASP.NET Core SignalR – in Verbindung mit Message Queueing zur Entkopplung der Services – umsetzen kann. Das Ganze wird komplettiert mit einer echt Cross-Plattform-fähigen Client-Anwendung für den Browser, mobile Geräte und allen Desktop-Betriebssystem auf Basis von Angular. Und zu guter Letzt: ab damit in die Azure Cloud! Let’s rock and roll – von Null auf Hundert.

Christian Weyer

November 29, 2017
Tweet

More Decks by Christian Weyer

Other Decks in Programming

Transcript

  1. Moderne APIs & Microservices mit .NET Core & Azure End-to-End

    & vollumfänglich Christian Weyer @christianweyer CTO
  2. § Co-founder, co-owner & 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 Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich 2
  3. § End-to-End: APIs in perspective § Microservices § Common Microservices

    Approaches & Patterns § Building Microservices with .NET Core § UIs & Microservices § Cross-Platform Clients § Serverless with Azure § Summary Topics End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 3
  4. § API-fication – everywhere, for everyone § Services may be

    in place, but often monoliths § Simpler development & deployment § End-to-End functionality - including UIs Why? Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich 5
  5. End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core

    & Azure 6 APIs & Microservices APIs in perspective
  6. § APIs are an important part of an overall, end-to-end

    architecture § APIs can have different shapes: RPC-ish, CRUD-ish, REST-ish etc. § APIs are an entry point into a system or a service (microservice, FTW!) § Consumer-initiated use cases define the abilities of an API § Microservices are one possible incarnation of fleshing out systems with APIs APIs are not alone in this world End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 7
  7. Beyond the hype Microservices demystified Moderne APIs & Microservices mit

    .NET Core & Azure End-to-End & vollumfänglich 8
  8. § Docker / containers § Azure / AWS § Serverless

    § Feature flags § Gitflow § NoSQL § Node.js § No more than 20 lines of code in deployed service § AWS Lambda § Service Fabric Microservices are not just… https://lostechies.com/jimmybogard/2016/06/03/what-microservices-is-not/ Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich 11
  9. § Single Responsibility § Focused around business domain § Small

    § Autonomy § Exclusive State § Isolation § Well-defined technology-agnostic API § Mobility § Asynchronous Communication § Decoupled message passing § Really, always? Principles of Microservices Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich 12
  10. § Conway’s Law § „Organizations which design systems ... are

    constrained to produce designs which are copies of the communication structures of these organizations.“ § Teams are created to solve a certain business problem § If you can afford it § If you can build those teams § Communication is tough, though! One of the Core Ideas of Microservices https://lostechies.com/jimmybogard/2016/06/03/what-microservices-is-not/ End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 13
  11. § Which degree of autonomy is good? § It depends

    – really J § Synchronous communication may not be bad per se § Distinct, isolated data stores make decoupling, versioning easier § But may increase complexity § Messaging needs… messages – which need to be agreed upon § The more you decouple & the more you isolate, the more you may run into (unwanted or unneeded?) complexity Autonomy – the Holy Grail End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 14
  12. § A lot of projects fail because of… overly complex

    architectures – sadly KISS ! Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich 16
  13. Moderne APIs & Microservices mit .NET Core & Azure End-to-End

    & vollumfänglich 17 Implemented with .NET & .NET Core Microservices Approaches & Patterns
  14. § CRUD § DDD § ES § CQRS § WTF…

    Architectural Styles End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 18
  15. Bird’s-Eye-View Target Architecture Moderne APIs & Microservices mit .NET Core

    & Azure End-to-End & vollumfänglich 21 HTTP HTTPS WebSocket Service A Service B Service C Web APIs (ASP.NET, Node.js, …) HTML5-Application (Single-Page Application) Web Cordova Electron
  16. Simple Sample J Moderne APIs & Microservices mit .NET Core

    & Azure End-to-End & vollumfänglich 22
  17. § ASP.NET Web API & ASP.NET Core MVC for building

    convention- based Web APIs § Makes working with JSON data easy by using JSON.NET § Can be used with IIS or any other process § Feature pipeline with OWIN § Standard interface between .NET web servers and web applications § Decouple server and application § Principles baked into ASP.NET Core Web APIs & Hosting: ASP.NET Web API & ASP.NET Core MVC End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 23
  18. § Inbound HTTP / Web APIs § HTTPS, JSON, Binary

    § Different API Styles § RPC § OData § GraphQL § „REST“ § Outbound communication § Web Sockets § Web Hooks Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Open & Interoperable Interfaces 24
  19. § This can be like a religious war L §

    REST-ful guidelines – really? § MS: https://github.com/Microsoft/api-guidelines § Zalando: https://github.com/zalando/restful-api-guidelines To REST – or not? End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 25
  20. § If you are not a hardcore REST-afarian you may

    want to have your interfaces described / documented § Technical for further tooling § Human readable § Documenting Web APIs with Swagger / OpenAPI § http://swagger.io/ § Tooling ecosystem § Swagger Codegen § http://swagger.io/swagger-codegen/ § Swagger in ASP.NET Core with Swashbuckle.AspNetCore Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Describing Web APIs 26
  21. § Possibility to host web-based client applications in their own

    processes § Separate, independent deployment from APIs § Host alongside APIs for self-contained approach § Static files middleware can serve, well, static files Frontends: Self-Hosted Angular App Service End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 27
  22. § Consumers need to find services § Services are also

    consumers § Services should register themselves and be discoverable § E.g. with DNS or Consul § Infrastructure should monitor service availability § Consul § Server solution for service registration & discovery § Can be run as a failover cluster § Consul.NET client library § https://github.com/PlayFab/consuldotnet Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Registry, Discovery & Monitoring 28
  23. § Microservices need to be secured § Think about trusted

    subsystems where possible § Need to authenticate applications and users § Separate authentication into its own microservice § Apply authorization logic in the functional microservices § Standards help § OAuth2 & OpenID Connect (OIDC) § IdentityServer 4 as base OIDC server framework § http://docs.identityserver.io Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Security: Authentication & Authorization 29
  24. § YALL? § Yet another logging lib? § SeriLog for

    logging structured event data § https://serilog.net/ § Uses sinks for writing log events to storage in various formats § Large community offering lots of sinks § https://github.com/serilog/serilog/wiki/Provided-Sinks § Seq is a log server built for structured logging techniques § Provides a web GUI § Support for Serilog, ASP.NET Core, NLog, as well as Node.js, Python etc. § https://getseq.net/ Logging: SeriLog & Seq End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 30
  25. § Asynchronous message passing for decoupling § Different message exchange

    patterns at your hand, like publish-subscribe § RabbitMQ as popular broker-based system § But standards help: think about AMQP 1.0 § E.g. Apache ActiveMQ Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Messaging & Queuing 31 X P S S
  26. § Open source message broker § https://github.com/rabbitmq/rabbitmq-server § Cross-platform §

    Built on Erlang § Very popular in the worldwide community § Lots of language bindings / APIs available § Supports various message exchange patterns § Simple point-to-point, RPC § Worker queues, Publish / Subscribe etc Messaging: RabbitMQ End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 32
  27. § EasyNetQ as strongly-typed messaging layer for RabbitMQ § Serialize/deserialize

    .NET types § Node.js equivalent EasyNodeQ: https://github.com/sfrooster/EasyNodeQ § https://github.com/EasyNetQ/EasyNetQ § Alternative RabbitHarness § https://github.com/pondidum/RabbitHarness § Mapping types to each other with AutoMapper § Object-to-object mapper based on conventions § E.g. map DTOs to messages & vice versa Messaging: EasyNetQ & AutoMapper End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 33
  28. § Web APIs with Restify § EasyNodeQ for RabbitMQ messaging

    § node-consul for registering with Consul § Using TypeScript as strongly-typed programming language Node.js – As Microservices should be technology-agnostic… End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 34
  29. § Always think end-to-end § Let consumers know that something

    important changed § Near real-time push from services § Platform push § Provided by platform vendors § Application push § Web Sockets & fallbacks Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Push Communication 35
  30. § Push-style data communication on the web § WebSockets, Server-Sent

    Events or Long Polling § Two basic programming models § Persistent connections § Hubs § Hubs offer a business logic level abstraction that suits a lot of use cases § A hub mimics a push service instance in memory which is able to push data to subscribed clients § SignalR client-side APIs available for a lot of platforms § .NET, JavaScript, ObjectiveC etc. Push with ASP.NET Core SignalR End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 36
  31. § Systems have to be robust § Subsystem can go

    offline without breaking the entire system § Always validate your incoming data § Always be defensive when crossing boundaries § Handle exceptions especially on system boundaries § E.g. in the Web API or WebSockets layer § Log the exception details (with correlation data) § Provide meaningful error information for consumers Defensive Programming & Exception Handling End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 37
  32. § Sometimes you need to check an API call more

    than one time when it fails § Different policies to ‘try again’ to handle faults, e.g. § Retry § Timeout § Circuit Breaker § Polly § .NET resilience and transient-fault-handling library § https://github.com/App-vNext/Polly Resiliency & Transient Fault Handling: Polly End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 38
  33. § Monitoring system resources is key to understand the health

    of a system § There are countless monitoring solutions on the market § Hard to choose the ‘right’ one § E.g. Prometheus § Open source systems monitoring & alerting toolkit originally built at SoundCloud § https://prometheus.io/ § https://github.com/phnx47/Prometheus.Client.Owin § E.g. Azure Application Insights § Not just for Azure applications Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Monitoring 39
  34. § Keep the release cycles short § Keep setup efforts

    & dependencies under control § DevOps, FTW! § Container-ize your solution § With an orchestrator § Make sure you see everything from your solution § Tracing, Logging & Monitoring Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Developing, Deploying, Running 40
  35. § Containers with Docker § Software container platform § Everything

    required to make a piece of software run is packaged into isolated containers § Docker for Windows § Run Docker containers on Windows § Still uses Linux underneath § https://www.docker.com/docker-windows § Container orchestrators § E.g. Docker swarm, Kubernetes Deployment & Operation End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 41
  36. § Be stateless ;-) § Seriously, try to omit permanent

    state in memory § State is held on the consumer-side or in the backend (data stores) § Be able to fail fast § Be able to just scale-out by adding a new instance of your microservice (process) Scalability End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 42
  37. § Decouple your microservices § One service should not bring

    down the entire system § Add resiliency code to consumers § Errors will happen, you will have to retry connections and calls § Consider patterns like circuit breaking § Monitor your microservices and report to central service § Perform health checks § Use dashboards to analyze data § Use escalation paths for critical issues § Maybe intentionally stress your microservices § E.g. Netflix’ ChaosMonkey Availability End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 43
  38. § We can use containers and move them to Azure

    with Azure Container Services & Registry § If we want orchestrateable environments to run everywhere § Symmetric experience on-prem & in Cloud § We can use an optimized Cloud-OS as base – i.e. Azure Service Fabric § If we need very high scale in our own base architectural artefacts § Symmetric experience on-prem & in Cloud § We can use Cloud-native approaches like App Services or Functions § If we do not care about servers, virtual machines, containers and all that § Symmetric experience on-prem & in Cloud § In any way: there are many options – and no ‚that one solution‘ § “It depends…“ J Moving to the Cloud – Azure to the rescue Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich 44
  39. § Domain Design § Testing § Validation § Versioning §

    Deployment § Scalability § Availability § … and so on ... There is much, much more to consider! Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich 45
  40. § When thinking end-to-end, there are microservices with and without

    user interfaces § Need a way to compose UIs consisting of several „sub-UIs“ § Can be done server-side § Can be done client-side, SPA-style § Open-sourced real world sample with SPA & server-side solutions § http://lvm-it.github.io/ Microservices can have UIs: Micro frontends End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 47
  41. Moderne APIs & Microservices mit .NET Core & Azure End-to-End

    & vollumfänglich 48 Beyond pure theory Being Pragmatic
  42. § Those are just some approaches & patterns – not

    rules § Pick and choose wisely § There are not a lot of Netflix, Facebooks, Twitters out there § Do not over-complicate! Pragmatic == Requirements- & Use-Case-driven Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich 49
  43. End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core

    & Azure 50 A different approach Modern Cross-Platform Clients
  44. § Modern lifestyle, modern way of working § Data and

    processes need to be mobile, not just the devices we use § Reach is important § Boundaries are blurring – and will vanish § User experience will become an even more important part of software development § Facing new challenges § Building UIs with one technology approach § But optimized for certain platforms and/or form factors “Mobile-First” End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 54
  45. It’s a feature But that doesn’t look like a native

    application! Exactly. End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 55
  46. End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core

    & Azure 57 More than just markup The Web as a Platform
  47. § Web browser & HTML5 as a powerful platform §

    JavaScript & TypeScript as application programming languages § Angular as smart client application framework – or React, or… § Flexible layouts with CSS3 & flexbox Real applications End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 58
  48. § Client-side single page applications (SPA) § Features § Consequently

    component-driven § Metadata-driven § Tooling ecosystem § Focus on proven pattern and separation of concerns § Components, views, view models § Services and dependency injection Component-based applications with Angular End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 59
  49. End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core

    & Azure 60 Best of both worlds Web & Native Platforms
  50. § Toolkit and framework for building native application shells for

    our web apps § Make ‘app apps’ from ‘web apps’ J § Uses native web view components to host the original web app locally § Provides framework and APIs via plugins to interact with underlying native platforms § CLI tools for automating project creation & build § We always need the native SDKs (e.g. iOS, Android, Windows) Mobile apps with Cordova JS HTML CSS Native wrapper Deploy to devices End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 61
  51. Cordova architecture Mobile OS iOS Android Windows 10 UWP many

    more Cordova Application Cordova Plugins Geolocation Notifications Contacts Media Camera Custom Plugins HTML Rendering Engine (WebView) Single Page App HTML JS CSS Assets config.xml HTML APIs Cordova APIs OS APIs OS APIs Cordova Native APIs End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 62
  52. Cordova platform support Android Blackberry 10 iOS Windows Phone 8

    Windows (8.1 / 10, Phone 8.1) Cordova CLI MacOS, Windows, Linux MacOS, Windows, Linux MacOS Windows a Embedded WebView a x a x x Plugin Interface a a a a a End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 63
  53. § Create real desktop applications from web apps § Similar

    to Cordova’s base idea § Target Windows desktop, macOS, and Linux § Marriage of Chromium and node.js § Independent of installed browsers on target machines § Does not need native SDKs to build final artifact § Access to native platform features § Electron API § Node modules ecosystem § Auto-updating and platform deployment Desktop applications with Electron End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 64
  54. Electron architecture Desktop OS Electron Renderer Process (technically Chromium) Electron

    Main Process (technically Node.JS) MacOS Windows Linux Your Single Page Application Electron API Your custom Node.JS modules IPC Remote Node.JS End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 65
  55. § We can choose from a continuum § VM ➔

    § Containers ➔ § Orchestrators ➔ § PaaS ➔ § Serverless Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Evolution to Cloud Compute Continuum PaaS IaaS On-Premises Serverless 67
  56. § 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 Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Cloud Native https://medium.com/@adrianco/cloud-native-computing-5f0f41a982bf 68
  57. § 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 Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Azure Cloud https://www.cnbc.com/2017/10/28/microsoft-azure-is-growing-faster-than-aws-backed-by-big-brands.html 71
  58. § 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/ Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Serverless in Azure (Serverless != FaaS-only) 74
  59. § 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 Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Demo Scenario: Home Automation with Serverless 75
  60. § 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 Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Azure Functions: Functions-as-a-Service 78
  61. § 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 Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Developing Functions 79
  62. § Incoming event triggers function § Input bindings enable easy

    access to data from various data sources § Output bindings offer easy access to outbound data sinks Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Triggers & Bindings 80
  63. Moderne APIs & Microservices mit .NET Core & Azure End-to-End

    & vollumfänglich 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 81
  64. Moderne APIs & Microservices mit .NET Core & Azure End-to-End

    & vollumfänglich Triggers & Bindings in Code 82
  65. § Azure Portal § Azure CLI § PowerShell § Visual

    Studio wizards § Continuous integration § Git § GitHub § Bitbucket § VSTS § DropBox, OneDrive Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Deployment Options 83
  66. § 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 Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Cosmos DB: A database with many faces 85
  67. § Building event-driven architectures with Cosmos DB § Subscribe to

    collection changes § Use as input binding in Functions Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Cosmos DB Change Feed 86
  68. § 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 Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Event Grid 88
  69. § 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 ;-) Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Codeless Workflows 91
  70. § 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 Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Azure Logic Apps 92
  71. Moderne APIs & Microservices mit .NET Core & Azure End-to-End

    & vollumfänglich Visual Designer in Browser 93
  72. • 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 End-to-End & vollumfänglich Moderne APIs & Microservices mit .NET Core & Azure 94
  73. § Microservices are all the hype § A lot of

    the ideas are not really new – “SOA done right” § Focus on the (a) business domain § New approaches & tooling for shorter dev & release cycles bring value-add § Many ways to approach microservices in the .NET world § Plain, as seen here § Using some framework § Using all-the-things Azure: Cloud OS, Containers, Serverless § Microservices bring their own – partly new – challenges – be prepared § Serverless is an option in the Cloud Continuum to build *-services § Always think about the use cases and requirements § Always stay cool: Keep it simple & stupid! Moderne APIs & Microservices mit .NET Core & Azure End-to-End & vollumfänglich Summary 96