Mocroservices and modern backends - Azure Meetup Frankfurt

50 %
50 %
Information about Mocroservices and modern backends - Azure Meetup Frankfurt

Published on November 24, 2016

Author: damirdobric

Source: slideshare.net

1. Azure Frankfurt Damir Dobric Armin Kalajdzija Indraneel Pole #azuremeetupfrankfurt

2. Microservices Modern Backends& Co. Damir Dobric damir.dobric@daenet.com b-dadobr@microsoft.com Microsoft PTSP (Partner Technical Solution Specialist) Microsoft Most Valuable Professional Blog Twitter @ddobric #azuremeetupfrankfurt developers.de

3. Microservices: What to expect? “Amount of problems in universe is a constant number”

4. What is a “Service”? Service is a valuable action, deed, or effort performed to satisfy a need or to fulfill a demand. Service

5. What is SOA? “Service orientation is a means for integrating across diverse systems” System 1 System 2 System 3

6. Microservices Approach “Microservices is an (trendy) Architektur Style to design a single complex application as a group of small (micro) services, which are independend in development and deployment“ Service 1 Service 3 Service 2 All services build ONE system.

7. Scale Cube  X = Loadbalancing scale  Y = Functional Scale  Z = Data Partitioning

8. X-Scale (Loadbalancing) Node1 Node 2 Node N. . . DB Share traffic across multiple nodes is “easy”. Relational DB scales vertically only. Horizontal scale is very difficult.

9. Z-Scale (Data Partitioning) Tire 1 DB2 Customers 0-10000 DB1 Customers 10001-… Tire 1 DB2 Tenant 2 DB1 Tenant 1

10. Melvin Conway’s Low “Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations” Wikipedia, James Lewis + Martin Fowler

11. Three+ Tire Architecture Result of organization described by Conway’s low Don’t panic! Architecture is ok. But, Organization tends to produce monolithics based on this architecture.

12. Microservice = Y-Scale Purchasing Order Tracking . . . DB Microservice Feature N DB DB . . . Microservice

13. API Gateway These are Microservices. They are typically used inside of enterprise boundary. But, these is not a Microservice. It is publicly accessable service used for integration (SOA), which consumes and orchestrates Microservices

14. Issues with Monoliths? This is typically 1 Binary i.e.: mdw.dll (I) You cannot combine technologies if you use binary dependency ! (II) Increasing number of features slows down flexibility (III) Growing application increases complexity. Growing across multiple features means exponential complexity. (IV) Growing application can slow down performance (V) Growing application make maintenance more complex (VI) Cannot replace application (or parts) prevents of using of innovations. (VII) Application Replacement “impossible” . . .

15. Think “µ“ (mycro) N-Tire is Ok, but Monolith is NOT ok! Organize Application in Smaller independent (micro) components If µComponents have to exchange information define them as services.

16. Issues with Microservices  Developers must be more operation focused due increased complexity.  More discipline required in development, documentation and deployment  Increased Dependencies  Multiple Versions of Services side by side (code immutability)  More complex test requirements  Every system is distributed system  Communication between services is slower (network)  Transaction compensation is more complex

17. Integration Styles File Transfer Shared Database Remote Procedure Invocation Messaging Relaying (messaging + rpc) http://www.eaipatterns.com/toc.html

18. API Styles Remote Procedure Call (RPC) DoSomething() Blocking (SYNC) Call RST Representation State Transfer Spelled as “ReST” PUT/GET/POST,.. Blocking (SYNC) Call Messaging Communication with help of broker.

19. Technologies which helps “µ-design“ REST API Style WebApi (Recommended) WCF (Not recommended) Message API Style Azure Service Bus Native Messaging Durable Task Framework Transparent Messaging Coded Orchestrations Azure App Service Web-App, API-App, Logic-App Service Fabric Docker

20. Azure App Services

21. DEMO – Service Bus

22. Demo - HoloTwin

23. DEMO – Hybrid Relay

24. DEMO – Durable Task Framework

25. What did we learn today?

26. We still have to hammer 

27. Microservices (Azure App Services & Co.) DAMIR DOBRIC damir.dobric@daenet.com b-dadobr@microsoft.com Microsoft PTSP (Partner Technical Solution Specialist) Microsoft Most Valuable Professional Blog Twitter CloudAppsCloud CloudConsultingCloudAppsMiddlewareCloudAppsMiddlewareSoftware Q & A

Add a comment