Download presentation
Presentation is loading. Please wait.
Published byAngel Chandler Modified over 8 years ago
1
MICROSERVICES Azure App Services Damir Dobric daenet
2
Agenda Microservice and Architecture Styles? Scale Cube From Monoliths to “Micro” API Gateway Pattern Azure App Services Api Apps + Logic Apps
3
What to expect?
4
How about SOA? “Service orientation is a means for integrating across diverse systems” System 1System 2 System 3
5
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 1Service 3 Service 2 All services build ONE system.
6
Theory of Microsevices
7
Scale Cube X = Loadbalancing scale Y = Functional Scale Z = Data Partitioning
8
X-Scale (Loadbalancing) Node1 Node 2Node 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
Microservice = Y-Scale Purchasing Order Tracking... DB Microservice Feature N DB... Microservice
11
From Monoliths to Micro
12
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 FowlerJames Lewis + Martin Fowler
13
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.
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
Microservice Architecture Hmm, but what is the AppService? Need to ask my architect. Sorry guys, but this is not a Mycro-Service …, I mean, this is not a “3-tire” architecture. #$%#@ DB
17
API Gateway These are Microservices. They are typically used inside of enterprise boundary. These is not a Microservice. It is publicly accessable service used for integration (SOA), which consumes and orchestrates Microservices
18
Hexagonal Architecture AAA SOAP Adapter EDIfact Adapter REST Adapter A AMQP Adapter Port Layer Microservice Ports are logical artefacts. Adapters are physical implementation of ports.
19
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
20
Azure App Services
21
Microservices Composition Service 1 v1.1 Service 3 Service 2 v1 Service 2 v2 Service 1 v1.1 All services are packaged as NuGet package NuGetPackage v2 NuGetPackage v1 1.Downloads a NuGet package. 2. Adds a reference to a NuGet package
22
What did we learn today?
23
We still have to hammer
24
Q & A
25
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 Q & A
26
Api Apps
27
References Microservces –http://martinfowler.com/articles/microservices.htmlhttp://martinfowler.com/articles/microservices.html –http://en.wikipedia.org/wiki/Microservices\http://en.wikipedia.org/wiki/Microservices\ –http://microservices.io/patterns/microservices.htmlhttp://microservices.io/patterns/microservices.html –http://www.infoq.com/articles/microservices-introhttp://www.infoq.com/articles/microservices-intro –http://geekswithblogs.net/cyoung/Default.aspxhttp://geekswithblogs.net/cyoung/Default.aspx API Apps Documentation –Overview: http://azure.microsoft.com/en-us/documentation/articles/app-service-api-apps-why-best- platform http://azure.microsoft.com/en-us/documentation/articles/app-service-api-apps-why-best- platform –Connectors http://azure.microsoft.com/en-us/documentation/articles/app-service-api-dotnet-triggers / http://azure.microsoft.com/en-us/documentation/articles/app-service-api-dotnet-triggers /
28
Insert Into TestTable (Name, toolnumber, status) Values ('Order1', 'abcde1', 0 ) select count(*) from TestTable where status = 0 select count(*) from TestTable where status = 1 Update TestTable Set [Status] = 1 WHERE Status = 0; Select * from TestTable WHERE [Status] = 1 Update TestTable Set [Status] = 2 WHERE status = 1 Select TOP(100) * from TiglidurStandardTool Select TOP(100) * from TestTable Logic Apps
29
Main point inserted in a form of a text. Use Yellow to impact key messages. Use short and direct text, one row if you can. Don’t use bullets here but creative text. Title of key segment
30
USE CAPS FOR SECTIONS
31
TITLE OF THE SUBTHEME Sub theme of presentation
32
Here are the bullets My theme number one Bullet 1 Bullet 2 Bullet 3 My theme number two Bullet 1 Bullet 2 Bullet 3
33
Photo title Text about the photo above.
35
Nagrađujemo vas sa 100 WinCoin bodova što ste posjetili predavanje. Osvojite dodatnih 100 WinCoin bodova ukoliko popunite službeni upitnik. HVALA!
36
MVA http://www.microsoftvirtualacademy.com Uspješni profesionalci nikad ne prestaju učiti. Microsoft Virtual Academy nudi online Microsoft treninge vođene od eksperata da pomognu profesionalcima u daljnjem usavršavanju. Treninzi su vođeni od vrhunskih stručnjaka na različitim tehnološkim područjima. Nakon odslušanog treninga možete također provjeriti svoje znanje. Za bolje razumijevanje ovoga predavanja savjetujem da odslušate treninge na temu: XXX1 XXX2 XXX3 Naziv treninga 1 link1 Naziv treninga 2 link1 Naziv treninga 3 link1
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.