Apps + Data + Cloud: What Does It All Mean?

Preview:

DESCRIPTION

Speaker: Matt Stine Developing for the Cloud Track Big Data. Fast Data. NoSQL. NewSQL. We've experienced something of a renaissance in the storage and processing of data in the last decade of computing after years of "Relational Winter." We're now entering into the next phase of this evolution: the convergence of data and the cloud. Much of this revolution has arrived on the coattails of data fabrics designed for horizontal scale-out on commodity hardware. Cloud platforms, especially PaaS platforms like Cloud Foundry, allow us to provision the requisite virtual hardware on-demand, removing the last mile of overhead in assembling scale-out data platforms. Coupling PaaS with microservice architectures and polyglot persistence allows developers to design systems utilizing stores uniquely designed for specific write, process, and query patterns. Leveraging the Lambda Architecture combination of real-time analytics platforms coupled with scale-out batch processing systems like Hadoop give us the ability to always ask questions of all of our data. In this talk will look at various Spring projects that allow us, coupled with Cloud Foundry, to uniquely position ourselves to take advantage of this convergence: Spring Boot: the opinionated framework for microservice development Spring Data: the access layer for SQL, NoSQL, NewSQL, and Hadoop Spring Reactor: the foundation for reactive fast data applications on the JVM Spring XD: the platform for data ingest, real-time analytics, batch processing, and data export We'll tie all of these projects together in a suite of applications running on Cloud Foundry and Hadoop, closing the Apps/Data/Cloud loop

Citation preview

© 2014 SpringOne 2GX. All rights reserved. Do not distribute without permission.

Apps + Data + Cloud: What Does It All Mean?Matt Stine (@mstine)

Platform Engineer, Pivotal mstine@pivotal.io

This could be “Microservices Part Two”

2

WHY?3

This won’t work…

4

Instead!

5

Bounded Contexts!

6http://martinfowler.com/bliki/images/boundedContext/sketch.png

Bounded Contexts

7REST X

You shall not pass…

Polyglot Persistence!

8REST X

You shall not pass…

But I have a question!

9

?

?

? ?

?

?

Lambda Architecture

10

Join via Events!

11

12

13

It’s gonna take a platform…

14

http://run.pivotal.io

15

Gimme some data services…

16

So let’s build something…

17

18

Redbox Conceptual Workflow

19

SpringBox Microservices

20

Catalog Service

Inventory Service

Kiosk

Kiosk

Kiosk

Kiosk

Reservation Service

…and if you have a question:

21

Kiosk

Kiosk

Kiosk

Kiosk

KEY PLAYERS

22

Spring Boot — Foundation of All Microservices Development

Spring Data + Spring Data REST — Facilitate Polyglot Persistence

Spring AMQP + Spring Integration — Facilitate Event Handling

Spring XD — Facilitate Lambda Architecture

23

24

http://grouplens.org/datasets/movielens/

25

© 2014 SpringOne 2GX. All rights reserved. Do not distribute without permission.

Let’s Look at Some Code!

https://github.com/cf-platform-eng/springbox-datacloud

27

Unless otherwise indicated, these slides are © 2013-2014 Pivotal Software, Inc. and licensed under a Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/ 28

Thank You!

Matt Stine (@mstine) mstine@pivotal.io

http://mattstine.com

@springcentral | spring.io/video