microservices on azure

34
MicroServices on Azure Tech-Talks | Team Technologies LLC Sergey Seletsky Senior Solutions Architect

Upload: sergey-seletsky

Post on 08-Jan-2017

287 views

Category:

Software


3 download

TRANSCRIPT

Page 1: MicroServices on Azure

MicroServices on AzureTech-Talks | Team Technologies LLC

Sergey SeletskySenior Solutions Architect

Page 2: MicroServices on Azure

Agenda

Evolution of Architecture MicroService Pattern MicroService Challenges MicroService Benefits Azure Service Fabric Related Cloud Patterns Conclusions

Page 3: MicroServices on Azure

Evolution of Architecture

Desktop

Client

Server

Browser

Web Server

Db Server

Any Device

microservices

API Proxy

Page 4: MicroServices on Azure

Evolution of Architecture

Page 5: MicroServices on Azure

MicroService PatternMicroService Architecture Style

Page 6: MicroServices on Azure

Team Work Allocations problem

Conflicts in source control Mixed domains Technology constraints Blocking issues IDE Overload Slow builds Slow tests

Page 7: MicroServices on Azure

Monolithic Architecture

Services was too complex Hard to support Hard to deploy Hard to scale

Page 8: MicroServices on Azure

MicroService Pattern

Single Responsible Domain Driven Isolated Independently hosted Autonomous Elastic Programmable Discoverable Automated

Page 9: MicroServices on Azure

Team Work Allocations with MicroServices

Team A

• Authorization• C#• Service Fabric

Team B

• Customers• Java• Amazon EC2

Team C

• Orders• JavaScript• AWS Lambda

• You can allocate feature per team and parallelize development without overhead.• Recommended to use one technology per solution, but it is possible to use one per team.• Recommended to use one hosting platform per solution, but it is possible to use more.

Page 10: MicroServices on Azure

MicroService Logical Architecture

• Angular UI and CordovaExperience

• NPM Packaged SDKSDK

• REST/HTTPProtocol

• On the wire data modelsModels

• Node.JsService

• Express Mongo ClientDAC

• Mongo DbStore

• Continuous DeliveryAutomation

• Xamarin / WPFExperience

• NuGet Packaged SDKSDK

• REST/HTTPProtocol

• Data ContractsModels

• .NET Core Web APIService

• Document Db ClientDAC

• Document Db Store

• Continuous DeliveryAutomation

Example 1 - JS Example 2 – C#

Page 11: MicroServices on Azure

MicroService ChallengesMicroService Architecture Challenges

Page 12: MicroServices on Azure

Warning! Only for Highly Skilled Developers!

Page 13: MicroServices on Azure

MicroService ChallengesPlatform Matters

Automation is not an Option

Communication is Key

Testing

Domain Modeling

Page 14: MicroServices on Azure

Discoverability

Page 15: MicroServices on Azure

MicroService BenefitsMicroService Architecture Benefits

Page 16: MicroServices on Azure

MicroService BenefitsSmall

Safety

Supportability

Deployment

Scalability

Page 17: MicroServices on Azure

Density & Isolation levels

PC VM Process

Container

More isolated More efficient

Hardware Not shared Shared Shared Shared

Kernel Not shared Not shared Shared* Shared

System Resources (ex: File System) Not shared Not shared Not shared Shared

* Windows Hyper-V containers do not share a kernel

Page 18: MicroServices on Azure

Lower costs for complex projects

Page 19: MicroServices on Azure

The Scale Cube and MicroServices

Page 20: MicroServices on Azure

Full power of Clouds

Page 21: MicroServices on Azure

Azure Service FabricMicroService Architecture powered by Azure

Page 22: MicroServices on Azure

Azure Service Fabric

Page 23: MicroServices on Azure

Azure Service Fabric

Page 24: MicroServices on Azure

Azure Service Fabric

Page 25: MicroServices on Azure

Examples

Page 26: MicroServices on Azure

Examples

Page 27: MicroServices on Azure

Related Cloud PatternsMicroService Architecture Cloud Patterns

Page 28: MicroServices on Azure

Proxy MicroService Design Pattern

Page 29: MicroServices on Azure

Shared Data MicroService Design Pattern

Page 30: MicroServices on Azure

Load Leveling Design Pattern

Page 31: MicroServices on Azure

Federated Identity Pattern

Page 32: MicroServices on Azure

Retry Pattern

Page 33: MicroServices on Azure

Sharding Pattern

Page 34: MicroServices on Azure

Reading

Domain Driven DesignEric Evans

Continuous DeliveryJez HumbleDavid Farley

Azure Service FabricHaishi Bai

Building MicroservicesSam Newman