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.

Cloud Foundry Technical Overview at IBM Interconnect 2016

694 views

Published on

Cloud Foundry Technical Overview at IBM Interconnect 2016

Published in: Software
  • Login to see the comments

Cloud Foundry Technical Overview at IBM Interconnect 2016

  1. 1. Stormy Peters @storming
  2. 2. Show of hands
  3. 3. Cloud Foundry is an open source platform for application life cycle automation. Develop with your favorite cloud native application framework, and then just cf push.
  4. 4. Why Cloud Foundry?
  5. 5. Accessible
  6. 6. Developing countries
  7. 7. It’s happening
  8. 8. Year of the Cloud
  9. 9. Year of the Linux desktop
  10. 10. Year of the Linux desktop 2001
  11. 11. Year of the Linux desktop 2007
  12. 12. Year of the Linux desktop 2010
  13. 13. Photo by Roo Reynolds
  14. 14. Waves & Waves Photo by Kevin N. Murphy
  15. 15. Cusp of a brand new thing, big like electricty, big like the internet, big like the assembly line
  16. 16. Year of the Cloud
  17. 17. T E A M
  18. 18. tough for normal humans under the covers, it’s in the code and in the infrastructre
  19. 19. scalability
  20. 20. reliability
  21. 21. microservices
  22. 22. Putting these all together
  23. 23. gorouter CloudController Auth Loggregator Staging Buildpacks BOSH Service Broker Diego Linux Windows Docker etcd Core Services
  24. 24. Demo • Sign up for trial Cloud Foundry account • Check out a demo app from github • Download Cloud Foundry CLI • And then …
  25. 25. Demo time!
  26. 26. Demo time!
  27. 27. • Public, private, and hybrid deployment (Multi cloud) • Portable and interoperable, enabling users and developers to move their applications wherever they need to go. • Massive ecosystem of applications and developers based on an efficient marketplace. Cloud Foundry Foundation Vision: Cloud native platform supporting applications
  28. 28. Comic Relief
  29. 29. Since 2000, 52% of the Fortune 500 are no longer on the list
  30. 30. Continuous Innovation Photo by See1,Do1,Teach1
  31. 31. Right-sizing digital innovation Focused on cycle time optimization Smaller teams and faster tools
  32. 32. Continuous Integration Continuous Deployment Continuous Innovation
  33. 33. Continuous Integration Continuous Deployment Continuous Innovation
  34. 34. waterscrumfall
  35. 35. waterscrumfall
  36. 36. Continuous Integration Continuous Deployment Continuous Innovation
  37. 37. “Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. Melvyn Conway, 1967
  38. 38. Two-pizza teams Silo-breaking Photo by wEnDy
  39. 39. Microservices Containers 12-Factor Applications
  40. 40. Microservices are great, but they require: rapid provisioning basic monitoring rapid application deployment devops culture Per Martin Fowler
  41. 41. • Use declarative formats for setup automation, to minimize time and cost for new developers joining the project; • Have a clean contract with the underlying OS, offering maximum portability between execution environments; • Are suitable for deployment on modern cloud platforms, obviating the need for servers and systems administration; • Minimize divergence between development and production, enabling continuous deployment for maximum agility; • And can scale up without significant changes to tooling, architecture, or development practices.
  42. 42. But even that’s not enough…
  43. 43. • Role based access to resources: the right people should be able to do things and the wrong people shouldn’t • Run specified bits on demand: take code, put it together with all the rest of the things it needs and and get it running • Coordinate cross service configurations: in a service oriented world, services need to be configured to connect with each other • Route public requests to running bits: the next big thing needs access to the internet • Read and write persistent data: data has to live somewhere • Add and remove resources: scaling is a great problem to have, but still • Isolate resources and failures without isolation and decoupling, that is one big distributed single point of failure • Measure performance/health: can’t manage what you don’t measure • Detect and determine failure: sometimes, things get real… but how do you know • Recover failures: someone is going to have to clean this mess • Work tomorrow: when everything you’ve thought to be true has been shown not to
  44. 44. Unit of Value IaaS == Virtual Machine • Opaque to the system • Orchestration is post-hoc • System changes are imperative (“launch” stuff) App Platform == Application • Containers are transparent • Lifecycle is fully managed • System changes are declarative (manifest.yml)
  45. 45. Platforms make promises Constraints are the contract that allows a platform to keep promises
  46. 46. Here is my source code Run it on the cloud for me I do not care how Cloud Foundry Haiku Onsi Fakhouri
  47. 47. .war .jar dependencies libraries service manifest App App App LB DB Multi-server run time environment(s) .tar.gz Turning this: Into this:
  48. 48. BUILD APPLICATION PUSH FIRST RELEASE MAINTAIN APPLICATION UPDATE APPLICATIONS RETIRE APPLICATIONS • Auto-detect frameworks • Link to App Platform • Self-service deploy • Dynamic routing • A/B versioning • Live upgrades • Self-service removal • Elastic scale • Integrated HA • Log aggregation • Policy and Auth
  49. 49. target <mycf> push <myapp> create-service <myservice> bind <myapp> <myservice> start <myapp> scale <myapp> -i 100 … cf App DB LB App App
  50. 50. Where’s the container in this story?
  51. 51. Prescriptive CHRONOS scheduler.next container.next Do it yourself
  52. 52. harmonize Kubernetes and Mesos reimagine schedulers as plugins Photo by izumiflowers
  53. 53. Prescriptive CHRONOS scheduler.next container.next Do it yourself
  54. 54. Prescriptive CHRONOS scheduler.next container.next Do it yourself runC
  55. 55. Prescriptive CHRONOS scheduler.next gorouter CloudController Auth Loggregator Staging Buildpacks BOSH Service Broker Diego Garden etcd Core Services container.next Do it yourself runC
  56. 56. Prescriptive Do it yourself CHRONOS scheduler.next gorouter CloudController Auth Loggregator Staging Buildpacks BOSH Service Broker Diego etcd Core Services container.nextrunC
  57. 57. = + + Contents Processes ? ? Isolation Rules PID User Network cgroups cflinuxfs2
  58. 58. Containers Are Awesome, but Not Enough
  59. 59. We’re going to need a platform
  60. 60. Is BASH a platform? Is config mgmt with $YOURFAVTOOL?
  61. 61. Anatomy of a cf push (abridged)
  62. 62. Let’s talk about Buildpacks / Staging • Ruby code that detects language, frameworks, whatnot… • Compiles the code into executable binaries (*) /bin/detect < Am I supposed to run? /bin/compile < Build the thing /bin/release < Pass along potential metadata cflinuxfs2
  63. 63. That was all about 12 factor apps… What about services?
  64. 64. .war .jar dependencies libraries service manifest App App App LB DB Multi-server run time environment(s) .tar.gz Turning this: Into this:
  65. 65. The Cloud Native Advantage: Simple Patterns Highly Automated Scaled with Ease
  66. 66. A platform is a promise that the products will function in ways beyond what’s “written on the box”; that the product is extensible and has value provided by an ecosystem bigger than the original vendor. Horace Dediu, 2011 http://www.asymco.com/2011/02/25/the-platform-as-a-promise/
  67. 67. T E A M
  68. 68. We’re rebalancing the system towards user-driven roadmaps and control of the upstream project. We’re building support for specific industry clusters in Financial Services, Industrial IoT, and Telecommunications.
  69. 69. SIG photo
  70. 70. Dojos
  71. 71. We’re focusing on certification to guarantee portability of apps across clouds. Make it lasting and durable. Build the ecosystem of opportunity.
  72. 72. ▪ Absolutely critical for CF users and ecosystem ▪ CF “Core”: • Certified Product • Certified Service • Hybrid Certification ▪ CF Extensions • Target Early 2016 Cloud Foundry Certification Program CF Core CF Core Cloud Foundry Core • Certified Products and “As a Service” Implementations • Must Use Specific CF-Release CFF Maintained Add-ons • Projects owned by the foundation • Extend or work with CF Core • Must meet qualifications for relevant CF Extension certification Certified CF Extensions • Projects and products external to the foundation • Are certified by the foundation as interoperable with CF Core Extended Ecosystem • Projects and products external to the foundation • Not certified BOSH, while not in CF Core, remains critical to our ecosystem development efforts and represents several opportunities for certification programs.
  73. 73. Try it out
  74. 74. Download it, play with it, contribute
  75. 75. To Try Cloud Foundry, Download CF Lattice Lattice is a cloud-native development experience on your laptop. It’s the essential components of Cloud Foundry: • App scheduler • Router • Logging mechanisms To create, deploy and manage your apps in containers. Download it now to try cloud-native development! https://github.com/cloudfoundry-incubator/lattice
  76. 76. Mailing lists
  77. 77. Slack.cloudfoundry.org
  78. 78. Learn more at cloudfoundry.org Thanks - @storming

×