Slide 1

Slide 1 text

James Thomas, IBM Building Cloud Native Applications

Slide 2

Slide 2 text

Software is eating the world http://blog.softwareinsider.org/2014/02/18/research-summary-sneak-peaks-from-constellations-futurist-framework-and-2014-outlook-on-digital-disruption/

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

What do they have in common? “Speed of innovation”

Slide 5

Slide 5 text

Cloud Computing

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

How can we do the same?

Slide 8

Slide 8 text

“The Cloud” is not just a bigger server…

Slide 9

Slide 9 text

Creative Commons Licensed (BY-NC-ND 2.0) Photo by Rubén Marcos https://flic.kr/p/Gm9ot

Slide 10

Slide 10 text

Creative Commons Licensed (BY-NC-ND 2.0) Photo by Rubén Marcos https://flic.kr/p/Gm9ot Creative Commons Licensed (BY-SA 2.0) Photo by Matt Kieffer https://flic.kr/p/5WwhEQ

Slide 11

Slide 11 text

Creative Commons Licensed (BY-NC-ND 2.0) Photo by Ars Electronica https://flic.kr/p/ac3oaX

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

“The Cloud” is not just a bigger server… … requires fundamental re-architecture of applications

Slide 14

Slide 14 text

1. Twelve-Factor App 2. Microservices 3. API-Based Collaboration 4. Self-service Agile Infrastructure 5. Anti-Fragility

Slide 15

Slide 15 text

The Twelve Factors - http://12factor.net/ I. Codebase One codebase tracked in revision control, many deploys
 II. Dependencies Explicitly declare and isolate dependencies
 III. Config Store config in the environment IV. Backing Services Treat backing services as attached resources
 V. Build, release, run Strictly separate build and run stages
 VI. Processes Execute the app as one or more stateless processes VII. Port binding Export services via port binding VIII. Concurrency Scale out via the process model IX. Disposability Maximize robustness with fast startup and graceful shutdown X. Dev/prod parity Keep development, staging, and production as similar as possible XI. Logs Treat logs as event streams XII. Admin processes Run admin/management tasks as one-off processes

Slide 16

Slide 16 text

…with API-based collaboration


Slide 17

Slide 17 text

Self-Service Agile Infrastructure

Slide 18

Slide 18 text

No content

Slide 19

Slide 19 text

Sounds like an enormous amount of work?

Slide 20

Slide 20 text

There’s a shortcut…

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

22 ~ Minutes Platform as a Service Customer Managed Service Provider Managed Benefits Setup environments and deploy apps very quickly. Infrastructure and platform managed by SP. Time Commitment Minutes to setup and deploy. Focus on your apps and their data. ~ Weeks Code Data Runtime Middleware OS Virtualization Servers Storage Networking Core IT ~ Days Code Data Runtime Middleware OS Virtualization Servers Storage Networking Code Data Runtime Middleware OS Virtualization Servers Storage Networking Time to initial deployment Infrastructure as a Service Core IT


Slide 23

Slide 23 text

or?

Slide 24

Slide 24 text

…open-source

Slide 25

Slide 25 text

…incredible eco-system

Slide 26

Slide 26 text

The Twelve Factors - http://12factor.net/ I. Codebase One codebase tracked in revision control, many deploys
 II. Dependencies Explicitly declare and isolate dependencies
 III. Config Store config in the environment IV. Backing Services Treat backing services as attached resources
 V. Build, release, run Strictly separate build and run stages
 VI. Processes Execute the app as one or more stateless processes VII. Port binding Export services via port binding VIII. Concurrency Scale out via the process model IX. Disposability Maximize robustness with fast startup and graceful shutdown X. Dev/prod parity Keep development, staging, and production as similar as possible XI. Logs Treat logs as event streams XII. Admin processes Run admin/management tasks as one-off processes …designed for “cloud native apps”

Slide 27

Slide 27 text

How do we start?

Slide 28

Slide 28 text

PRAY TO THE DEMO GODS Creative Commons Licensed (BY-NC-ND 2.0) Photo by Adi ALGhanem https://flic.kr/p/7Ret5Y

Slide 29

Slide 29 text

Tomcat

Slide 30

Slide 30 text

Apache Tomcat

Slide 31

Slide 31 text

Install CF CLI tools

Slide 32

Slide 32 text

Define your manifest

Slide 33

Slide 33 text

Choose a buildpack

Slide 34

Slide 34 text

Supported build packs

Slide 35

Slide 35 text

No content

Slide 36

Slide 36 text

Bind services

Slide 37

Slide 37 text

VCAP_SERVICES

Slide 38

Slide 38 text

Apache Tomcat

Slide 39

Slide 39 text

No content

Slide 40

Slide 40 text

1. Twelve-Factor App 2. Microservices 3. API-Based Collaboration 4. Self-service Agile Infrastructure 5. Anti-Fragility

Slide 41

Slide 41 text

No content