apps + data + cloud: what does it all mean?

28
© 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 [email protected]

Upload: spring-io

Post on 14-Jun-2015

683 views

Category:

Software


3 download

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

TRANSCRIPT

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

© 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 [email protected]

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

This could be “Microservices Part Two”

2

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

WHY?3

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

This won’t work…

4

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

Instead!

5

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

Bounded Contexts!

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

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

Bounded Contexts

7REST X

You shall not pass…

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

Polyglot Persistence!

8REST X

You shall not pass…

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

But I have a question!

9

?

?

? ?

?

?

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

Lambda Architecture

10

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

Join via Events!

11

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

12

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

13

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

It’s gonna take a platform…

14

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

http://run.pivotal.io

15

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

Gimme some data services…

16

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

So let’s build something…

17

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

18

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

Redbox Conceptual Workflow

19

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

SpringBox Microservices

20

Catalog Service

Inventory Service

Kiosk

Kiosk

Kiosk

Kiosk

Reservation Service

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

…and if you have a question:

21

Kiosk

Kiosk

Kiosk

Kiosk

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

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

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

23

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

24

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

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

25

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

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

Let’s Look at Some Code!

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

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

27

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

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) [email protected]

http://mattstine.com

@springcentral | spring.io/video