SlideShare uma empresa Scribd logo
1 de 32
Microservices on Azure
choosing the right approach
for your solution
Michele Leroux Bustamante
Cofounder / CIO Solliance
Cloud/Security Architect
michelebusta@solliance.net
Remember
HELLO WORLD
1992?
Hello
World!
HELLO WORLD
Today…something like this…
iPhoneWindows
Phone
Surface
WPF / Rich
Client
Android
iPad
Web API Web App
Mobile
Browsers
Services
© Michele Leroux Bustamante. All rights reserved.
How did we get here?
 Monolithic apps
 Client / server apps
 Distributed components
 Service-Oriented Architecture (SOA)
 Cloud-enabled solutions / PaaS
 Microservices architecture
8
• Discrete
• Atomic
• Independently
deployable
• Bounded context
• Fit in your head
iPhoneWindows
Phone
Surface
WPF / Rich
Client
Android
iPad
Mobile
Browsers
© Michele Leroux Bustamante. All rights reserved.
Microservices Build on SOA
 Loose coupling
 reusable
 encapsulated and autonomous
 Separation of concerns
 platform / technology independent
 discoverable (registry services)
 Service Oriented
 well-defined contracts
 composable (alone or with other services)
 High cohesion
 Shared nothing
architecture
 Context Mapping
 Full stack, dynamic
deployment
 Parallel, non-blocking
development
© Michele Leroux Bustamante. All rights reserved.
Design
Design is Technology Independent
should be
starts out
© Michele Leroux Bustamante. All rights reserved.
Breaking Down Services
Mobile
Admin
Internal
Web
Recommendations
Service
Identity
Service
Users /
Profile
Account
Info
User
Permissions
Cache
Account
Service
Permissions
Service
ShoppingCart
Service
Customers
Service
Customers
Email
Service
Fulfillment
Fulfillment
Service
Orders
Service
Orders
Machine
Learning /
Analytics
Payment
Payment
Service
Product
Product
Service
Containerization
Virtualization vs. Containerization
VM
OS
Docker Engine
VM
Host OS
Hypervisor
Guest OS Guest OS Guest OS
Binaries Binaries Binaries
App A App B App B
Binaries Shared Binaries
App A App B App B
Container
NOT
a Container
Virtualization vs. Containerization
VM
OS
Docker Engine
VM
Host OS
Hypervisor
Guest OS Guest OS Guest OS
Binaries Binaries Binaries
App A App B App B
Binaries Shared Binaries
App A App B App B
No OS
OS
Fast
Efficient
Simple
Practical
DEMO
### Dockerfile for Windows
FROM windowsservercore
RUN dism /online /enable-feature /all /featurename:iis-webserver /NoRestart
RUN echo "Hello World - Dockerfile" > c:inetpubwwwrootindex.html
### build the image and run
docker build -t iis .
docker run --name iisdemo -it -p 80:80 iis cmd
© Michele Leroux Bustamante. All rights reserved.
Windows or Hyper-V Containers?
 Hyper-V protects the kernel
 Not available on Azure today
© Michele Leroux Bustamante. All rights reserved.
Windows Containers
 Containers on Windows Server?
 Windows Server 2016 Tech Preview 4
 Distribution of docker engine for windows
 Support for docker-cli or powershell commands
 The Docker daemon for Windows Server does not run Linux images!
 Create images based on windowsservercore
 What can you put into the image?
 Anything that runs on windows
 What about tools?
 We have Docker Engine, Docker Swarm, Docker Networking
 However…things don’t quite work the same (yet)
© Michele Leroux Bustamante. All rights reserved.
Scheduling and Discovery Demo
 How should services be deployed?
 1 per box, poor mans devops ok
 Density, best use of resources, need a scheduler
 Concepts
 Schedule deployments via master node cluster
 Tracks live containers via registration
 Tracks available resources via agent
© Michele Leroux Bustamante. All rights reserved.
Docker / Swarm
© Michele Leroux Bustamante. All rights reserved.
Mesos / Marathon
© Michele Leroux Bustamante. All rights reserved.
Azure Container Service
 Parameterized ARM templates that initialize your cluster
 Swarm / Mesos
© Michele Leroux Bustamante. All rights reserved.
Why you need more than just docker
 Geographic load balancing
 Fail fast service interactions (circuit breakers)
 Auto-scalability and service resiliency
 Centralized logging of operational and business activity
 Automated deployment
 Lightweight infrastructure
 Update deployment strategy (immutable or pushed artifact update)
Virtual Network
Subnet1
Front End
Stateless
Web / API
Services
HTTP/S
80/443
Back End
Stateless
Compute`
Stateful
Compute
Azure
Service
Fabric
© Michele Leroux Bustamante. All rights reserved.
Migration Roadmap
 Re-think Architecture Patterns and Principles
 Re-shape Team Collaboration Practices
 Re-invent the Platform
 Re-factor the Monolith
Without automation the explosion of moving
parts would be infinitely challenging
© Michele Leroux Bustamante. All rights reserved.
Finding the Right Fit
Skills
Effort
Cost
Timeline
Momentum
Culture
Microservices
Design
Requirements
Platform
Choices
Considered
© Michele Leroux Bustamante. All rights reserved.
About Michele
 Michele Leroux Bustamante
 michelebusta@solliance.net
 @michelebusta
 Solliance Cofounder
 Cloud / Security Architect
 Microsoft Regional Director since 2003
 Microsoft MVP – Microsoft Azure
 Azure Elite, Azure Insider

Mais conteúdo relacionado

Mais de Michele Leroux Bustamante

.NET Developer Days - Launching Patterns for Containers
.NET Developer Days - Launching Patterns for Containers.NET Developer Days - Launching Patterns for Containers
.NET Developer Days - Launching Patterns for ContainersMichele Leroux Bustamante
 
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...Michele Leroux Bustamante
 
The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!Michele Leroux Bustamante
 
Unleash Your Inner Startup (Sweden, Dev Sum)
Unleash Your Inner Startup (Sweden, Dev Sum)Unleash Your Inner Startup (Sweden, Dev Sum)
Unleash Your Inner Startup (Sweden, Dev Sum)Michele Leroux Bustamante
 
Pricing and Revenue Projection in a Cloud-Centric World
Pricing and Revenue Projection in a Cloud-Centric WorldPricing and Revenue Projection in a Cloud-Centric World
Pricing and Revenue Projection in a Cloud-Centric WorldMichele Leroux Bustamante
 

Mais de Michele Leroux Bustamante (16)

Surviving Microservices - v2
Surviving Microservices - v2Surviving Microservices - v2
Surviving Microservices - v2
 
.NET Developer Days - Launching Patterns for Containers
.NET Developer Days - Launching Patterns for Containers.NET Developer Days - Launching Patterns for Containers
.NET Developer Days - Launching Patterns for Containers
 
.NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time....NET Developer Days - So many Docker platforms, so little time...
.NET Developer Days - So many Docker platforms, so little time...
 
The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!The Ultimate Logging Architecture - You KNOW you want it!
The Ultimate Logging Architecture - You KNOW you want it!
 
The Power of Social Login
The Power of Social LoginThe Power of Social Login
The Power of Social Login
 
Unleash Your Inner Startup (Sweden, Dev Sum)
Unleash Your Inner Startup (Sweden, Dev Sum)Unleash Your Inner Startup (Sweden, Dev Sum)
Unleash Your Inner Startup (Sweden, Dev Sum)
 
Deep thoughts from the real world of azure
Deep thoughts from the real world of azureDeep thoughts from the real world of azure
Deep thoughts from the real world of azure
 
Social Login
Social LoginSocial Login
Social Login
 
Security Avalanche
Security AvalancheSecurity Avalanche
Security Avalanche
 
Surviving the Azure Avalanche
Surviving the Azure AvalancheSurviving the Azure Avalanche
Surviving the Azure Avalanche
 
DevOps for Azure
DevOps for AzureDevOps for Azure
DevOps for Azure
 
Windows Azure Essentials V3
Windows Azure Essentials V3Windows Azure Essentials V3
Windows Azure Essentials V3
 
Channel Your Inner Startup and Go For It!
Channel Your Inner Startup and Go For It!Channel Your Inner Startup and Go For It!
Channel Your Inner Startup and Go For It!
 
Global Windows Azure Bootcamp - San Diego
Global Windows Azure Bootcamp - San DiegoGlobal Windows Azure Bootcamp - San Diego
Global Windows Azure Bootcamp - San Diego
 
Windows Azure Essentials
Windows Azure EssentialsWindows Azure Essentials
Windows Azure Essentials
 
Pricing and Revenue Projection in a Cloud-Centric World
Pricing and Revenue Projection in a Cloud-Centric WorldPricing and Revenue Projection in a Cloud-Centric World
Pricing and Revenue Projection in a Cloud-Centric World
 

Último

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 

Último (20)

Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 

Microservices On Azure - choosing the right approach for your solution

  • 1. Microservices on Azure choosing the right approach for your solution Michele Leroux Bustamante Cofounder / CIO Solliance Cloud/Security Architect michelebusta@solliance.net
  • 4.
  • 7. © Michele Leroux Bustamante. All rights reserved. How did we get here?  Monolithic apps  Client / server apps  Distributed components  Service-Oriented Architecture (SOA)  Cloud-enabled solutions / PaaS  Microservices architecture
  • 8. 8 • Discrete • Atomic • Independently deployable • Bounded context • Fit in your head
  • 10. © Michele Leroux Bustamante. All rights reserved. Microservices Build on SOA  Loose coupling  reusable  encapsulated and autonomous  Separation of concerns  platform / technology independent  discoverable (registry services)  Service Oriented  well-defined contracts  composable (alone or with other services)  High cohesion  Shared nothing architecture  Context Mapping  Full stack, dynamic deployment  Parallel, non-blocking development
  • 11. © Michele Leroux Bustamante. All rights reserved. Design
  • 12. Design is Technology Independent should be starts out
  • 13. © Michele Leroux Bustamante. All rights reserved. Breaking Down Services Mobile Admin Internal Web Recommendations Service Identity Service Users / Profile Account Info User Permissions Cache Account Service Permissions Service ShoppingCart Service Customers Service Customers Email Service Fulfillment Fulfillment Service Orders Service Orders Machine Learning / Analytics Payment Payment Service Product Product Service
  • 15. Virtualization vs. Containerization VM OS Docker Engine VM Host OS Hypervisor Guest OS Guest OS Guest OS Binaries Binaries Binaries App A App B App B Binaries Shared Binaries App A App B App B Container NOT a Container
  • 16. Virtualization vs. Containerization VM OS Docker Engine VM Host OS Hypervisor Guest OS Guest OS Guest OS Binaries Binaries Binaries App A App B App B Binaries Shared Binaries App A App B App B No OS OS Fast Efficient Simple Practical
  • 17.
  • 18. DEMO
  • 19. ### Dockerfile for Windows FROM windowsservercore RUN dism /online /enable-feature /all /featurename:iis-webserver /NoRestart RUN echo "Hello World - Dockerfile" > c:inetpubwwwrootindex.html ### build the image and run docker build -t iis . docker run --name iisdemo -it -p 80:80 iis cmd
  • 20. © Michele Leroux Bustamante. All rights reserved. Windows or Hyper-V Containers?  Hyper-V protects the kernel  Not available on Azure today
  • 21. © Michele Leroux Bustamante. All rights reserved. Windows Containers  Containers on Windows Server?  Windows Server 2016 Tech Preview 4  Distribution of docker engine for windows  Support for docker-cli or powershell commands  The Docker daemon for Windows Server does not run Linux images!  Create images based on windowsservercore  What can you put into the image?  Anything that runs on windows  What about tools?  We have Docker Engine, Docker Swarm, Docker Networking  However…things don’t quite work the same (yet)
  • 22. © Michele Leroux Bustamante. All rights reserved. Scheduling and Discovery Demo  How should services be deployed?  1 per box, poor mans devops ok  Density, best use of resources, need a scheduler  Concepts  Schedule deployments via master node cluster  Tracks live containers via registration  Tracks available resources via agent
  • 23. © Michele Leroux Bustamante. All rights reserved. Docker / Swarm
  • 24. © Michele Leroux Bustamante. All rights reserved. Mesos / Marathon
  • 25. © Michele Leroux Bustamante. All rights reserved. Azure Container Service  Parameterized ARM templates that initialize your cluster  Swarm / Mesos
  • 26. © Michele Leroux Bustamante. All rights reserved. Why you need more than just docker  Geographic load balancing  Fail fast service interactions (circuit breakers)  Auto-scalability and service resiliency  Centralized logging of operational and business activity  Automated deployment  Lightweight infrastructure  Update deployment strategy (immutable or pushed artifact update)
  • 27. Virtual Network Subnet1 Front End Stateless Web / API Services HTTP/S 80/443 Back End Stateless Compute` Stateful Compute Azure Service Fabric
  • 28.
  • 29. © Michele Leroux Bustamante. All rights reserved. Migration Roadmap  Re-think Architecture Patterns and Principles  Re-shape Team Collaboration Practices  Re-invent the Platform  Re-factor the Monolith
  • 30. Without automation the explosion of moving parts would be infinitely challenging
  • 31. © Michele Leroux Bustamante. All rights reserved. Finding the Right Fit Skills Effort Cost Timeline Momentum Culture Microservices Design Requirements Platform Choices Considered
  • 32. © Michele Leroux Bustamante. All rights reserved. About Michele  Michele Leroux Bustamante  michelebusta@solliance.net  @michelebusta  Solliance Cofounder  Cloud / Security Architect  Microsoft Regional Director since 2003  Microsoft MVP – Microsoft Azure  Azure Elite, Azure Insider

Notas do Editor

  1. Microservices On Azure - choosing the right approach for your solution So you’ve decided you are ready to embrace microservices? Now begins another fun part of your journey - choosing the platform that fits your team, your solution, and your technology choices. Up to a point the microservices platform is irrelevant during the design phase, but at some you need to align the design with a platform. On Azure you have many choices including Docker, Windows Containers, Azure Container Service and Service Fabric. Come to this session for a peak at the capabilities and approaches for each; and insights on how to select the platform that fits best for your next green field solution or migration to microservices.
  2. Add services behind ----- Meeting Notes (1/10/16 06:19) ----- today we have a different set of issues browser compat, mobile browsers, apis for mobile and rich clients, back end services, layers
  3. Classic view of the evolution; but there were many hops on the way the frame the complexity of issues…
  4. Well understood business capability Group highly interrelated entities, transactions, and processes High cohesion inside the service Reduce regression testing, cascading dependencies
  5. And now, this… But, how much more complicated is it really? There is motivation…it’s all about decoupling…
  6. Context Mapping Complex and monolithic systems slow IT execution. By breaking monoliths into atomic microservices, teams simplify the problem space, work independently, and accelerate execution.   Ideally, the microservice domain model can ‘fit in your head’ and defines a well-understood business capability.   Context mapping identifies domain entities and interaction points. Teams define context boundaries that encapsulate domain details and groups highly interrelated entities, transactions, and processes. For example, in a trading system, a bounded domain context may represent account, security, watch list, order book, or trade. Loosely coupled, high cohesion Tight coupling creates large, monolithic systems. In a monolithic system, business changes require modifying multiple consumers and executing formidable regression test plans. Additionally, a low cohesion system creates a difficult to understand environment by grouping unrelated functions.   While SOA focuses on loosely coupling service consumers and providers from a technical perspective, a microservices approach focuses on loosely coupling services from a business domain perspective. While SOA does not prescribe service capabilities, a microservices approach guides service interfaces towards atomic business capabilities.   Microservices are autonomous, and exhibit low coupling with other microservices. Inside the microservice, each endpoint, resource, and function exhibits high cohesion, and helps implement a single business capability. When microservices are loosely coupled, teams can evolve and update the microservice without impacting other business capabilities. Shared nothing architecture Shared nothing architecture creates the ultimate loosely coupled service environment. Atomic microservices stand-alone, function independently, and don’t contain cross-service dependencies. When microservices do not share data, process, or rules, they can operate in parallel, and a microservice failure will not impact others. By preventing cascading dependencies, teams reduce regression testing before deployment and lower development cost. Full stack, dynamic deployment To implement shared nothing architecture, teams must unsure each microservice executes on a full stack. Each microservice encapsulates it’s own database, process server, application server, and integration server.   A microservices approach prescribes exposing the business capability and user interface via a composable service interface. Your team can rapidly compose new user experiences by weaving together “micro-views” on a web page. For example, in our trading application, three distinct microservices generate an account summary, pending orders, and watch list views displayed on the web page. Parallel, Non-Blocking Development Project managers accelerate delivery by fielding teams that operate in parallel and don’t block on each other. The microservices approach recommends empowering independent, autonomous teams, and organically composes systems across domain boundaries. By reducing project dependencies and developing without coordination checkpoints, teams can rapidly evolve their business capability.
  7. The problem microservices architecture tries to solve can best be understood by its evolution and the previous technology approaches that feed it.
  8. Do this, without concern over the data relations and aggregation – at first What are your services? What are your front ends? What topology is expected, integrations, queues, async Data ownership, transactions, eventual consistency After defining services, apply it to technology
  9. Why do containers stop/start so fast?
  10. Quick to start, stop Can snapshot, fix, redeploy
  11. create image Run container Link containers (compose) Publish to registry
  12. It is commonly understood that Docker makes extensive use of Linux kernel features (namely namespaces and cgroups. In a similar way, Microsoft has been adding containerization primitives to the Windows kernel, allowing any user code to execute a process in a sandboxed environment. Those feature are only available in the just released Windows Server 2016 Tech Preview 3 (TP3), which makes it the only Windows Server operating system that is capable of running the Docker daemon today.
  13. o    http://localhost/mesos o    http://localhost/marathon o    http://localhost/
  14. Only the cluster has access Still may need token flow, however
  15. Web app 400 tps
  16. Service fabric Partition early With granularity Let sf decide when to scale No need to migrate and refactor
  17. Service fabric Partition early With granularity Let sf decide when to scale No need to migrate and refactor