4. How about SOA?
“Service orientation is a means
for integrating across diverse systems”
System 1 System 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 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.
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 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 DB 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
A A A
SOAP Adapter
EDIfact Adapter
REST Adapter
A
AMQP Adapter
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
21. Microservices Composition
Service 1 v1.1 Service 3
Service 2
v1
Service 2
v2Service 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
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
CloudAppsCloud CloudConsultingCloudAppsMiddlewareCloudAppsMiddlewareSoftware
Q & A
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
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
Notes de l'éditeur
“Microservices ist ein (neuer) Architektur Style eine Anwendung als Gruppe von kleinen (micro), voneinander in Entwicklung und Deployment isolierten, Services zu entwickeln.“
“Microservices ist ein (neuer) Architektur Style eine Anwendung als Gruppe von kleinen (micro), voneinander in Entwicklung und Deployment isolierten, Services zu entwickeln.“
Na stranici http://www.microsoftvirtualacademy.com naći relevantne treninge i kopirati linkove sa nazivom treninga.