SlideShare a Scribd company logo
1 of 113
Cloud Foundry
Under the skin of VMware’s Open Cloud Platform
First, two apologies...


@russmiles | russ.miles@opencredo.com
OSJ Ed. 1




@russmiles | russ.miles@opencredo.com
PAAS and Lock-in




@russmiles | russ.miles@opencredo.com
Times have changed
@russmiles | russ.miles@opencredo.com
A Short History


@russmiles | russ.miles@opencredo.com
CloudFoundry 1.0




@russmiles | russ.miles@opencredo.com
Running on AWS




@russmiles | russ.miles@opencredo.com
Java, WAR-Based Apps




@russmiles | russ.miles@opencredo.com
Common, Cost-
           Sensitive Topology




@russmiles | russ.miles@opencredo.com
Some Downsides...


@russmiles | russ.miles@opencredo.com
Management &
    Monitoring was minimal




@russmiles | russ.miles@opencredo.com
Expensive Accidents
             Possible...




@russmiles | russ.miles@opencredo.com
But it worked!
@russmiles | russ.miles@opencredo.com
Or did it...


@russmiles | russ.miles@opencredo.com
JVM-only!?




@russmiles | russ.miles@opencredo.com
MySQL Only!?




@russmiles | russ.miles@opencredo.com
AWS Only?!




@russmiles | russ.miles@opencredo.com
Private/Hybrid?




@russmiles | russ.miles@opencredo.com
Open Source?




@russmiles | russ.miles@opencredo.com
Thought we were
              getting...




@russmiles | russ.miles@opencredo.com
Started to look like...




@russmiles | russ.miles@opencredo.com
Why were we
                bothering?
@russmiles | russ.miles@opencredo.com
The Provisioning Story


              @cread              @tastapod

       http://www.infoq.com/presentations/Agile-
            Operations-Optimizing-Business

@russmiles | russ.miles@opencredo.com
Continuous Delivery

      “We’re entering a world
        where continuous
        delivery will be the
              norm”




@russmiles | russ.miles@opencredo.com
Enabling DevOps
               flexibility




@russmiles | russ.miles@opencredo.com
And for what?




@russmiles | russ.miles@opencredo.com
V1 (Hope)          V1 (Reality)



                                        V2?




            “Cloud Foundry”
             is re-imagined
@russmiles | russ.miles@opencredo.com
CloudFoundry 2.0




@russmiles | russ.miles@opencredo.com
A Platform




@russmiles | russ.miles@opencredo.com
Open PAAS




@russmiles | russ.miles@opencredo.com
The Currency is the
               ‘App’




@russmiles | russ.miles@opencredo.com
Cloud Developer Bill of
            Rights
                http://www.developerrights.org



@russmiles | russ.miles@opencredo.com
Cloud Developer Bill of
            Rights


@russmiles | russ.miles@opencredo.com
Your Rights
      •   The Right to Code

      •   The Right to Build Applications

      •   The Right to Cloud Portability

      •   The Right to a Choice of Frameworks

      •   The Right to a Choice of Application Services

      •   The Right to Platform Transparency

      •   The Right to Emigrate

      •   The Right of Ownership                  The Right to Open Source!
      •   The Right to be Left Alone



@russmiles | russ.miles@opencredo.com
Pragmatic Productivity:
       Productivity comes from the
      best runtime/language/libraries/
         services for the situation
                Including Skills & Context!


@russmiles | russ.miles@opencredo.com
Time for some action
@russmiles | russ.miles@opencredo.com
Demos
         Using the Public Face of Cloud Foundry




@russmiles | russ.miles@opencredo.com
Demos
                  Spring Apps


@russmiles | russ.miles@opencredo.com
Demos
         Ruby (& Rails) Apps
              VMC Command-Line in Action



@russmiles | russ.miles@opencredo.com
Demos
                Node.js Apps


@russmiles | russ.miles@opencredo.com
What’s under the skin?
@russmiles | russ.miles@opencredo.com
Cloud
     Foundry
   Architecture


@russmiles | russ.miles@opencredo.com
VCAP




@russmiles | russ.miles@opencredo.com
VCAP




                           NATS




@russmiles | russ.miles@opencredo.com
VCAP
         Routers &
       Load Balancing



                           NATS




@russmiles | russ.miles@opencredo.com
VCAP
         Routers &                       Cloud
       Load Balancing
                                        Controller


                           NATS




@russmiles | russ.miles@opencredo.com
VCAP
         Routers &                       Cloud
       Load Balancing
                                        Controller


                           NATS



          DEA


@russmiles | russ.miles@opencredo.com
VCAP
         Routers &                       Cloud
       Load Balancing
                                        Controller


                           NATS
              Droplet




          DEA


@russmiles | russ.miles@opencredo.com
VCAP
         Routers &                       Cloud
       Load Balancing
                                        Controller


                           NATS
              Droplet



                                         Health
          DEA                            Manager


@russmiles | russ.miles@opencredo.com
VCAP
         Routers &                       Cloud
       Load Balancing
                                        Controller


                           NATS            Services
              Droplet



                                         Health
          DEA                            Manager


@russmiles | russ.miles@opencredo.com
Architecture In Action


@russmiles | russ.miles@opencredo.com
“vmc target” In Action


@russmiles | russ.miles@opencredo.com
> vmc target
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services
              Droplet



                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc target
get http://api.cloudfoundry.com/info
                                       VCAP
             Routers &                         Cloud
           Load Balancing
                                              Controller


                                       NATS      Services
                     Droplet



                                               Health
               DEA                             Manager

 @russmiles | russ.miles@opencredo.com
> vmc target
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services
              Droplet



                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc target
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services
              Droplet



                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc target
  JSON                    VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services
              Droplet



                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
“vmc login” In Action


@russmiles | russ.miles@opencredo.com
> vmc login
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services
              Droplet



                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc login
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services
              Droplet



                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc login
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services
              Droplet



                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc login
                          VCAP
        Routers &           Security Token    Cloud
      Load Balancing        ~2 weeks lease   Controller


                           NATS                 Services
              Droplet



                                              Health
         DEA                                  Manager

@russmiles | russ.miles@opencredo.com
> vmc login
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services
              Droplet



                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc login
  Token Cached
                           VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services
                 Droplet



                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
“vmc push” In Action


@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services


                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
 Security Token
                          VCAP
          Routers &                      Cloud
        Load Balancing
                                        Controller


                           NATS            Services


                                         Health
            DEA                          Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services


                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                          VCAP
        Routers &                             Cloud
      Load Balancing       Validates Token
                                             Controller


                           NATS                 Services


                                              Health
         DEA                                  Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services


                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
 Does Diffs
                          VCAP
          Routers &                      Cloud
        Load Balancing
                                        Controller


                           NATS            Services


                                         Health
              DEA                        Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
Compressed Package of Changes
                                VCAP
           Routers &                      Cloud
         Load Balancing
                                         Controller


                                NATS        Services


                                          Health
            DEA                           Manager

 @russmiles | russ.miles@opencredo.com
> vmc push <appname>
                          VCAP
        Routers &                           Cloud
                           App Package
      Load Balancing       Diff Manifest   Controller
                          Security Token



                           NATS               Services


                                            Health
         DEA                                Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                          VCAP
        Routers &             Validates         Cloud
      Load Balancing       Uncompresses
                          Adds Missing Files   Controller


                           NATS                   Services


                                                Health
         DEA                                    Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                           VCAP
        Routers &       “Gold App Package”     Cloud
      Load Balancing      Recompressed
                        Saved to shared dir   Controller


                           NATS                  Services


                                               Health
         DEA                                   Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
“Push Status: OK”
                          VCAP
          Routers &                      Cloud
        Load Balancing
                                        Controller


                           NATS            Services


                                         Health
            DEA                          Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
 Start App
   & poll
                          VCAP
         Routers &                       Cloud
       Load Balancing
                                        Controller


                           NATS            Services


                                         Health
             DEA                         Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                           VCAP
        Routers &           Decide on
                        necessary runtimes,    Cloud
      Load Balancing     frameworks and       Controller
                             services



                           NATS                  Services


                                               Health
         DEA                                   Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                           VCAP
        Routers &       App Package Staged    Cloud
      Load Balancing       Compressed
                            Versioned        Controller


                           NATS                 Services


                                              Health
         DEA                                  Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
“Staging Application: OK”
                            VCAP
            Routers &                    Cloud
          Load Balancing
                                        Controller


                            NATS           Services


                                         Health
             DEA                         Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                          VCAP
        Routers &                          Cloud
      Load Balancing
                                          Controller


                           NATS              Services

                          Broadcast app
                          requirements
                                           Health
         DEA                               Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                             VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                             NATS          Services


                                         Health
                        Meets App
         DEA           Requirements?     Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                             VCAP
        Routers &                           Cloud
      Load Balancing
                                           Controller


                             NATS             Services

                       “I can start it!”
                                            Health
         DEA                                Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                           VCAP
        Routers &                         Cloud
      Load Balancing
                                         Controller


                           NATS             Services

                       Staged App Info
                         Fingerprint
                       Where to get it
                                          Health
         DEA                              Manager
                           Droplet


@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                             VCAP
        Routers &                           Cloud
      Load Balancing
                                           Controller


                             NATS             Services

             Droplet

                                            Health
                        Extract Package
         DEA           Boots environment    Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                            VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                             NATS          Services

             Droplet

                                         Health
         DEA           Binds Services
                                         Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                             VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                             NATS          Services

             Droplet

                                         Health
         DEA           Starts App        Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                           VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services

             Droplet     Broadcast
                       “App Started”
                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
                           VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services

             Droplet
                        “I’m Alive”
                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
App Started? Poll
                              VCAP
            Routers &                     Cloud
          Load Balancing
                                         Controller


                              NATS          Services

                    Droplet

                                          Health
              DEA                         Manager

 @russmiles | russ.miles@opencredo.com
> vmc push <appname>
                          VCAP
        Routers &                        Cloud
      Load Balancing
                                        Controller


                           NATS            Services

             Droplet

                                         Health
         DEA                             Manager

@russmiles | russ.miles@opencredo.com
> vmc push <appname>
“Starting Application: OK”
                             VCAP
           Routers &                     Cloud
         Load Balancing
                                        Controller


                             NATS          Services

                   Droplet

                                         Health
             DEA                         Manager

@russmiles | russ.miles@opencredo.com
What about R.Y.O?
@russmiles | russ.miles@opencredo.com
Local
         Demos


@russmiles | russ.miles@opencredo.com
“You’re not from round
                                      here are ya...”




      Demo: Local Cloud
          Foundry
@russmiles | russ.miles@opencredo.com
Why did it take so
               long?


@russmiles | russ.miles@opencredo.com
Timing is everything




@russmiles | russ.miles@opencredo.com
Convergence on App
        Deployment Stories




@russmiles | russ.miles@opencredo.com
Open Source Drives
         Innovation (again)




@russmiles | russ.miles@opencredo.com
Some ‘Missing’ Pieces


@russmiles | russ.miles@opencredo.com
Scaling is easy...




@russmiles | russ.miles@opencredo.com
OSGi?




@russmiles | russ.miles@opencredo.com
Python?




@russmiles | russ.miles@opencredo.com
Summary


@russmiles | russ.miles@opencredo.com
Glad to be wrong!




@russmiles | russ.miles@opencredo.com
“Can I run my app, pleeeaase!”




@russmiles | russ.miles@opencredo.com
Continuous Delivery




@russmiles | russ.miles@opencredo.com
DevOps




@russmiles | russ.miles@opencredo.com
To
           From




      Finally the App Server has Grown Up!
@russmiles | russ.miles@opencredo.com
Use the source
        VCAP


           https://github.com/cloudfoundry/vcap


        Samples

               https://github.com/SpringSource/
                    cloudfoundry-samples



@russmiles | russ.miles@opencredo.com
Definitely!




@russmiles | russ.miles@opencredo.com
Thanks for your time!
         &
  Any Questions?
            @russmiles
    russ.miles@opencredo.com

More Related Content

What's hot

Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Kafka Connect & Kafka Streams/KSQL - the ecosystem around KafkaKafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Guido Schmutz
 

What's hot (6)

AWS Re:Invent - High Availability Architecture at Netflix
AWS Re:Invent - High Availability Architecture at NetflixAWS Re:Invent - High Availability Architecture at Netflix
AWS Re:Invent - High Availability Architecture at Netflix
 
Cloud Native Architectures for Devops
Cloud Native Architectures for DevopsCloud Native Architectures for Devops
Cloud Native Architectures for Devops
 
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Kafka Connect & Kafka Streams/KSQL - the ecosystem around KafkaKafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
 
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
Managing Your Application Lifecycle on AWS: Continuous Integration and Deploy...
 
Forward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentationForward Networks - Networking Field Day 13 presentation
Forward Networks - Networking Field Day 13 presentation
 
Cloudfoundry architecture
Cloudfoundry architectureCloudfoundry architecture
Cloudfoundry architecture
 

Similar to Russ miles-cloudfoundry-deep-dive

Introduction to Cloud Computing and Windows Azure
Introduction to Cloud Computing and Windows AzureIntroduction to Cloud Computing and Windows Azure
Introduction to Cloud Computing and Windows Azure
Kaushal Bhavsar
 
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best PracticesAWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
Amazon Web Services
 
Qcon 111122082620-phpapp02
Qcon 111122082620-phpapp02Qcon 111122082620-phpapp02
Qcon 111122082620-phpapp02
Newlink
 

Similar to Russ miles-cloudfoundry-deep-dive (20)

Cloud Management with vRealize Operations
Cloud Management with vRealize OperationsCloud Management with vRealize Operations
Cloud Management with vRealize Operations
 
JAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaSJAVA를 활용한 클라우딩 환경 기반 PaaS
JAVA를 활용한 클라우딩 환경 기반 PaaS
 
자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas자바(Java)를 위한 클라우드 환경 기반 Paas
자바(Java)를 위한 클라우드 환경 기반 Paas
 
RightScale Introduction, Amazon EBS
RightScale Introduction, Amazon EBSRightScale Introduction, Amazon EBS
RightScale Introduction, Amazon EBS
 
Cloud Foundry et le Cloud vu par VMware
Cloud Foundry et le Cloud vu par VMwareCloud Foundry et le Cloud vu par VMware
Cloud Foundry et le Cloud vu par VMware
 
Introduction to Cloud Computing and Windows Azure
Introduction to Cloud Computing and Windows AzureIntroduction to Cloud Computing and Windows Azure
Introduction to Cloud Computing and Windows Azure
 
Business-critical MySQL with DR in vCloud Air
Business-critical MySQL with DR in vCloud AirBusiness-critical MySQL with DR in vCloud Air
Business-critical MySQL with DR in vCloud Air
 
Micro service in aws meetup
Micro service in aws   meetupMicro service in aws   meetup
Micro service in aws meetup
 
From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud. From Zero to still Zero: The most beautiful mistakes going into the cloud.
From Zero to still Zero: The most beautiful mistakes going into the cloud.
 
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best PracticesAWS Cloud Kata 2014 | Jakarta - Startup Best Practices
AWS Cloud Kata 2014 | Jakarta - Startup Best Practices
 
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
(ENT205) AWS and VMware: How to Architect and Manage Hybrid Environments | AW...
 
Distributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud FoundryDistributed Design and Architecture of Cloud Foundry
Distributed Design and Architecture of Cloud Foundry
 
Qcon 111122082620-phpapp02
Qcon 111122082620-phpapp02Qcon 111122082620-phpapp02
Qcon 111122082620-phpapp02
 
Firewalling a Service Mesh with WebAssembly.pdf
Firewalling a Service Mesh with WebAssembly.pdfFirewalling a Service Mesh with WebAssembly.pdf
Firewalling a Service Mesh with WebAssembly.pdf
 
AWS Architecture Fundamentals - Denver
AWS Architecture Fundamentals - DenverAWS Architecture Fundamentals - Denver
AWS Architecture Fundamentals - Denver
 
Business-critical MySQL with DR in vCloud Air
Business-critical MySQL with DR in vCloud AirBusiness-critical MySQL with DR in vCloud Air
Business-critical MySQL with DR in vCloud Air
 
Microsoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure PlatformMicrosoft PaaS Cloud Windows Azure Platform
Microsoft PaaS Cloud Windows Azure Platform
 
kubectl apply -f cloud-Infrastructure.yaml mit Crossplane et al. @ CNN Munich
kubectl apply -f cloud-Infrastructure.yaml mit Crossplane et al. @ CNN Munichkubectl apply -f cloud-Infrastructure.yaml mit Crossplane et al. @ CNN Munich
kubectl apply -f cloud-Infrastructure.yaml mit Crossplane et al. @ CNN Munich
 
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
Microsoft: Building a Massively Scalable System with DataStax and Microsoft's...
 
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
Cloud Foundry Summit 2015: Building a Robust Cloud Foundry (HA, Security and DR)
 

More from Skills Matter

Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheim
Skills Matter
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_t
Skills Matter
 

More from Skills Matter (20)

5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheim
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberl
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.js
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source world
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testing
 
Serendipity-neo4j
Serendipity-neo4jSerendipity-neo4j
Serendipity-neo4j
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
 
Plug 20110217
Plug   20110217Plug   20110217
Plug 20110217
 
Lug presentation
Lug presentationLug presentation
Lug presentation
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_t
 
Plug saiku
Plug   saikuPlug   saiku
Plug saiku
 
Huguk lily
Huguk lilyHuguk lily
Huguk lily
 

Russ miles-cloudfoundry-deep-dive

  • 1. Cloud Foundry Under the skin of VMware’s Open Cloud Platform
  • 2. First, two apologies... @russmiles | russ.miles@opencredo.com
  • 3. OSJ Ed. 1 @russmiles | russ.miles@opencredo.com
  • 4. PAAS and Lock-in @russmiles | russ.miles@opencredo.com
  • 5. Times have changed @russmiles | russ.miles@opencredo.com
  • 6. A Short History @russmiles | russ.miles@opencredo.com
  • 7. CloudFoundry 1.0 @russmiles | russ.miles@opencredo.com
  • 8. Running on AWS @russmiles | russ.miles@opencredo.com
  • 9. Java, WAR-Based Apps @russmiles | russ.miles@opencredo.com
  • 10. Common, Cost- Sensitive Topology @russmiles | russ.miles@opencredo.com
  • 11. Some Downsides... @russmiles | russ.miles@opencredo.com
  • 12. Management & Monitoring was minimal @russmiles | russ.miles@opencredo.com
  • 13. Expensive Accidents Possible... @russmiles | russ.miles@opencredo.com
  • 14. But it worked! @russmiles | russ.miles@opencredo.com
  • 15. Or did it... @russmiles | russ.miles@opencredo.com
  • 17. MySQL Only!? @russmiles | russ.miles@opencredo.com
  • 18. AWS Only?! @russmiles | russ.miles@opencredo.com
  • 20. Open Source? @russmiles | russ.miles@opencredo.com
  • 21. Thought we were getting... @russmiles | russ.miles@opencredo.com
  • 22. Started to look like... @russmiles | russ.miles@opencredo.com
  • 23. Why were we bothering? @russmiles | russ.miles@opencredo.com
  • 24. The Provisioning Story @cread @tastapod http://www.infoq.com/presentations/Agile- Operations-Optimizing-Business @russmiles | russ.miles@opencredo.com
  • 25. Continuous Delivery “We’re entering a world where continuous delivery will be the norm” @russmiles | russ.miles@opencredo.com
  • 26. Enabling DevOps flexibility @russmiles | russ.miles@opencredo.com
  • 27. And for what? @russmiles | russ.miles@opencredo.com
  • 28. V1 (Hope) V1 (Reality) V2? “Cloud Foundry” is re-imagined @russmiles | russ.miles@opencredo.com
  • 29. CloudFoundry 2.0 @russmiles | russ.miles@opencredo.com
  • 30. A Platform @russmiles | russ.miles@opencredo.com
  • 31. Open PAAS @russmiles | russ.miles@opencredo.com
  • 32. The Currency is the ‘App’ @russmiles | russ.miles@opencredo.com
  • 33. Cloud Developer Bill of Rights http://www.developerrights.org @russmiles | russ.miles@opencredo.com
  • 34. Cloud Developer Bill of Rights @russmiles | russ.miles@opencredo.com
  • 35. Your Rights • The Right to Code • The Right to Build Applications • The Right to Cloud Portability • The Right to a Choice of Frameworks • The Right to a Choice of Application Services • The Right to Platform Transparency • The Right to Emigrate • The Right of Ownership The Right to Open Source! • The Right to be Left Alone @russmiles | russ.miles@opencredo.com
  • 36. Pragmatic Productivity: Productivity comes from the best runtime/language/libraries/ services for the situation Including Skills & Context! @russmiles | russ.miles@opencredo.com
  • 37. Time for some action @russmiles | russ.miles@opencredo.com
  • 38. Demos Using the Public Face of Cloud Foundry @russmiles | russ.miles@opencredo.com
  • 39. Demos Spring Apps @russmiles | russ.miles@opencredo.com
  • 40. Demos Ruby (& Rails) Apps VMC Command-Line in Action @russmiles | russ.miles@opencredo.com
  • 41. Demos Node.js Apps @russmiles | russ.miles@opencredo.com
  • 42. What’s under the skin? @russmiles | russ.miles@opencredo.com
  • 43. Cloud Foundry Architecture @russmiles | russ.miles@opencredo.com
  • 45. VCAP NATS @russmiles | russ.miles@opencredo.com
  • 46. VCAP Routers & Load Balancing NATS @russmiles | russ.miles@opencredo.com
  • 47. VCAP Routers & Cloud Load Balancing Controller NATS @russmiles | russ.miles@opencredo.com
  • 48. VCAP Routers & Cloud Load Balancing Controller NATS DEA @russmiles | russ.miles@opencredo.com
  • 49. VCAP Routers & Cloud Load Balancing Controller NATS Droplet DEA @russmiles | russ.miles@opencredo.com
  • 50. VCAP Routers & Cloud Load Balancing Controller NATS Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 51. VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 52. Architecture In Action @russmiles | russ.miles@opencredo.com
  • 53. “vmc target” In Action @russmiles | russ.miles@opencredo.com
  • 54. > vmc target VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 55. > vmc target get http://api.cloudfoundry.com/info VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 56. > vmc target VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 57. > vmc target VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 58. > vmc target JSON VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 59. “vmc login” In Action @russmiles | russ.miles@opencredo.com
  • 60. > vmc login VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 61. > vmc login VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 62. > vmc login VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 63. > vmc login VCAP Routers & Security Token Cloud Load Balancing ~2 weeks lease Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 64. > vmc login VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 65. > vmc login Token Cached VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 66. “vmc push” In Action @russmiles | russ.miles@opencredo.com
  • 67. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 68. > vmc push <appname> Security Token VCAP Routers & Cloud Load Balancing Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 69. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 70. > vmc push <appname> VCAP Routers & Cloud Load Balancing Validates Token Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 71. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 72. > vmc push <appname> Does Diffs VCAP Routers & Cloud Load Balancing Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 73. > vmc push <appname> Compressed Package of Changes VCAP Routers & Cloud Load Balancing Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 74. > vmc push <appname> VCAP Routers & Cloud App Package Load Balancing Diff Manifest Controller Security Token NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 75. > vmc push <appname> VCAP Routers & Validates Cloud Load Balancing Uncompresses Adds Missing Files Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 76. > vmc push <appname> VCAP Routers & “Gold App Package” Cloud Load Balancing Recompressed Saved to shared dir Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 77. > vmc push <appname> “Push Status: OK” VCAP Routers & Cloud Load Balancing Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 78. > vmc push <appname> Start App & poll VCAP Routers & Cloud Load Balancing Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 79. > vmc push <appname> VCAP Routers & Decide on necessary runtimes, Cloud Load Balancing frameworks and Controller services NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 80. > vmc push <appname> VCAP Routers & App Package Staged Cloud Load Balancing Compressed Versioned Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 81. > vmc push <appname> “Staging Application: OK” VCAP Routers & Cloud Load Balancing Controller NATS Services Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 82. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Broadcast app requirements Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 83. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Health Meets App DEA Requirements? Manager @russmiles | russ.miles@opencredo.com
  • 84. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services “I can start it!” Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 85. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Staged App Info Fingerprint Where to get it Health DEA Manager Droplet @russmiles | russ.miles@opencredo.com
  • 86. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health Extract Package DEA Boots environment Manager @russmiles | russ.miles@opencredo.com
  • 87. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Binds Services Manager @russmiles | russ.miles@opencredo.com
  • 88. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Starts App Manager @russmiles | russ.miles@opencredo.com
  • 89. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Broadcast “App Started” Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 90. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet “I’m Alive” Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 91. > vmc push <appname> App Started? Poll VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 92. > vmc push <appname> VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 93. > vmc push <appname> “Starting Application: OK” VCAP Routers & Cloud Load Balancing Controller NATS Services Droplet Health DEA Manager @russmiles | russ.miles@opencredo.com
  • 94. What about R.Y.O? @russmiles | russ.miles@opencredo.com
  • 95. Local Demos @russmiles | russ.miles@opencredo.com
  • 96. “You’re not from round here are ya...” Demo: Local Cloud Foundry @russmiles | russ.miles@opencredo.com
  • 97. Why did it take so long? @russmiles | russ.miles@opencredo.com
  • 98. Timing is everything @russmiles | russ.miles@opencredo.com
  • 99. Convergence on App Deployment Stories @russmiles | russ.miles@opencredo.com
  • 100. Open Source Drives Innovation (again) @russmiles | russ.miles@opencredo.com
  • 101. Some ‘Missing’ Pieces @russmiles | russ.miles@opencredo.com
  • 102. Scaling is easy... @russmiles | russ.miles@opencredo.com
  • 106. Glad to be wrong! @russmiles | russ.miles@opencredo.com
  • 107. “Can I run my app, pleeeaase!” @russmiles | russ.miles@opencredo.com
  • 108. Continuous Delivery @russmiles | russ.miles@opencredo.com
  • 110. To From Finally the App Server has Grown Up! @russmiles | russ.miles@opencredo.com
  • 111. Use the source VCAP https://github.com/cloudfoundry/vcap Samples https://github.com/SpringSource/ cloudfoundry-samples @russmiles | russ.miles@opencredo.com
  • 113. Thanks for your time! & Any Questions? @russmiles russ.miles@opencredo.com