TECHNOLOGY SOLUTIONS DELIVERED
TECHNOLOGY SOLUTIONS DELIVEREDTECHNOLOGY SOLUTIONS DELIVERED
Success Factors for a Mature
Microservices Implementation
Dustin Ruehle
ECS Team, Senior Cloud Architect
@DustinRuehle
TECHNOLOGY SOLUTIONS DELIVERED
About me...
• Been at ECS 9+ years
• My Cloud Native journey began 2+ years ago
• Working with Pivotal as a trusted partner
• Pairing with large customers enabling transformation using Pivotal Cloud Foundry
• Platform, operations, application migration/modernization
• For who:
• a very large private company,
• a near Fortune 100 company,
• and several others with a Fortune 500 average of 24
• CF Summit 2016 – Monitoring Cloud Foundry – Learning about the
Firehose
• SpringOne Platform 2016 – Custom Tile Generation in PCF
TECHNOLOGY SOLUTIONS DELIVERED
Do you ever feel like…
TECHNOLOGY SOLUTIONS DELIVERED
What is the problem?
TECHNOLOGY SOLUTIONS DELIVERED
What is the problem?
“Taking to long to offer new features”
TECHNOLOGY SOLUTIONS DELIVERED
What is the problem?
“Taking to long to offer new features”
“We get a lot of users at once during a promotion and we crash”
TECHNOLOGY SOLUTIONS DELIVERED
What is the problem?
“Taking to long to offer new features”
“We get a lot of users at once during a promotion and we crash”
What are some of your problems?
TECHNOLOGY SOLUTIONS DELIVERED
What should be our goal?
TECHNOLOGY SOLUTIONS DELIVERED
What should be our goal?
avoid undifferentiated heavy lifting
TECHNOLOGY SOLUTIONS DELIVERED
This is what I need…right?
TECHNOLOGY SOLUTIONS DELIVERED
Or do I need this to solve my problem?
TECHNOLOGY SOLUTIONS DELIVERED
This isn’t new…
TECHNOLOGY SOLUTIONS DELIVERED
Do you agree?
=
Cloud Native
TECHNOLOGY SOLUTIONS DELIVERED
What about this?
=
Cloud Native
=
TECHNOLOGY SOLUTIONS DELIVERED
Cloud Native is what?
• 12 factor applications
• Microservices
• Self-service architecture
• API-Based collaboration
• Antifragility
- Matt Stine
Migrating to Cloud-Native Application Architectures
TECHNOLOGY SOLUTIONS DELIVERED
Cloud Native why?
”Cloud Native describes the patterns of high performing
organizations delivering software faster, consistently and
reliably at scale.”
- Pivotal
Faster, easier, safer
TECHNOLOGY SOLUTIONS DELIVERED
Cloud Native why?
”Cloud Native describes the patterns of high performing
organizations delivering software faster, consistently and
reliably at scale.”
- Pivotal
Faster, easier, safer
AND IT SOLVES A BUSINESS PROBLEM
TECHNOLOGY SOLUTIONS DELIVERED
Random success factor…. A µS smell test
When I want to deploy this
TECHNOLOGY SOLUTIONS DELIVERED
Random success factor…. A µS smell test
When I want to deploy this But have to deploy all that
TECHNOLOGY SOLUTIONS DELIVERED
Random success factor…. A µS smell test
Not loosely coupled
When I want to deploy this But have to deploy all that
TECHNOLOGY SOLUTIONS DELIVERED
Random success factor…. A µS smell test
When I want to use this
TECHNOLOGY SOLUTIONS DELIVERED
Random success factor…. A µS smell test
When I want to use this
I have to know about all that
TECHNOLOGY SOLUTIONS DELIVERED
Random success factor…. A µS smell test
Not a bounded context
When I want to use this
I have to know about all that
TECHNOLOGY SOLUTIONS DELIVERED
Random success factor…. A µS smell test
Refactor your
Bounded context
When I want to use this
I have to know about all that
TECHNOLOGY SOLUTIONS DELIVERED
Your are probably doing this…
Customer
Ordering Reporting
TECHNOLOGY SOLUTIONS DELIVERED
Your should probably be doing this…
Customer
Ordering Reporting
CustomerPolyglot Persistence
API-Based collaboration
TECHNOLOGY SOLUTIONS DELIVERED
Why containers aren’t enough?
To go to prod…
• Setup non-prod env
• Develop my business capability
• Determine
• logging
• monitoring (app and where it runs)
• security
• Integrate with other services to test
• Performance test my new business capability
• Setup my prod env
• Scale up and down based on user demand
• Troubleshoot my application working with other business
capabilities
• Patch my environment – CVEs for example
TECHNOLOGY SOLUTIONS DELIVERED
Problems I have yet to solve…
To go to prod…
• Setup non-prod env
• Develop my business capability
• Determine
• logging
• monitoring (app and where it runs)
• security
• Integrate with other services to test
• Performance test my new business capability
• Setup my prod env
• Scale up and down based on user demand
• Troubleshoot my application working with other
business capabilities
• Patch my environment – CVEs for example
TECHNOLOGY SOLUTIONS DELIVERED
Easy, I’ll just create some scripts…
Create my container
TECHNOLOGY SOLUTIONS DELIVERED
Easy, I’ll just create some scripts…
Create my container
Deploy my app with my
container
TECHNOLOGY SOLUTIONS DELIVERED
Easy, I’ll just create some scripts…
Create my container
Deploy my app with my
container
Scale my app
TECHNOLOGY SOLUTIONS DELIVERED
Easy, I’ll just create some scripts…
Create my container
Deploy my app with my
container
Scale my app
All my other scripts
TECHNOLOGY SOLUTIONS DELIVERED
Now what?
TECHNOLOGY SOLUTIONS DELIVERED
Somebody really smart said…
“A cloud-native application is an application
that has been designed and implemented to run
on a Platform-as-a-Service installation and to
embrace horizontal elastic scaling.”
- Kevin Hoffman
Beyond the Twelve-Factor App
TECHNOLOGY SOLUTIONS DELIVERED
Somebody really smart said…
“A cloud-native application is an application
that has been designed and implemented to run
on a Platform-as-a-Service installation and to
embrace horizontal elastic scaling.”
- Kevin Hoffman
Beyond the Twelve-Factor App
Hint: This is another success factor
TECHNOLOGY SOLUTIONS DELIVERED
What is Pivotal Cloud Foundry?
TECHNOLOGY SOLUTIONS DELIVERED
What is Pivotal Cloud Foundry?
TECHNOLOGY SOLUTIONS DELIVERED
What is Pivotal Cloud Foundry?
TECHNOLOGY SOLUTIONS DELIVERED
What is Pivotal Cloud Foundry?
- from Pivotal CF Immersion Intro
TECHNOLOGY SOLUTIONS DELIVERED
Pivotal Cloud Foundry Architecture
Container Scheduling
Application Framework
ServicesPlatform Runtime (Elastic Runtime)
Routing DatabaseConfigurationService Discovery
Big Data
Object Storage
Mobile
Build CI
User ProvidedLogging & Metrics Messaging
Circuit Breakers12 Factor Apps RESTful ServicesMicroservices
.NETSpring Boot Node.jsRuby on Rails
Operations Zero Downtime
Deployments
Failover &
Recovery
Scaling
Security
Patching
Platform
Upgrades
TECHNOLOGY SOLUTIONS DELIVERED41
Pivotal Cloud Foundry
Contract: BOSH Release
Contract: Cloud Provider Interface
Roles
Dev
Dev IT Ops
Cloud Foundry
BOSH
Runtime Platform
Operations
(Infrastructure Automation)
IT Ops
IT Ops
Services
Applications
Contract: 12 Factor App
more…
Infrastructure
Tools
TECHNOLOGY SOLUTIONS DELIVERED
PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConvergerVMConverger
Page 42
PCF Resiliency
Scenario: A Diego Cell (VM)
where your app container is
running crashes
App traffic and cf cli traffic (port 80/443)
TECHNOLOGY SOLUTIONS DELIVERED
PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConverger
Failed VMs
are recovered
VMConverger
Page 43
PCF Resiliency
desired state
actual state
desired state
actual state
App traffic and cf cli traffic (port 80/443)
TECHNOLOGY SOLUTIONS DELIVERED
PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
Failed VMs
are recovered
VMConverger
Page 44
PCF Resiliency
PCF redistributes the
applications that were running
on that cell.
desired state
actual state
VMConverger
desired state
actual state
App traffic and cf cli traffic (port 80/443)
TECHNOLOGY SOLUTIONS DELIVERED
PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
Failed VMs
are recovered
VMConverger
Page 45
PCF Resiliency
PCF redistributes the
applications that were running
on that cell.
BOSH recreates the Diego Cell
and apps can now run on that
cell again
desired state
actual state
VMConverger
desired state
actual state
App traffic and cf cli traffic (port 80/443)
TECHNOLOGY SOLUTIONS DELIVERED
PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConverger
desired state
actual state
desired state
actual state
Failed VMs
are recovered
Failed
Processes are
recovered
Monit
VMConverger
Page 46
PCF Resiliency
App traffic and cf cli traffic (port 80/443)
TECHNOLOGY SOLUTIONS DELIVERED
PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConverger
desired state
actual state
desired state
actual state
Failed VMs
are recovered
Failed
Processes are
recovered
Monit
VMConverger
Application Instances
balanced across
availability zones
Page 47
PCF Resiliency
App traffic and cf cli traffic (port 80/443)
TECHNOLOGY SOLUTIONS DELIVERED
PCF–Distributed
VirtualApplicance
Availability Zone 1 Availability Zone 2
DEA
VM
DEA
VM
VMGO Router VMGO Router
VMGO Router VMGO Router
DEA
VM
Cells
VM
DEA
VM
Cells
VM
IaaS – vSphere, AWS, Openstack, others…
BOSH
VMConverger
desired state
actual state
desired state
actual state
Failed VMs
are recovered
Failed
Processes are
recovered
Monit
VMConverger
Application Instances
balanced across
availability zones
Failed Application
Instances are
recovered
Page 48
PCF Resiliency
App traffic and cf cli traffic (port 80/443)
TECHNOLOGY SOLUTIONS DELIVERED
What are the problems we are solving again?
We started with…
- Taking to long to offer new features
- We get a lot of users at once during
a promotion and we crash
TECHNOLOGY SOLUTIONS DELIVERED
What are the problems we are solving again?
We started with…
- Taking to long to offer new features
- We get a lot of users at once during
a promotion and we crash
Cloud Native
Helps me solve problems
TECHNOLOGY SOLUTIONS DELIVERED
What are the problems we are solving again?
We started with…
- Taking to long to offer new features
- We get a lot of users at once during
a promotion and we crash
We inherited…
• Setup non-prod env
• Determine
• logging
• monitoring (app and where it runs)
• security
• Integrate with other services to test
• Performance test my new business capability
• Setup my prod env
• Scale up and down based on user demand
• Troubleshoot my application working with other
business capabilities
• Patch my environment – CVEs for example
Cloud Native
Helps me solve problems
TECHNOLOGY SOLUTIONS DELIVERED
What are the problems we are solving again?
We started with…
- Taking to long to offer new features
- We get a lot of users at once during
a promotion and we crash
We inherited…
• Setup non-prod env
• Determine
• logging
• monitoring (app and where it runs)
• security
• Integrate with other services to test
• Performance test my new business capability
• Setup my prod env
• Scale up and down based on user demand
• Troubleshoot my application working with other
business capabilities
• Patch my environment – CVEs for example
Cloud Native
Helps me solve problems
TECHNOLOGY SOLUTIONS DELIVERED
A platform solved a lot…but some remain…
Problems that remain…
- How do I troubleshoot my
application working with other
business capabilities?
- How does my application know
how to connect to other
applications?
- How do I manage configuration
for my application?
- How do I handle when an
application I consume behaves
badly?
- How do I connect to my backing
services?
TECHNOLOGY SOLUTIONS DELIVERED
How can I solve these problems?
Problems that remain…
- How do I troubleshoot my
application working with other
business capabilities?
- How does my application know
how to connect to other
applications?
- How do I manage configuration
for my application?
- How do I handle when an
application I consume behaves
badly?
- How do I connect to my backing
services?
TECHNOLOGY SOLUTIONS DELIVERED
How can I solve these problems?
Problems that remain…
- How do I troubleshoot my
application working with other
business capabilities?
- How does my application know
how to connect to other
applications?
- How do I manage configuration
for my application?
- How do I handle when an
application I consume behaves
badly?
- How do I connect to my backing
services?
Hint: This is another success factor
TECHNOLOGY SOLUTIONS DELIVERED
What magic is this?
TECHNOLOGY SOLUTIONS DELIVERED
What magic is this?
Service Discovery - Eureka
TECHNOLOGY SOLUTIONS DELIVERED
What magic is this?
Service Discovery - Eureka
Circuit Breaker - Hystrix
TECHNOLOGY SOLUTIONS DELIVERED
What magic is this?
Service Discovery - Eureka
Circuit Breaker - Hystrix
Distributed tracing – Spring Cloud Slueth
TECHNOLOGY SOLUTIONS DELIVERED
What magic is this?
Service Discovery - Eureka
Circuit Breaker - Hystrix
Distributed tracing – Spring Cloud Slueth
Centralized external configuration management – Spring Cloud Config
TECHNOLOGY SOLUTIONS DELIVERED
What magic is this?
Service Discovery - Eureka
Circuit Breaker - Hystrix
Distributed tracing – Spring Cloud Slueth
Centralized external configuration management – Spring Cloud Config
Connect to backend services like databases and message brokers – Spring Cloud Connectors
TECHNOLOGY SOLUTIONS DELIVERED
Not just for Java…
resilient, scalable microservices to .NET developers
TECHNOLOGY SOLUTIONS DELIVERED
Not just for Java…
resilient, scalable microservices to .NET developers
Service Discovery Config server Cloud Connectors
TECHNOLOGY SOLUTIONS DELIVERED
Did I solve my problems?
TECHNOLOGY SOLUTIONS DELIVERED
Do you feel like this?
TECHNOLOGY SOLUTIONS DELIVERED
Or this?
TECHNOLOGY SOLUTIONS DELIVERED
Did I meet my goal?
avoid undifferentiated heavy lifting
TECHNOLOGY SOLUTIONS DELIVERED
Did I meet my goal?
modern undifferentiated heavy lifting
TECHNOLOGY SOLUTIONS DELIVERED
Questions?

Success Factors for a Mature Microservices Implementation

  • 1.
    TECHNOLOGY SOLUTIONS DELIVERED TECHNOLOGYSOLUTIONS DELIVEREDTECHNOLOGY SOLUTIONS DELIVERED Success Factors for a Mature Microservices Implementation Dustin Ruehle ECS Team, Senior Cloud Architect @DustinRuehle
  • 2.
    TECHNOLOGY SOLUTIONS DELIVERED Aboutme... • Been at ECS 9+ years • My Cloud Native journey began 2+ years ago • Working with Pivotal as a trusted partner • Pairing with large customers enabling transformation using Pivotal Cloud Foundry • Platform, operations, application migration/modernization • For who: • a very large private company, • a near Fortune 100 company, • and several others with a Fortune 500 average of 24 • CF Summit 2016 – Monitoring Cloud Foundry – Learning about the Firehose • SpringOne Platform 2016 – Custom Tile Generation in PCF
  • 3.
    TECHNOLOGY SOLUTIONS DELIVERED Doyou ever feel like…
  • 4.
  • 5.
    TECHNOLOGY SOLUTIONS DELIVERED Whatis the problem? “Taking to long to offer new features”
  • 6.
    TECHNOLOGY SOLUTIONS DELIVERED Whatis the problem? “Taking to long to offer new features” “We get a lot of users at once during a promotion and we crash”
  • 7.
    TECHNOLOGY SOLUTIONS DELIVERED Whatis the problem? “Taking to long to offer new features” “We get a lot of users at once during a promotion and we crash” What are some of your problems?
  • 8.
  • 9.
    TECHNOLOGY SOLUTIONS DELIVERED Whatshould be our goal? avoid undifferentiated heavy lifting
  • 10.
    TECHNOLOGY SOLUTIONS DELIVERED Thisis what I need…right?
  • 11.
    TECHNOLOGY SOLUTIONS DELIVERED Ordo I need this to solve my problem?
  • 12.
  • 13.
    TECHNOLOGY SOLUTIONS DELIVERED Doyou agree? = Cloud Native
  • 14.
    TECHNOLOGY SOLUTIONS DELIVERED Whatabout this? = Cloud Native =
  • 15.
    TECHNOLOGY SOLUTIONS DELIVERED CloudNative is what? • 12 factor applications • Microservices • Self-service architecture • API-Based collaboration • Antifragility - Matt Stine Migrating to Cloud-Native Application Architectures
  • 16.
    TECHNOLOGY SOLUTIONS DELIVERED CloudNative why? ”Cloud Native describes the patterns of high performing organizations delivering software faster, consistently and reliably at scale.” - Pivotal Faster, easier, safer
  • 17.
    TECHNOLOGY SOLUTIONS DELIVERED CloudNative why? ”Cloud Native describes the patterns of high performing organizations delivering software faster, consistently and reliably at scale.” - Pivotal Faster, easier, safer AND IT SOLVES A BUSINESS PROBLEM
  • 18.
    TECHNOLOGY SOLUTIONS DELIVERED Randomsuccess factor…. A µS smell test When I want to deploy this
  • 19.
    TECHNOLOGY SOLUTIONS DELIVERED Randomsuccess factor…. A µS smell test When I want to deploy this But have to deploy all that
  • 20.
    TECHNOLOGY SOLUTIONS DELIVERED Randomsuccess factor…. A µS smell test Not loosely coupled When I want to deploy this But have to deploy all that
  • 21.
    TECHNOLOGY SOLUTIONS DELIVERED Randomsuccess factor…. A µS smell test When I want to use this
  • 22.
    TECHNOLOGY SOLUTIONS DELIVERED Randomsuccess factor…. A µS smell test When I want to use this I have to know about all that
  • 23.
    TECHNOLOGY SOLUTIONS DELIVERED Randomsuccess factor…. A µS smell test Not a bounded context When I want to use this I have to know about all that
  • 24.
    TECHNOLOGY SOLUTIONS DELIVERED Randomsuccess factor…. A µS smell test Refactor your Bounded context When I want to use this I have to know about all that
  • 25.
    TECHNOLOGY SOLUTIONS DELIVERED Yourare probably doing this… Customer Ordering Reporting
  • 26.
    TECHNOLOGY SOLUTIONS DELIVERED Yourshould probably be doing this… Customer Ordering Reporting CustomerPolyglot Persistence API-Based collaboration
  • 27.
    TECHNOLOGY SOLUTIONS DELIVERED Whycontainers aren’t enough? To go to prod… • Setup non-prod env • Develop my business capability • Determine • logging • monitoring (app and where it runs) • security • Integrate with other services to test • Performance test my new business capability • Setup my prod env • Scale up and down based on user demand • Troubleshoot my application working with other business capabilities • Patch my environment – CVEs for example
  • 28.
    TECHNOLOGY SOLUTIONS DELIVERED ProblemsI have yet to solve… To go to prod… • Setup non-prod env • Develop my business capability • Determine • logging • monitoring (app and where it runs) • security • Integrate with other services to test • Performance test my new business capability • Setup my prod env • Scale up and down based on user demand • Troubleshoot my application working with other business capabilities • Patch my environment – CVEs for example
  • 29.
    TECHNOLOGY SOLUTIONS DELIVERED Easy,I’ll just create some scripts… Create my container
  • 30.
    TECHNOLOGY SOLUTIONS DELIVERED Easy,I’ll just create some scripts… Create my container Deploy my app with my container
  • 31.
    TECHNOLOGY SOLUTIONS DELIVERED Easy,I’ll just create some scripts… Create my container Deploy my app with my container Scale my app
  • 32.
    TECHNOLOGY SOLUTIONS DELIVERED Easy,I’ll just create some scripts… Create my container Deploy my app with my container Scale my app All my other scripts
  • 33.
  • 34.
    TECHNOLOGY SOLUTIONS DELIVERED Somebodyreally smart said… “A cloud-native application is an application that has been designed and implemented to run on a Platform-as-a-Service installation and to embrace horizontal elastic scaling.” - Kevin Hoffman Beyond the Twelve-Factor App
  • 35.
    TECHNOLOGY SOLUTIONS DELIVERED Somebodyreally smart said… “A cloud-native application is an application that has been designed and implemented to run on a Platform-as-a-Service installation and to embrace horizontal elastic scaling.” - Kevin Hoffman Beyond the Twelve-Factor App Hint: This is another success factor
  • 36.
    TECHNOLOGY SOLUTIONS DELIVERED Whatis Pivotal Cloud Foundry?
  • 37.
    TECHNOLOGY SOLUTIONS DELIVERED Whatis Pivotal Cloud Foundry?
  • 38.
    TECHNOLOGY SOLUTIONS DELIVERED Whatis Pivotal Cloud Foundry?
  • 39.
    TECHNOLOGY SOLUTIONS DELIVERED Whatis Pivotal Cloud Foundry? - from Pivotal CF Immersion Intro
  • 40.
    TECHNOLOGY SOLUTIONS DELIVERED PivotalCloud Foundry Architecture Container Scheduling Application Framework ServicesPlatform Runtime (Elastic Runtime) Routing DatabaseConfigurationService Discovery Big Data Object Storage Mobile Build CI User ProvidedLogging & Metrics Messaging Circuit Breakers12 Factor Apps RESTful ServicesMicroservices .NETSpring Boot Node.jsRuby on Rails Operations Zero Downtime Deployments Failover & Recovery Scaling Security Patching Platform Upgrades
  • 41.
    TECHNOLOGY SOLUTIONS DELIVERED41 PivotalCloud Foundry Contract: BOSH Release Contract: Cloud Provider Interface Roles Dev Dev IT Ops Cloud Foundry BOSH Runtime Platform Operations (Infrastructure Automation) IT Ops IT Ops Services Applications Contract: 12 Factor App more… Infrastructure Tools
  • 42.
    TECHNOLOGY SOLUTIONS DELIVERED PCF–Distributed VirtualApplicance AvailabilityZone 1 Availability Zone 2 DEA VM DEA VM VMGO Router VMGO Router VMGO Router VMGO Router DEA VM Cells VM DEA VM Cells VM IaaS – vSphere, AWS, Openstack, others… BOSH VMConvergerVMConverger Page 42 PCF Resiliency Scenario: A Diego Cell (VM) where your app container is running crashes App traffic and cf cli traffic (port 80/443)
  • 43.
    TECHNOLOGY SOLUTIONS DELIVERED PCF–Distributed VirtualApplicance AvailabilityZone 1 Availability Zone 2 DEA VM DEA VM VMGO Router VMGO Router VMGO Router VMGO Router DEA VM Cells VM DEA VM Cells VM IaaS – vSphere, AWS, Openstack, others… BOSH VMConverger Failed VMs are recovered VMConverger Page 43 PCF Resiliency desired state actual state desired state actual state App traffic and cf cli traffic (port 80/443)
  • 44.
    TECHNOLOGY SOLUTIONS DELIVERED PCF–Distributed VirtualApplicance AvailabilityZone 1 Availability Zone 2 DEA VM DEA VM VMGO Router VMGO Router VMGO Router VMGO Router DEA VM Cells VM DEA VM Cells VM IaaS – vSphere, AWS, Openstack, others… BOSH Failed VMs are recovered VMConverger Page 44 PCF Resiliency PCF redistributes the applications that were running on that cell. desired state actual state VMConverger desired state actual state App traffic and cf cli traffic (port 80/443)
  • 45.
    TECHNOLOGY SOLUTIONS DELIVERED PCF–Distributed VirtualApplicance AvailabilityZone 1 Availability Zone 2 DEA VM DEA VM VMGO Router VMGO Router VMGO Router VMGO Router DEA VM Cells VM DEA VM Cells VM IaaS – vSphere, AWS, Openstack, others… BOSH Failed VMs are recovered VMConverger Page 45 PCF Resiliency PCF redistributes the applications that were running on that cell. BOSH recreates the Diego Cell and apps can now run on that cell again desired state actual state VMConverger desired state actual state App traffic and cf cli traffic (port 80/443)
  • 46.
    TECHNOLOGY SOLUTIONS DELIVERED PCF–Distributed VirtualApplicance AvailabilityZone 1 Availability Zone 2 DEA VM DEA VM VMGO Router VMGO Router VMGO Router VMGO Router DEA VM Cells VM DEA VM Cells VM IaaS – vSphere, AWS, Openstack, others… BOSH VMConverger desired state actual state desired state actual state Failed VMs are recovered Failed Processes are recovered Monit VMConverger Page 46 PCF Resiliency App traffic and cf cli traffic (port 80/443)
  • 47.
    TECHNOLOGY SOLUTIONS DELIVERED PCF–Distributed VirtualApplicance AvailabilityZone 1 Availability Zone 2 DEA VM DEA VM VMGO Router VMGO Router VMGO Router VMGO Router DEA VM Cells VM DEA VM Cells VM IaaS – vSphere, AWS, Openstack, others… BOSH VMConverger desired state actual state desired state actual state Failed VMs are recovered Failed Processes are recovered Monit VMConverger Application Instances balanced across availability zones Page 47 PCF Resiliency App traffic and cf cli traffic (port 80/443)
  • 48.
    TECHNOLOGY SOLUTIONS DELIVERED PCF–Distributed VirtualApplicance AvailabilityZone 1 Availability Zone 2 DEA VM DEA VM VMGO Router VMGO Router VMGO Router VMGO Router DEA VM Cells VM DEA VM Cells VM IaaS – vSphere, AWS, Openstack, others… BOSH VMConverger desired state actual state desired state actual state Failed VMs are recovered Failed Processes are recovered Monit VMConverger Application Instances balanced across availability zones Failed Application Instances are recovered Page 48 PCF Resiliency App traffic and cf cli traffic (port 80/443)
  • 49.
    TECHNOLOGY SOLUTIONS DELIVERED Whatare the problems we are solving again? We started with… - Taking to long to offer new features - We get a lot of users at once during a promotion and we crash
  • 50.
    TECHNOLOGY SOLUTIONS DELIVERED Whatare the problems we are solving again? We started with… - Taking to long to offer new features - We get a lot of users at once during a promotion and we crash Cloud Native Helps me solve problems
  • 51.
    TECHNOLOGY SOLUTIONS DELIVERED Whatare the problems we are solving again? We started with… - Taking to long to offer new features - We get a lot of users at once during a promotion and we crash We inherited… • Setup non-prod env • Determine • logging • monitoring (app and where it runs) • security • Integrate with other services to test • Performance test my new business capability • Setup my prod env • Scale up and down based on user demand • Troubleshoot my application working with other business capabilities • Patch my environment – CVEs for example Cloud Native Helps me solve problems
  • 52.
    TECHNOLOGY SOLUTIONS DELIVERED Whatare the problems we are solving again? We started with… - Taking to long to offer new features - We get a lot of users at once during a promotion and we crash We inherited… • Setup non-prod env • Determine • logging • monitoring (app and where it runs) • security • Integrate with other services to test • Performance test my new business capability • Setup my prod env • Scale up and down based on user demand • Troubleshoot my application working with other business capabilities • Patch my environment – CVEs for example Cloud Native Helps me solve problems
  • 53.
    TECHNOLOGY SOLUTIONS DELIVERED Aplatform solved a lot…but some remain… Problems that remain… - How do I troubleshoot my application working with other business capabilities? - How does my application know how to connect to other applications? - How do I manage configuration for my application? - How do I handle when an application I consume behaves badly? - How do I connect to my backing services?
  • 54.
    TECHNOLOGY SOLUTIONS DELIVERED Howcan I solve these problems? Problems that remain… - How do I troubleshoot my application working with other business capabilities? - How does my application know how to connect to other applications? - How do I manage configuration for my application? - How do I handle when an application I consume behaves badly? - How do I connect to my backing services?
  • 55.
    TECHNOLOGY SOLUTIONS DELIVERED Howcan I solve these problems? Problems that remain… - How do I troubleshoot my application working with other business capabilities? - How does my application know how to connect to other applications? - How do I manage configuration for my application? - How do I handle when an application I consume behaves badly? - How do I connect to my backing services? Hint: This is another success factor
  • 56.
  • 57.
    TECHNOLOGY SOLUTIONS DELIVERED Whatmagic is this? Service Discovery - Eureka
  • 58.
    TECHNOLOGY SOLUTIONS DELIVERED Whatmagic is this? Service Discovery - Eureka Circuit Breaker - Hystrix
  • 59.
    TECHNOLOGY SOLUTIONS DELIVERED Whatmagic is this? Service Discovery - Eureka Circuit Breaker - Hystrix Distributed tracing – Spring Cloud Slueth
  • 60.
    TECHNOLOGY SOLUTIONS DELIVERED Whatmagic is this? Service Discovery - Eureka Circuit Breaker - Hystrix Distributed tracing – Spring Cloud Slueth Centralized external configuration management – Spring Cloud Config
  • 61.
    TECHNOLOGY SOLUTIONS DELIVERED Whatmagic is this? Service Discovery - Eureka Circuit Breaker - Hystrix Distributed tracing – Spring Cloud Slueth Centralized external configuration management – Spring Cloud Config Connect to backend services like databases and message brokers – Spring Cloud Connectors
  • 62.
    TECHNOLOGY SOLUTIONS DELIVERED Notjust for Java… resilient, scalable microservices to .NET developers
  • 63.
    TECHNOLOGY SOLUTIONS DELIVERED Notjust for Java… resilient, scalable microservices to .NET developers Service Discovery Config server Cloud Connectors
  • 64.
  • 65.
  • 66.
  • 67.
    TECHNOLOGY SOLUTIONS DELIVERED DidI meet my goal? avoid undifferentiated heavy lifting
  • 68.
    TECHNOLOGY SOLUTIONS DELIVERED DidI meet my goal? modern undifferentiated heavy lifting
  • 69.