Download - SpringOne Europe 2009: Time to Live
-
8/14/2019 SpringOne Europe 2009: Time to Live
1/47
Time-to-liveAdrian ColyerCTO
SpringSource
-
8/14/2019 SpringOne Europe 2009: Time to Live
2/47
Slide 2SpringSource Confidential. Do not distribute without express permission
Time-to-live
Time to (going) livethe time from initial project / feature /service conception to live software
-
8/14/2019 SpringOne Europe 2009: Time to Live
3/47
Slide 3SpringSource Confidential. Do not distribute without express permission
Time-to-live
Time to valuethe time from initial project / feature /service conception to delivering valueto the business
-
8/14/2019 SpringOne Europe 2009: Time to Live
4/47
Slide 4SpringSource Confidential. Do not distribute without express permission
The Weakest Link
Tour of Qatar 2009, Photo by Graham Watson
-
8/14/2019 SpringOne Europe 2009: Time to Live
5/47
Slide 5SpringSource Confidential. Do not distribute without express permission
Time to live
Live!
Typical focus of our community
-
8/14/2019 SpringOne Europe 2009: Time to Live
6/47
Slide 6SpringSource Confidential. Do not distribute without express permission
Lean software development
Mike Ogorek, http://www.mikeogorek.com/
-
8/14/2019 SpringOne Europe 2009: Time to Live
7/47
-
8/14/2019 SpringOne Europe 2009: Time to Live
8/47Slide 8SpringSource Confidential. Do not distribute without express permission
Lean software development principles
Eliminate waste Create knowledge Build quality in Defer commitment Deliver fast Respect people Improve the system
www.poppendieck.com
-
8/14/2019 SpringOne Europe 2009: Time to Live
9/47Slide 9SpringSource Confidential. Do not distribute without express permission
Time to live
Live!
biggest remaining opportunityto reduce fat
-
8/14/2019 SpringOne Europe 2009: Time to Live
10/47Slide 10SpringSource Confidential. Do not distribute without express permission
Time to live
Live!
Prepare productionenv.
Prepare staging env.
-
8/14/2019 SpringOne Europe 2009: Time to Live
11/47Slide 11SpringSource Confidential. Do not distribute without express permission
Time to live
Live!
Developer
Ops teamTest team
-
8/14/2019 SpringOne Europe 2009: Time to Live
12/47Slide 12SpringSource Confidential. Do not distribute without express permission
Eliminate waste
3 biggest sources of waste Extra features
Develop just those 20% of the features that
give 80% of the value Crossing boundaries
Organizational boundaries typically increasecost by over 25%
Churn Avoid specifying too early, testing too late
-
8/14/2019 SpringOne Europe 2009: Time to Live
13/47
Slide 13SpringSource Confidential. Do not distribute without express permission
The simple case...
How lean can the simplecase be?
-
8/14/2019 SpringOne Europe 2009: Time to Live
14/47
Slide 14SpringSource Confidential. Do not distribute without express permission
Status check...
-
8/14/2019 SpringOne Europe 2009: Time to Live
15/47
Slide 15SpringSource Confidential. Do not distribute without express permission
Platform-as-a-Service
Google's App Engine we provide the web container, you provide the app supports Java and Groovy
Platform services Datastore memcache URLFetch with Secure Data Connector Mail Google accounts based authentication Simple cron-based scheduling
-
8/14/2019 SpringOne Europe 2009: Time to Live
16/47
DemoUsing STS and Groovy to build and
deploy an application to GAE
-
8/14/2019 SpringOne Europe 2009: Time to Live
17/47
Slide 17SpringSource Confidential. Do not distribute without express permission
Google App Engine
-
8/14/2019 SpringOne Europe 2009: Time to Live
18/47
DemoUsing Grails to build and
deploy an application to GAE
-
8/14/2019 SpringOne Europe 2009: Time to Live
19/47
Slide 19SpringSource Confidential. Do not distribute without express permission
Data Center as a Service
Amazon EC2 you provide the machine images, we provide
the data center more to do than PaaS model but more control can exploit pre-built machine images
Data center services S3, EBS, SQS, DevPay, CloudFront,
SimpleDB, ...
-
8/14/2019 SpringOne Europe 2009: Time to Live
20/47
Demo
Using STS to launch a cluster of dm Server instances in EC2 and deploy an
app.
-
8/14/2019 SpringOne Europe 2009: Time to Live
21/47
-
8/14/2019 SpringOne Europe 2009: Time to Live
22/47
Slide 22SpringSource Confidential. Do not distribute without express permission
STS and EC2
-
8/14/2019 SpringOne Europe 2009: Time to Live
23/47
Slide 23SpringSource Confidential. Do not distribute without express permission
I want to use my own data centre!
Use-your-own-data-center-as-a-service Forrester: Ultra-modular computing Bring the same benefits of lean deployment
to applications that run on-premise VMware
-
8/14/2019 SpringOne Europe 2009: Time to Live
24/47
Slide 24SpringSource Confidential. Do not distribute without express permission
VMware vSphere and vCloud
-
8/14/2019 SpringOne Europe 2009: Time to Live
25/47
Slide 25SpringSource Confidential. Do not distribute without express permission
VMware Lab Manager
-
8/14/2019 SpringOne Europe 2009: Time to Live
26/47
DemoVirtual QA Environment with tc Server ,
AMS , and Lab Manager
-
8/14/2019 SpringOne Europe 2009: Time to Live
27/47
Slide 27SpringSource Confidential. Do not distribute without express permission
VMware Lab Manager
-
8/14/2019 SpringOne Europe 2009: Time to Live
28/47
Slide 28SpringSource Confidential. Do not distribute without express permission
VMware Lab Manager
-
8/14/2019 SpringOne Europe 2009: Time to Live
29/47
Slide 29SpringSource Confidential. Do not distribute without express permission
Lean software development principles
Eliminate waste Create knowledge Build quality in Defer commitment Deliver fast Respect people Improve the system
www.poppendieck.com
-
8/14/2019 SpringOne Europe 2009: Time to Live
30/47
Slide 30SpringSource Confidential. Do not distribute without express permission
Create knowledge
Planning is useful, learning is essential Standards exist to be challenged and
improved Embody the current best-known practice in
standards, encourage challenging of them Predictable performance is driven by
feedback
Do not guess about the future and call it aplan. Develop the capacity to react as thefuture unfolds
Use the scientific method
-
8/14/2019 SpringOne Europe 2009: Time to Live
31/47
Slide 31SpringSource Confidential. Do not distribute without express permission
Deployment blueprints
Firing up a single image, or set of identicalimages is useful in the simple case
SpringSource value: simple and powerful...
Most production use cases require a set of co-operating machines, playing differing
roles
-
8/14/2019 SpringOne Europe 2009: Time to Live
32/47
Slide 32SpringSource Confidential. Do not distribute without express permission
Spring recap!
Application blueprint Application context
ClassPath... FileSystem... Web...
Dependency injection Configuration Abstraction from
environment ...
-
8/14/2019 SpringOne Europe 2009: Time to Live
33/47
Slide 33SpringSource Confidential. Do not distribute without express permission
Deployment blueprint
httpdA
AMSdm Svrdm Svr
dm Svr
dm Rep
MySQL
MySQL
Reference injection
Configurationinjection
Cross-cuttingconcerns security (anti-) affinity
A
AA
A
-
8/14/2019 SpringOne Europe 2009: Time to Live
34/47
-
8/14/2019 SpringOne Europe 2009: Time to Live
35/47
Slide 35SpringSource Confidential. Do not distribute without express permission
Long-needle Injection
dm Svr
A
user data / environment document
xMI
-
8/14/2019 SpringOne Europe 2009: Time to Live
36/47
DemoUsing Cloud Foundry to create a clusterspecification and deploy a Spring app
-
8/14/2019 SpringOne Europe 2009: Time to Live
37/47
Slide 37SpringSource Confidential. Do not distribute without express permission
Cloud Foundry
-
8/14/2019 SpringOne Europe 2009: Time to Live
38/47
DemoUsing Grails to deploy an application using
CloudTools
-
8/14/2019 SpringOne Europe 2009: Time to Live
39/47
Slide 39SpringSource Confidential. Do not distribute without express permission
Fluent API for creating blueprint
-
8/14/2019 SpringOne Europe 2009: Time to Live
40/47
Slide 40SpringSource Confidential. Do not distribute without express permission
Create knowledge
Planning is useful, learning is essential Standards exist to be challenged and
improved Embody the current best-known practice in
standards, encourage challenging of them Predictable performance is driven by
feedback
Do not guess about the future and call it aplan. Develop the capacity to react as thefuture unfolds
Use the scientific method
-
8/14/2019 SpringOne Europe 2009: Time to Live
41/47
-
8/14/2019 SpringOne Europe 2009: Time to Live
42/47
-
8/14/2019 SpringOne Europe 2009: Time to Live
43/47
Slide 43SpringSource Confidential. Do not distribute without express permission
SLA
Third key ingredient
Application Blueprint
Deployment Blueprint
SLA
-
8/14/2019 SpringOne Europe 2009: Time to Live
44/47
-
8/14/2019 SpringOne Europe 2009: Time to Live
45/47
Slide 45SpringSource Confidential. Do not distribute without express permission
Lean software principles
Defer commitment Abolish the idea that it is a good idea to start development with a
complete specification Break dependencies
Maintain options Schedule irreversible decisions at the last responsible moment
Deliver fast Rapid Delivery, High Quality, and Low Cost are Fully Compatible
Companies that compete on the basis of speed have a big cost advantage, deliver superior quality, and are more attuned totheir customers' needs.
-
8/14/2019 SpringOne Europe 2009: Time to Live
46/47
Slide 46SpringSource Confidential. Do not distribute without express permission
Lean software principles
Improve the system Brilliant products emerge from a unique combination of
opportunity and technology. Focus on the Entire Value Stream
from concept to cash from customer request to deployed software
Deliver a Complete Product Develop a complete product, not just software. Complete
products are built by complete teams. Measure UP
-
8/14/2019 SpringOne Europe 2009: Time to Live
47/47