Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Platforms as Contracts
a model for evaluating tough technical choices
by: John Feminella
at: SpringOne Platform
on: August...
http://jxf.me · @jxxf
JOHN FEMINELLA
http://jxf.me
@jxxf
Thinking about platforms
http://jxf.me · @jxxf
http://jxf.me · @jxxf
☺
platform connects suppliers and
consumers
☺🌍
☺
☺
☺
http://jxf.me · @jxxf
application platform connects operators to
developers
How do you decide to use a platform?
http://jxf.me · @jxxf
How do you evaluate a platform?
http://jxf.me · @jxxf
A question
http://jxf.me · @jxxf
http://jxf.me · @jxxf
🌍
web server
💻
web client
http://jxf.me · @jxxf
🌍
web server
💻
web client
http://jxf.me · @jxxf
🌍
ask for some content
💻
http://jxf.me · @jxxf
🌍
agree to talk the same language
💻
HTTP/1.1
HTTP/1.1
http://jxf.me · @jxxf
GET / HTTP/1.1
Host: example.com
HTTP/1.1 200 OK
Date: Tue, 2 Aug 2016 12:34:56 GMT
Content-Type: te...
http://jxf.me · @jxxf
Why did this work?
http://jxf.me · @jxxf
http://jxf.me · @jxxf
🌍
protocol correctly implemented
💻
HTTP/1.1
HTTP/1.1
http://jxf.me · @jxxf
🌍
network infrastructure correctly configured
💻
http://jxf.me · @jxxf
☺
ultimately about people, not technology
☺
http://jxf.me · @jxxf
choosing an application platform is hard
http://jxf.me · @jxxf
ΔV: value chain
ΔV: cost-benefit
ΔT: delivery speed
strategic alignment
regret minimization
choose y...
http://jxf.me · @jxxf
☺
but is it helping people?
☺🌍
☺
☺
☺
A different evaluation strategy
http://jxf.me · @jxxf
http://jxf.me · @jxxf
🌍
an agreement between parties
💻
HTTP/1.1
HTTP/1.1
http://jxf.me · @jxxf
🌍
a contract
💻
HTTP/1.1
HTTP/1.1
http://jxf.me · @jxxf
what makes a contract?
http://jxf.me · @jxxf
three specific ingredients
http://jxf.me · @jxxf
has consideration
is conscionable
entered into knowingly
http://jxf.me · @jxxf
are you getting that from your platform?
file an ops ticket to edit
environment variables
must inclu...
http://jxf.me · @jxxf
and what do you get in exchange?
maintains health of apps
consistent deployments
regardless of envir...
getting more
giving more
http://jxf.me · @jxxf
getting more
giving more
http://jxf.me · @jxxf
impossible big
small unconscionable
getting more
giving more
http://jxf.me · @jxxf
platforms
infrastructure augmented
infrastructure
getting more
giving more
http://jxf.me · @jxxf
Mesos
Kubernetes PaaSTA
Cloud Foundry
Tibco Silver Fabric
AWS Elastic Beans...
people > technology
http://jxf.me · @jxxf
Takeaways
evaluate on what you’re getting vs. what you’re giving
encourages consideration of the people and effort involve...
Thanks!
@jxxf
http://jxf.me · @jxxf
✓
Thanks!
http://pivotal.io · @jxxf
★
Upcoming SlideShare
Loading in …5
×

Platforms as Contracts

268 views

Published on

SpringOne Platform 2016
Speaker: John Feminella; Advisory Engineer, Pivotal.

Platforms like Pivotal Cloud Foundry (PCF) can be viewed as contracts between applications and the people who build, operate, and deploy them. At the root of these contracts is a core premise: if your application checks off a few boxes, the platform can provide enormous amounts of power and enable capabilities that wouldn't otherwise be possible.

In this talk, I'll argue that every platform makes a contract to this effect (sometimes implicitly, especially in the case of proprietary in-house platforms). We'll examine the ways in which these contracts manifest themselves in different platforms, the kinds of contracts that exist in PCF, and how to assess whether a given platform makes a good tradeoff.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Platforms as Contracts

  1. 1. Platforms as Contracts a model for evaluating tough technical choices by: John Feminella at: SpringOne Platform on: August 2, 2016
  2. 2. http://jxf.me · @jxxf JOHN FEMINELLA http://jxf.me @jxxf
  3. 3. Thinking about platforms http://jxf.me · @jxxf
  4. 4. http://jxf.me · @jxxf ☺ platform connects suppliers and consumers ☺🌍 ☺ ☺ ☺
  5. 5. http://jxf.me · @jxxf application platform connects operators to developers
  6. 6. How do you decide to use a platform? http://jxf.me · @jxxf
  7. 7. How do you evaluate a platform? http://jxf.me · @jxxf
  8. 8. A question http://jxf.me · @jxxf
  9. 9. http://jxf.me · @jxxf 🌍 web server 💻 web client
  10. 10. http://jxf.me · @jxxf 🌍 web server 💻 web client
  11. 11. http://jxf.me · @jxxf 🌍 ask for some content 💻
  12. 12. http://jxf.me · @jxxf 🌍 agree to talk the same language 💻 HTTP/1.1 HTTP/1.1
  13. 13. http://jxf.me · @jxxf GET / HTTP/1.1 Host: example.com HTTP/1.1 200 OK Date: Tue, 2 Aug 2016 12:34:56 GMT Content-Type: text/plain Content-Length: 42 Hello and welcome to SpringOne Platform! 💻 🌍
  14. 14. http://jxf.me · @jxxf
  15. 15. Why did this work? http://jxf.me · @jxxf
  16. 16. http://jxf.me · @jxxf 🌍 protocol correctly implemented 💻 HTTP/1.1 HTTP/1.1
  17. 17. http://jxf.me · @jxxf 🌍 network infrastructure correctly configured 💻
  18. 18. http://jxf.me · @jxxf ☺ ultimately about people, not technology ☺
  19. 19. http://jxf.me · @jxxf choosing an application platform is hard
  20. 20. http://jxf.me · @jxxf ΔV: value chain ΔV: cost-benefit ΔT: delivery speed strategic alignment regret minimization choose your poison!
  21. 21. http://jxf.me · @jxxf ☺ but is it helping people? ☺🌍 ☺ ☺ ☺
  22. 22. A different evaluation strategy http://jxf.me · @jxxf
  23. 23. http://jxf.me · @jxxf 🌍 an agreement between parties 💻 HTTP/1.1 HTTP/1.1
  24. 24. http://jxf.me · @jxxf 🌍 a contract 💻 HTTP/1.1 HTTP/1.1
  25. 25. http://jxf.me · @jxxf what makes a contract?
  26. 26. http://jxf.me · @jxxf three specific ingredients
  27. 27. http://jxf.me · @jxxf has consideration is conscionable entered into knowingly
  28. 28. http://jxf.me · @jxxf are you getting that from your platform? file an ops ticket to edit environment variables must include a deployment.xml stateless applications
  29. 29. http://jxf.me · @jxxf and what do you get in exchange? maintains health of apps consistent deployments regardless of environment robust to instance and AZ failures
  30. 30. getting more giving more http://jxf.me · @jxxf
  31. 31. getting more giving more http://jxf.me · @jxxf impossible big small unconscionable
  32. 32. getting more giving more http://jxf.me · @jxxf platforms infrastructure augmented infrastructure
  33. 33. getting more giving more http://jxf.me · @jxxf Mesos Kubernetes PaaSTA Cloud Foundry Tibco Silver Fabric AWS Elastic Beanstalk bare metal Docker Swarm
  34. 34. people > technology http://jxf.me · @jxxf
  35. 35. Takeaways evaluate on what you’re getting vs. what you’re giving encourages consideration of the people and effort involved no platform technology is a panacea it’s never about technology; it’s always about people http://jxf.me · @jxxf ✓
  36. 36. Thanks! @jxxf http://jxf.me · @jxxf ✓
  37. 37. Thanks! http://pivotal.io · @jxxf ★

×