SlideShare a Scribd company logo
Cloud-Native Data
Extending Cloud-Native Beyond the App
Cornelia Davis
Sr. Director of Technology
Pivotal
@cdavisafc
@cdavisafc
Me?
Developer (wasn’t Ops)
Web architectures for >10 years
Cloud-native for 5 years
Cloud Foundry for 5 years
More recently
Discount code 40% off!: 40cloudnat
A Seattle book store
deploys code, on average,
every second
© 2015 Pivotal Software, Inc. All rights reserved. 4
Search µservice .
Image µservice .
Item Master µservice
Reviews µservice
Shopping
Cart
µservice
Other
dependen
t µservice
Other
dependen
t µservice
Other
dependen
t µservice
Why?
• Scale Applications
• Scale Teams
• Independent Development Cycles
• Experimentation
• Resilience
6
Continuous Delivery
of
Customer & Business
Value
Obstacles
• Silos: Dev, QA, Operations is
typical. No shared common goal
• Dissimilar Environments - “It
works on my machine”
• Risky Deployments: Manual
steps, done “off hours”
• Changes are treated as an
exception →Firefighting
• Processes designed around
these obstacles
Enabling Patterns
• Reinventing the Software
(Delivery) Value Chain
• Cloud-native Software
Architectures
• The Right Platform
• Devops
• Change is the Rule
(not the Exception)
© 2015 Pivotal Software, Inc. All rights reserved. 9
Search µservice .
Image µservice .
Item Master µservice
Reviews µservice
Shopping
Cart
µservice
Other
dependen
t µservice
Other
dependen
t µservice
Other
dependen
t µservice
10
Presentation
Frontend-integration
Order
Status
µService
Search
µService
Item

Master
µService
Item
MetaDatµS
ervice
Cart
µService
Image
µService
R12Ns
µService
Shipping
µService
µService
µService
µService
µService
µService
New LIGHTWEIGHT ARCHITECTURES are emerging
 Microservices addressing speed to market and cloud scale
Monolithic / Layered Microservices
12 http://highscalability.com/blog/2014/4/8/microservices-not-a-free-lunch.html
Spring Cloud Services 1.0.0
3
Spring Cloud Services
Config Server Service Registry Circuit Breaker
Dashboard
14
Operational Visibility: Distributed Tracing
• Latency visibility into a request’s end-to-end call graph
• Quickly identify a problematic service in a distributed system
• Zipkin is a open source distributed tracing system. It helps gather timing data
needed to troubleshoot latency problems in microservice architectures.
• Pivotal is investing in Zipkin to solve distributed tracing use cases
– Apache 2.0 License
– Created by Twitter in 2012.
– In 2015, OpenZipkin became the primary fork
Zipkin Tracing
• PCF Developers can redirect application traffic to a desired request
path in order to use logging, authentication or rate limiting systems
that exist outside of PCF
• PCF’s Service API will introduce a new field: route_service_url
• Developers will create a routing service instance and bind it to a
route (not an app)
– Service Instance can be created by a Service Broker or can
be a user-provided service instance
• Router is configured with and forwards requests to the URL
contained in the route_service_url field
• The route service is expected to forward the request back to the
route
• Knowing the request has already been forwarded to the route
service, the Router forwards to the associated applications
Route Services
client
load
balancer
CF router
CF app
route
service
1
2
3
4
5
6
New LIGHTWEIGHT ARCHITECTURES are emerging
 Microservices addressing speed to market and cloud scale
Monolithic / Layered Microservices
Cloud-native Data
18
What is Cloud-native
Data?
It’s not this
At the Intersection of Cloud-native App Architecture & Data
What is Cloud-native Data?
Patterns
• Data-services Topology
• Interfacing to existing data sources
• Caching, but rethought
• ETL, but rethought
• Micro-databases
• Event Sourcing (and CQRS)
• Personas - what happens to the DBA, Data Architect, etc.?
Data-services topology
Goals/Needs:
• Resilience
• Tenancy
• Security - networks?
• Day 2 Ops - Backup/Recovery
Data-services topology: Resilience
PCF
Data Center 1
PCF
Data Center 2
PCF PCF
Pipelines Distribute Deployments
Active/Active
Data Center 1 Data Center 2
PCF PCF
Pipelines Distribute Deployments
“Active/Active”
Data Center 1 Data Center 2
PCF PCF
Pipelines Distribute Deployments
“Active/Active”
Data Center 1 Data Center 2
PCF PCF
Pipelines Distribute Deployments
“Active/Active”
Data Center 1 Data Center 2
WAN Replication
Interfacing to Existing Data Sources
Goals/Needs:
• Cost reduction - offloading MIPS
• Agility
Pattern: Data API
• Microservices do not access data layer directly
• Except for the micro services that implement the data
API
• A surface area to:
• Implement access control
• (Instead of the likes of firewall rules)
• Implement throttling
• (Fair sharing of a resource)
• Perform logging
• Other policies…
Anti-pattern: Stateless Data APIs*
29
* We will maintain statelessness
at the app level
This is the architecture that dominated the
SOA era of the early 2000s
Culture tip: Data APIs needn't be
built by the database team
Pattern: Microservice Needs a Cache
30
We’ll have a lot more to discuss with respect to caching
… stay tuned
Pattern: Data API
• Microservices do not access data layer directly
• Except for the micro services that implement the data
API
• A surface area to:
• Implement access control
• (Instead of the likes of firewall rules)
• Implement throttling
• (Fair sharing of a resource)
• Perform logging
• Other policies…
Pattern: Data API
• Microservices do not access data layer directly
• Except for the micro services that implement the data
API
• A surface area to:
• Implement access control
• (Instead of the likes of firewall rules)
• Implement throttling
• (Fair sharing of a resource)
• Perform logging
• Other policies…
Pattern: Versioned Data API
• We are already familiar with versioned
micro services…
V1 V2
Possibly coupled with
Pattern: Parallel Deployments
Caching Rethought
Goals/Needs:
• Performance
• Interface to existing data sources
• Resilience
https://content.pivotal.io/white-papers/in-memory-data-caching-for-microservices-architectures
Caching Patterns
Look Aside
• Attempt retrieval from cache
• Client retrieves from source
• Write into cache
! ?
"
#
Advantages
• If cache is unavailable, data source
may still be
• Cache configuration is very simple
Disadvantages
• Developer may be responsible for
protocol implementation (Spring
Cache Abstractions do hide this from
the dev)
Caching Patterns
Read-through
• Attempt retrieval from cache
• Cache retrieves from source and stores
in cache
• Return value to client
! ?
"
#
Advantages
• Simpler client programming model
(though developer may be responsible
for code running in cache)
• Less processing load on the client
Disadvantages
• Cache must available
• Cache configuration, including code
deployment into cache, is more complex
Caching Patterns
Write-through
• Write to cache
• Cache writes to source
• ack sent to client
!
"
#
Advantages
• Simpler client programming model
• Consistent
Disadvantages
• Cache must available
• Cache configuration, including code deployment, is
more complex
• Depends on connectivity to cache and cache to source
• Higher latency
Caching Patterns
Write-behind
• Write to cache
• ack sent to client
• Cache writes to source asynchronously
!
"
#
Advantages
• Simpler client programming model
• Very low latency
Disadvantages
• Cache must available
• Cache configuration, including code deployment, is
more complex
• Depends on connectivity to cache and cache to source
• Eventual consistency
© Copyright 2014 Pivotal. All rights reserved.
40
Why Cloud-Native Apps Need an In-Memory Cache
As an integrated service on a world class platform
Fast, available
microservices
Legacy app
modernization
Performance
at scale
Auto-scaling High Availability Logging/Metrics Security Zero Downtime Updates …Multi-cloud
Pattern: Cache Warming
• Loading the
cache can be
expensive
• Spring Cloud
Data Flow for
modern ETL
Sources
Destination
Spring Boot
Apps
Filter
Microservice
Enrich
Microservice
Score
Microservice
Spring Boot
Apps
Spring Boot
Apps
IoT
Microdatabases & Event Sourcing
Goals/Needs:
• Agility ∴ Autonomy
• Resilience
Cloud-native Data
44
Pattern: Database per Microservice
• Supports Polyglot
persistence
• Independent availability,
backup/restore, access
patterns, etc.
• In PCF, on-demand,
dedicated clusters
My
Connections
API
Posts
API
New from
Network
API
Client Side Join
47
My
Connections
API
Posts
API
New from
Network
API
Event-driven Systems
48
My
Connections
API
Posts
API
New from
Network
API
Independent Databases - Shared Entities
• We’ve started to break up the
data monolith
• BUT our data integration
“strategy” is rather brittle and
bespoke
• How are changes to data in
one bounded context
reflected in the other?
Sales
Support
?
My
Connections
API
Posts
API
New from
Network
API
Cloud-native Data
My
Connections
API
Posts
API
New from
Network
API
My
Connections
API
Posts
API
New from
Network
API
Unified Log
CQRS is what allows
the unified log to be
the source of truth
54
My
Connections
API
Posts
API
New from
Network
API
Unified Log
But then, what about people?
Info Sec
Srv Build
Cap PlanNetwork
OpsMid. Eng.
SW Arch
SW Dev
Client SW Dev
Svc Govern
CUSTOMER FACING APP TEAM
Ops
Cap Plan
DCTM Eng
DCTM
Cap Plan
Ops
SW Arch
SW Dev
Client SW Dev
CUSTOMER FACING APP TEAM
Ops
Cap Plan
ENTERPRISE
ARCH
Ent Arch
Proj Mgmt
Biz An
Prod MgmtData Arch
DBA
Biz An
Prod MgmtData Arch
SW Arch
SW Dev
Client SW Dev
LEGACY SERVICE TEAM
Ops
Cap Plan
Biz An
Prod MgmtData Arch
CSO INFRA
MID/
DEV
BIZ
ENT
APPS
DATA
Change Control
PLATFORM TEAM
Ent Arch
Prod Mgmt
57
Cloud-native Patterns
Summary
Legacy Data
Access
Service APIs
Data APIs
Shared DB
Database Per
Service
Data Integration
Client-side “Joins”
Event Sourcing
CQRSData Replication
Parallel
Deployments
Caching
Cache Provisioning
and Management
Look Aside
Read-through
Write-through/
behind
Warming
Transforming The Way the World Builds Software
59
And Software Needs Data
Thank you!
Cornelia Davis
Sr. Director of Technology
Pivotal
@cdavisafc
Discount code 40% off!: 40cloudnat
Cloud-native Data

More Related Content

PDF
Cloud-native Data: Every Microservice Needs a Cache
PDF
It’s Not Just Request/Response: Understanding Event-driven Microservices
PDF
Cloud Native: Designing Change-tolerant Software
PDF
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
PDF
You've Made Kubernetes Available to Your Developers, Now What?
PDF
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
PDF
Delivering with Microservices - How to Iterate Towards Sophistication
PPTX
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...
Cloud-native Data: Every Microservice Needs a Cache
It’s Not Just Request/Response: Understanding Event-driven Microservices
Cloud Native: Designing Change-tolerant Software
Kubo (Cloud Foundry Container Platform): Your Gateway Drug to Cloud-native
You've Made Kubernetes Available to Your Developers, Now What?
Chris Munns, DevOps @ Amazon: Microservices, 2 Pizza Teams, & 50 Million Depl...
Delivering with Microservices - How to Iterate Towards Sophistication
Flowcon (added to for CMG) Keynote talk on how Speed Wins and how Netflix is ...

What's hot (8)

PPTX
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
PPTX
Netflix Cloud Architecture and Open Source
PDF
The Cloud Revolution - Philippines Cloud Summit
PDF
DevOps in the Cloud with Microsoft Azure
PPTX
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
PPTX
Application Lifecycle Management and Event Driven Programming on AWS
PDF
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
PDF
Scaling Gilt: from monolith ruby app to micro service scala service architecture
Monitorama - Please, no more Minutes, Milliseconds, Monoliths or Monitoring T...
Netflix Cloud Architecture and Open Source
The Cloud Revolution - Philippines Cloud Summit
DevOps in the Cloud with Microsoft Azure
CMG2013 Workshop: Netflix Cloud Native, Capacity, Performance and Cost Optimi...
Application Lifecycle Management and Event Driven Programming on AWS
AWS Innovate: Smaller IS Better – Exploiting Microservices on AWS, Craig Dickson
Scaling Gilt: from monolith ruby app to micro service scala service architecture
Ad

Similar to Cloud-native Data (20)

PPTX
Designing Microservices
PDF
The Evolving Data Center – Past, Present and Future
PDF
The Need of Cloud-Native Application
PPTX
Disruptive Trends in Application Development
PPTX
Pros & Cons of Microservices Architecture
PPTX
Stream Analytics in the Enterprise
PPTX
Introduction to Microservices
PPTX
Cloud Services and Infrastructure in 2017
PDF
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
PDF
Serverless: Market Overview and Investment Opportunities
PPTX
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
PPTX
Mahika cloud services
PDF
Five Early Challenges Of Building Streaming Fast Data Applications
PPTX
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
PPTX
What serverless means for enterprise apps
PPT
A Complete Guide Cloud Computing
PPTX
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
PDF
Cloud Services Integration Automation-External
PPTX
Chapter 1 & 2 - Introduction-to-Cloud-Computing.pptx
PDF
Lecture2-IntroductiontoCloudComputing.pdf
Designing Microservices
The Evolving Data Center – Past, Present and Future
The Need of Cloud-Native Application
Disruptive Trends in Application Development
Pros & Cons of Microservices Architecture
Stream Analytics in the Enterprise
Introduction to Microservices
Cloud Services and Infrastructure in 2017
Data Engineer, Patterns & Architecture The future: Deep-dive into Microservic...
Serverless: Market Overview and Investment Opportunities
Tokyo Azure Meetup #5 - Microservices and Azure Service Fabric
Mahika cloud services
Five Early Challenges Of Building Streaming Fast Data Applications
Tokyo Azure Meetup #7 - Introduction to Serverless Architectures with Azure F...
What serverless means for enterprise apps
A Complete Guide Cloud Computing
Global Azure 2022 - Architecting Modern Serverless APIs with Azure Functions ...
Cloud Services Integration Automation-External
Chapter 1 & 2 - Introduction-to-Cloud-Computing.pptx
Lecture2-IntroductiontoCloudComputing.pdf
Ad

More from cornelia davis (20)

PDF
You Might Just be a Functional Programmer Now
PDF
Kubernetes: one cluster or many
PDF
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
PDF
Cloud Native Architectures for Devops
PDF
Cloud Native: Designing Change-tolerant Software
PDF
Devops: Who Does What? - Devops Enterprise Summit 2016
PDF
Velocity NY 2016 - Devops: Who Does What?
PDF
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...
PDF
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
PDF
Devops: Enabled Through a Recasting of Operational Roles
PPTX
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
PPTX
Removing Barriers Between Dev and Ops
PPTX
Declarative Infrastructure with Cloud Foundry BOSH
PPTX
Cloud Foundry Diego, Lattice, Docker and more
PPTX
Cloud Foundry Platform Operations - CF Summit 2015
PPTX
Competing with Software: It Takes a Platform -- Devops @ EMC World
PPTX
Pivotal Cloud Platform Roadshow Keynote
PPTX
Evolving Devops: The Benefits of PaaS and Application Dial Tone
PDF
Software Quality in the Devops World: The Impact of Continuous Delivery on Te...
PPTX
Cloud Foundry Introduction (w Demo) at Silicon Valley Code Camp
You Might Just be a Functional Programmer Now
Kubernetes: one cluster or many
Pivotal Container Service (PKS) at SF Cloud Foundry Meetup
Cloud Native Architectures for Devops
Cloud Native: Designing Change-tolerant Software
Devops: Who Does What? - Devops Enterprise Summit 2016
Velocity NY 2016 - Devops: Who Does What?
Devops Enterprise Summit: My Great Awakening: 
Top “Ah-ha” Moments As Former ...
Linux Collaboration Summit Keynote: Transformation: It Takes a Platform
Devops: Enabled Through a Recasting of Operational Roles
12 Factor, or Cloud Native Apps – What EXACTLY Does that Mean for Spring Deve...
Removing Barriers Between Dev and Ops
Declarative Infrastructure with Cloud Foundry BOSH
Cloud Foundry Diego, Lattice, Docker and more
Cloud Foundry Platform Operations - CF Summit 2015
Competing with Software: It Takes a Platform -- Devops @ EMC World
Pivotal Cloud Platform Roadshow Keynote
Evolving Devops: The Benefits of PaaS and Application Dial Tone
Software Quality in the Devops World: The Impact of Continuous Delivery on Te...
Cloud Foundry Introduction (w Demo) at Silicon Valley Code Camp

Recently uploaded (20)

PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
DOCX
The Five Best AI Cover Tools in 2025.docx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Online Work Permit System for Fast Permit Processing
PPT
JAVA ppt tutorial basics to learn java programming
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Materi_Pemrograman_Komputer-Looping.pptx
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
System and Network Administration Chapter 2
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Complete React Javascript Course Syllabus.pdf
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
medical staffing services at VALiNTRY
PDF
System and Network Administraation Chapter 3
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Understanding Forklifts - TECH EHS Solution
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
The Five Best AI Cover Tools in 2025.docx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Online Work Permit System for Fast Permit Processing
JAVA ppt tutorial basics to learn java programming
VVF-Customer-Presentation2025-Ver1.9.pptx
Materi_Pemrograman_Komputer-Looping.pptx
How to Choose the Right IT Partner for Your Business in Malaysia
Softaken Excel to vCard Converter Software.pdf
How to Migrate SBCGlobal Email to Yahoo Easily
System and Network Administration Chapter 2
PTS Company Brochure 2025 (1).pdf.......
Complete React Javascript Course Syllabus.pdf
How Creative Agencies Leverage Project Management Software.pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
medical staffing services at VALiNTRY
System and Network Administraation Chapter 3
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Understanding Forklifts - TECH EHS Solution

Cloud-native Data

  • 1. Cloud-Native Data Extending Cloud-Native Beyond the App Cornelia Davis Sr. Director of Technology Pivotal @cdavisafc
  • 2. @cdavisafc Me? Developer (wasn’t Ops) Web architectures for >10 years Cloud-native for 5 years Cloud Foundry for 5 years More recently Discount code 40% off!: 40cloudnat
  • 3. A Seattle book store deploys code, on average, every second
  • 4. © 2015 Pivotal Software, Inc. All rights reserved. 4 Search µservice . Image µservice . Item Master µservice Reviews µservice Shopping Cart µservice Other dependen t µservice Other dependen t µservice Other dependen t µservice
  • 5. Why? • Scale Applications • Scale Teams • Independent Development Cycles • Experimentation • Resilience
  • 7. Obstacles • Silos: Dev, QA, Operations is typical. No shared common goal • Dissimilar Environments - “It works on my machine” • Risky Deployments: Manual steps, done “off hours” • Changes are treated as an exception →Firefighting • Processes designed around these obstacles
  • 8. Enabling Patterns • Reinventing the Software (Delivery) Value Chain • Cloud-native Software Architectures • The Right Platform • Devops • Change is the Rule (not the Exception)
  • 9. © 2015 Pivotal Software, Inc. All rights reserved. 9 Search µservice . Image µservice . Item Master µservice Reviews µservice Shopping Cart µservice Other dependen t µservice Other dependen t µservice Other dependen t µservice
  • 11. New LIGHTWEIGHT ARCHITECTURES are emerging
 Microservices addressing speed to market and cloud scale Monolithic / Layered Microservices
  • 13. Spring Cloud Services 1.0.0 3 Spring Cloud Services Config Server Service Registry Circuit Breaker Dashboard
  • 14. 14 Operational Visibility: Distributed Tracing • Latency visibility into a request’s end-to-end call graph • Quickly identify a problematic service in a distributed system • Zipkin is a open source distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. • Pivotal is investing in Zipkin to solve distributed tracing use cases – Apache 2.0 License – Created by Twitter in 2012. – In 2015, OpenZipkin became the primary fork Zipkin Tracing
  • 15. • PCF Developers can redirect application traffic to a desired request path in order to use logging, authentication or rate limiting systems that exist outside of PCF • PCF’s Service API will introduce a new field: route_service_url • Developers will create a routing service instance and bind it to a route (not an app) – Service Instance can be created by a Service Broker or can be a user-provided service instance • Router is configured with and forwards requests to the URL contained in the route_service_url field • The route service is expected to forward the request back to the route • Knowing the request has already been forwarded to the route service, the Router forwards to the associated applications Route Services client load balancer CF router CF app route service 1 2 3 4 5 6
  • 16. New LIGHTWEIGHT ARCHITECTURES are emerging
 Microservices addressing speed to market and cloud scale Monolithic / Layered Microservices
  • 20. At the Intersection of Cloud-native App Architecture & Data What is Cloud-native Data? Patterns • Data-services Topology • Interfacing to existing data sources • Caching, but rethought • ETL, but rethought • Micro-databases • Event Sourcing (and CQRS) • Personas - what happens to the DBA, Data Architect, etc.?
  • 21. Data-services topology Goals/Needs: • Resilience • Tenancy • Security - networks? • Day 2 Ops - Backup/Recovery
  • 22. Data-services topology: Resilience PCF Data Center 1 PCF Data Center 2
  • 23. PCF PCF Pipelines Distribute Deployments Active/Active Data Center 1 Data Center 2
  • 24. PCF PCF Pipelines Distribute Deployments “Active/Active” Data Center 1 Data Center 2
  • 25. PCF PCF Pipelines Distribute Deployments “Active/Active” Data Center 1 Data Center 2
  • 26. PCF PCF Pipelines Distribute Deployments “Active/Active” Data Center 1 Data Center 2 WAN Replication
  • 27. Interfacing to Existing Data Sources Goals/Needs: • Cost reduction - offloading MIPS • Agility
  • 28. Pattern: Data API • Microservices do not access data layer directly • Except for the micro services that implement the data API • A surface area to: • Implement access control • (Instead of the likes of firewall rules) • Implement throttling • (Fair sharing of a resource) • Perform logging • Other policies…
  • 29. Anti-pattern: Stateless Data APIs* 29 * We will maintain statelessness at the app level This is the architecture that dominated the SOA era of the early 2000s Culture tip: Data APIs needn't be built by the database team
  • 30. Pattern: Microservice Needs a Cache 30 We’ll have a lot more to discuss with respect to caching … stay tuned
  • 31. Pattern: Data API • Microservices do not access data layer directly • Except for the micro services that implement the data API • A surface area to: • Implement access control • (Instead of the likes of firewall rules) • Implement throttling • (Fair sharing of a resource) • Perform logging • Other policies…
  • 32. Pattern: Data API • Microservices do not access data layer directly • Except for the micro services that implement the data API • A surface area to: • Implement access control • (Instead of the likes of firewall rules) • Implement throttling • (Fair sharing of a resource) • Perform logging • Other policies…
  • 33. Pattern: Versioned Data API • We are already familiar with versioned micro services… V1 V2 Possibly coupled with Pattern: Parallel Deployments
  • 34. Caching Rethought Goals/Needs: • Performance • Interface to existing data sources • Resilience https://content.pivotal.io/white-papers/in-memory-data-caching-for-microservices-architectures
  • 35. Caching Patterns Look Aside • Attempt retrieval from cache • Client retrieves from source • Write into cache ! ? " # Advantages • If cache is unavailable, data source may still be • Cache configuration is very simple Disadvantages • Developer may be responsible for protocol implementation (Spring Cache Abstractions do hide this from the dev)
  • 36. Caching Patterns Read-through • Attempt retrieval from cache • Cache retrieves from source and stores in cache • Return value to client ! ? " # Advantages • Simpler client programming model (though developer may be responsible for code running in cache) • Less processing load on the client Disadvantages • Cache must available • Cache configuration, including code deployment into cache, is more complex
  • 37. Caching Patterns Write-through • Write to cache • Cache writes to source • ack sent to client ! " # Advantages • Simpler client programming model • Consistent Disadvantages • Cache must available • Cache configuration, including code deployment, is more complex • Depends on connectivity to cache and cache to source • Higher latency
  • 38. Caching Patterns Write-behind • Write to cache • ack sent to client • Cache writes to source asynchronously ! " # Advantages • Simpler client programming model • Very low latency Disadvantages • Cache must available • Cache configuration, including code deployment, is more complex • Depends on connectivity to cache and cache to source • Eventual consistency
  • 39. © Copyright 2014 Pivotal. All rights reserved.
  • 40. 40 Why Cloud-Native Apps Need an In-Memory Cache As an integrated service on a world class platform Fast, available microservices Legacy app modernization Performance at scale Auto-scaling High Availability Logging/Metrics Security Zero Downtime Updates …Multi-cloud
  • 41. Pattern: Cache Warming • Loading the cache can be expensive • Spring Cloud Data Flow for modern ETL Sources Destination Spring Boot Apps Filter Microservice Enrich Microservice Score Microservice Spring Boot Apps Spring Boot Apps IoT
  • 42. Microdatabases & Event Sourcing Goals/Needs: • Agility ∴ Autonomy • Resilience
  • 44. 44
  • 45. Pattern: Database per Microservice • Supports Polyglot persistence • Independent availability, backup/restore, access patterns, etc. • In PCF, on-demand, dedicated clusters
  • 49. Independent Databases - Shared Entities • We’ve started to break up the data monolith • BUT our data integration “strategy” is rather brittle and bespoke • How are changes to data in one bounded context reflected in the other? Sales Support ?
  • 54. CQRS is what allows the unified log to be the source of truth 54 My Connections API Posts API New from Network API Unified Log
  • 55. But then, what about people?
  • 56. Info Sec Srv Build Cap PlanNetwork OpsMid. Eng. SW Arch SW Dev Client SW Dev Svc Govern CUSTOMER FACING APP TEAM Ops Cap Plan DCTM Eng DCTM Cap Plan Ops SW Arch SW Dev Client SW Dev CUSTOMER FACING APP TEAM Ops Cap Plan ENTERPRISE ARCH Ent Arch Proj Mgmt Biz An Prod MgmtData Arch DBA Biz An Prod MgmtData Arch SW Arch SW Dev Client SW Dev LEGACY SERVICE TEAM Ops Cap Plan Biz An Prod MgmtData Arch CSO INFRA MID/ DEV BIZ ENT APPS DATA Change Control PLATFORM TEAM Ent Arch Prod Mgmt
  • 58. Legacy Data Access Service APIs Data APIs Shared DB Database Per Service Data Integration Client-side “Joins” Event Sourcing CQRSData Replication Parallel Deployments Caching Cache Provisioning and Management Look Aside Read-through Write-through/ behind Warming
  • 59. Transforming The Way the World Builds Software 59 And Software Needs Data
  • 60. Thank you! Cornelia Davis Sr. Director of Technology Pivotal @cdavisafc Discount code 40% off!: 40cloudnat