Upload
sergey-seletsky
View
287
Download
3
Embed Size (px)
Citation preview
MicroServices on AzureTech-Talks | Team Technologies LLC
Sergey SeletskySenior Solutions Architect
Agenda
Evolution of Architecture MicroService Pattern MicroService Challenges MicroService Benefits Azure Service Fabric Related Cloud Patterns Conclusions
Evolution of Architecture
Desktop
Client
Server
Browser
Web Server
Db Server
Any Device
microservices
API Proxy
Evolution of Architecture
MicroService PatternMicroService Architecture Style
Team Work Allocations problem
Conflicts in source control Mixed domains Technology constraints Blocking issues IDE Overload Slow builds Slow tests
Monolithic Architecture
Services was too complex Hard to support Hard to deploy Hard to scale
MicroService Pattern
Single Responsible Domain Driven Isolated Independently hosted Autonomous Elastic Programmable Discoverable Automated
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.
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#
MicroService ChallengesMicroService Architecture Challenges
Warning! Only for Highly Skilled Developers!
MicroService ChallengesPlatform Matters
Automation is not an Option
Communication is Key
Testing
Domain Modeling
Discoverability
MicroService BenefitsMicroService Architecture Benefits
MicroService BenefitsSmall
Safety
Supportability
Deployment
Scalability
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
Lower costs for complex projects
The Scale Cube and MicroServices
Full power of Clouds
Azure Service FabricMicroService Architecture powered by Azure
Azure Service Fabric
Azure Service Fabric
Azure Service Fabric
Examples
Examples
Related Cloud PatternsMicroService Architecture Cloud Patterns
Proxy MicroService Design Pattern
Shared Data MicroService Design Pattern
Load Leveling Design Pattern
Federated Identity Pattern
Retry Pattern
Sharding Pattern
Reading
Domain Driven DesignEric Evans
Continuous DeliveryJez HumbleDavid Farley
Azure Service FabricHaishi Bai
Building MicroservicesSam Newman