SlideShare uma empresa Scribd logo
1 de 64
Baixar para ler offline
Cloud Foundry Boot Camp
Chris Richardson - Senior Developer Advocate - @crichardson




                                                 © 2009 VMware Inc. All rights reserved
Agenda

 Why PaaS matters to developers
 Overview of Cloud Foundry
 Getting started with Cloud Foundry
 Consuming Cloud Foundry services




                                       2
Let’s imagine that you want to deploy an app...




 Do you know how much hardware to buy?
 Can you afford it?
 How long does it take to approve, buy and install?
 Who is going to set it up?
 What happens if the traffic increases 10x?
 Can we afford a test lab?




                                                       3
Cloud computing empowers us to deal with
          these challenges...




                                       4
Cloud computing defined




       IT delivered as a service
       Over the internet
       Self-service
       Pay per use
                                   5
The three layers of cloud computing

    SaaS




    PaaS




     IaaS



                                      6
Benefits of IaaS
  Agility
  Pay per use
  Elasticity
But you need to configure and maintain
the operating systems, the app servers and
the databases etc.

                                         7
Need to move up the stack



                  SaaS




                 PaaS




                  IaaS


                            8
PaaS
        =
Application deployment
  and management
         +
 Service provisioning
                         9
Agenda

 Why PaaS matters to developers
 Overview of Cloud Foundry
 Getting started with Cloud Foundry
 Consuming Cloud Foundry services




                                       10
The Open
         Platform as a Service



Deploy and scale applications in
seconds, without locking yourself

                                   p en,
                               e, O lable
                        Simpl Sca
                       Flex ible,

                                            11
Cloud Foundry open PaaS - Choice of frameworks

                                                 OSS community
Cloud Foundry open PaaS - Choice of application services




 vFabric
Postgres
                               Ap
                                  p lica



               Data
                                        'o



              Services
                                       n	
  S
                                         erv
                                            ice
                                               	
  In




      vFabric
                                                     ter
                                                        fac




      RabbitMQTM           Msg
                                                           e




                         Services




                                         Other
                                        Services

             Additional partners
             services …
Cloud Foundry open PaaS - Choice of clouds




                                                                                                                              d
                                                                                                                         Avoi n
                          Ap
                             p lica                                                                                      Lo ck-i

          Data                                                                                             Private	
  
                                   'o



         Services                                                                                          Clouds	
  
                                  n	
  S
                                    erv
                                       ice
                                          	
  In




                                                                                     e
                                                                                  fac
                                                ter




                                                                               ter
                                                   fac




                      Msg                                                                         Public




                                                                        r	
  In
                                                      e




                                                                                                  Clouds



                                                                     ide
                    Services


                                                                   ov
                                                             	
  Pr
                                                           ud
                                                          Cl o


                                                                                         Micro
                                    Other                                                Clouds
                                   Services
CloudFoundry.COM - Multi-tenant PaaS operated by VMware


                       CloudFoundry.COM (beta)

      Runtimes & Frameworks

      Services

                              vCenter / vSphere




      Infrastructure




                                                          15
Micro Cloud FoundryTM – Industry first downloadable PaaS


                             Micro Cloud Foundry

      Runtimes & Frameworks

      Services

                                  Your Laptop/PC



     Single VM instance of
     Cloud Foundry
     that runs on a developer’s
     MAC or PC




                                                           16
CloudFoundry.ORG - Community open-source project


                                   CloudFoundry.ORG




                                    Your Infrastructure

      Download                    Setup                      Deploy Behind
                                                      BOSH
       Code                    Environment                     Firewall




             Apache2 license




                                                                             17
Cloud Foundry: you can trade-off effort vs flexibility

                                                                         Less
 Less
                 Public PaaS

                                                                ....
                                       .COM


                 Private PaaS
Effort                                                ....             Flexibility


                 Custom Private PaaS

                           git clone git://github.com/cloudfoundry/

 More                                                                   More

                                                                                18
Cloud Foundry Resources

 Primary Site : cloudfoundry.com
 Open Source Site : cloudfoundry.org


 Twitter : @cloudfoundry , hash tag #cfoundry
 Blog : blog.cloudfoundry.com
 FB : facebook.com/cloudfoundry


 Support : support.cloudfoundry.com
  • Documentation
  • Knowledge Base
  • Q & A / Forums




                                                 19
Agenda

 Why PaaS matters to developers
 Overview of Cloud Foundry
 Getting started with Cloud Foundry
 Consuming Cloud Foundry services




                                       20
Register

  http://cloudfoundry.com/signup



                                   Use promo code




                                                    21
Welcome email




                22
Ways to use Cloud Foundry




                            23
Installing vmc on Windows




                            Install the vmc gem




                                                  24
Installing vmc on Mac OSX


Use Ruby Version Manager http://beginrescueend.com/
$ bash -s stable 
     <<(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

$ rvm install 1.9.2
$ rvm use 1.9.2

$ gem install vmc




                                                                                           25
Example vmc commands


    $ vmc target <any cloud>

    $ vmc login <credentials>

    $ vmc push <my-app>

    !      > bind services? Yes

    $ vmc update <my-app>

    $ vmc instances <my-app> +100


                                    26
Logging into CloudFoundry.com


$ vmc target api.cloudfoundry.com
Successfully targeted to
     [http://api.cloudfoundry.com]
$ vmc login
Attempting login to
 [http://api.cloudfoundry.com]
Email: crichardson@vmware.com
Password: ********
Successfully logged into
 [http://api.cloudfoundry.com]
                                     27
VMC CLI DEMO




               28
vmc push optionally creates manifest.yml

   applications:
                      Captures the information that vmc push gathered
     target/:         vmc doesn’t have to ask you again
       name: example1
       url: cer-example1.cloudfoundry.com
       framework:
         name: java_web
         info:
           mem: 512M
           description: Java Web Application
           exec:
       mem: 256M
       instances: 1

                                                                        30
Scale the application



$ vmc instances cf1 +2
Scaling Application instances up to 3: OK


$ vmc stats cf1

+----------+-------------+----------------+--------------+--------------+
| Instance | CPU (Cores) | Memory (limit) | Disk (limit) | Uptime       |
+----------+-------------+----------------+--------------+--------------+
| 0        | 1.2% (4)    | 90.6M (512M)   | 8.5M (2G)    | 0d:0h:3m:3s |
| 1        | 9.5% (4)    | 60.9M (512M)   | 8.4M (2G)    | 0d:0h:0m:17s |
| 2        | 9.4% (4)    | 55.5M (512M)   | 8.4M (2G)    | 0d:0h:0m:17s |
+----------+-------------+----------------+--------------+--------------+
http://www.springsource.com/downloads/sts
Install the Cloud Foundry plugin....




                                       33
...




      34
...




      35
STS DEMO




           36
Recap so far…

 Understand APaaS
 Register for Cloud Foundry
 Installed the Cloud Foundry Plugin
 Logged In/Authenticated
 Create a Spring MVC App
 Deployed MVC App to Cloud Foundry
 Hit URL from STS and Viewed MVC App
 Learned about vmc




                                        38
Agenda

 Why PaaS matters to developers
 Overview of Cloud Foundry
 Getting started with Cloud Foundry
 Consuming Cloud Foundry services




                                       39
Current Services Available on Cloud Foundry




                                              40
Creating a service instance
$ vmc create-service mysql --name mysql1
Creating Service: OK


$ vmc services

============== System Services ==============
+------------+---------+---------------------------------------+
| Service    | Version | Description                           |
+------------+---------+---------------------------------------+
| mongodb    | 1.8     | MongoDB NoSQL store                   |
| mysql      | 5.1     | MySQL database service                |
| postgresql | 9.0     | PostgreSQL database service (vFabric) |
| rabbitmq   | 2.4     | RabbitMQ messaging service            |
| redis      | 2.2     | Redis key-value store service         |
+------------+---------+---------------------------------------+

=========== Provisioned Services ============

+-------------+---------+
| Name        | Service |
+-------------+---------+
| mysql1      | mysql   |
+-------------+---------+
Binding a service to an application
   $ vmc push cer-spring --path web/target/
   Application Deployed URL [cer-spring.cloudfoundry.com]:
   Detected a Java SpringSource Spring Application, is this correct? [Yn]:
   Memory Reservation (64M, 128M, 256M, 512M, 1G) [512M]:
   Creating Application: OK
Would you like to bind any services to 'cer-spring'? [yN]: y [yN]: y
    Would you like
                   to bind any services to 'cer-spring'?
Would you like to use anan existing provisioned service? [yN]: y
    Would you like
                   to use existing provisioned service? [yN]: y
The The following provisioned servicesavailable
     following provisioned services are are available
1: mysql1
    1: mysql1
2: mysql-135e0
    2: mysql-135e0
Please select one you wish to use:use: 1
    Please select one you wish to 1
Binding Service [mysql1]: OK OK
    Binding Service [mysql1]:
   Uploading Application:
     Checking for available resources: OK
     Processing resources: OK
     Packing application: OK
     Uploading (12K): OK
Binding a service to an application

$ vmc bind-service mysql1 myapp
Binding Service [mysql1]: OK
Stopping Application 'myapp': OK
Staging Application 'myapp': OK
Starting Application 'myapp': OK
$
Binding in STS




44
Survey application
     demo


                     45
Uses MySQL and MongoDB

   @Entity
   public class Customer {                                                                      Stored in MySQL
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private Long id;

      private String firstName;

      private String lastName;
                                                                                                    Stored in Mongo
      @RelatedDocument
      private SurveyInfo surveyInfo;




public class SurveyInfo {                                               public class Survey {

  private List<Survey> questionsAndAnswers = new ArrayList<Survey>();     String question;

  public List<Survey> getQuestionsAndAnswers() {                          String answer;
    return questionsAndAnswers;
  }




                                                                                                                      46
Bindings exposed through VCAP_SERVICES environment variable
{    "mysql-5.1": [{
         "name": "mysql1",
         "label": "mysql-5.1",
         "plan": "free",
         "tags": ["mysql", "mysql-5.1", "relational"],
         "credentials": {
             "name": "da81b57c25cca4c65929a223f0ed068a0",
             "host": "172.99.99.99",
             "port": 3306,
             "username": "secretusername",
             "password": "secretuserpassword"
             ....
         }
    }]
}
                                                              48
Accessing bound services - low-level



 var services = JSON.parse(process.env.VCAP_SERVICES);
 var creds = services['mysql-5.1'][0].credentials


 configure do
     services = JSON.parse(ENV['VCAP_SERVICES'])
     mysql_key = services.keys.select { |svc| svc =~ /mysql/i }.first
     mysql = services[mysql_key].first['credentials']
     mysql_conf = {:host => mysql['hostname'], :port => mysql['port'],
         :username => mysql['user'], :password => mysql['password']}
     @@client = Mysql2::Client.new mysql_conf
 end




                                                                         49
Accessing bound services - high-level, Spring/Java


CloudEnvironment environment = new CloudEnvironment();
RdbmsServiceInfo mysqlSvc =
    environment.getServiceInfo("mysqlService", RdbmsServiceInfo.class);
RdbmsServiceCreator dataSourceCreator = new RdbmsServiceCreator();
DataSource dataSource = dataSourceCreator.createService(mysqlSvc);

<cloud:data-source id="dataSource" service-name="mysql1">
  <cloud:pool pool-size="1-5"/>
  <cloud:connection properties="charset=utf-8"/>
</cloud:data-source>
...


                        reconfigured automatically
  <bean id="dataSource" class="…">
      … DataSource for MySQL instance …
  </bean>
                                                                      50
Accessing bound services - high-level, Ruby


                     reconfigured automatically
RedisHost = "127.0.0.1"
RedisPort = 10000
$r = Redis.new(:host => RedisHost, :port => RedisPort) if !$r



                         rewritten automatically
production:
  adapter: sqlite3
  database: db/production.sqlite3




                                                            51
Recap…

 Services :
  • SQL and NoSQL databases
  • Message broker
  • ...
 Service Bindings
  • VCAP_SERVICES environment variable
  • JSON Format

 Framework-dependent ways of accessing the bindings:
  • Parse JSON
  • ...
  • Spring, Sinatra and Rails have auto-reconfiguration




                                                          52
Services are great but what if we want to

            Use database tools?

Use the services from JUnit integration tests?




                                              53
Using Caldecott to tunnel into your services




                                               54
gem install caldecott




                        55
Caldecott Demo




                 56
Running JUnit test with Caldecott


   Configure your test code to use port + connection info




                                                           58
Summary


          59
Cloud Foundry is a
remarkably easy way to
deploy your applications


                       60
Cloud Foundry
      =
   Choice

                61
.js
             Ap
                p


                                                                                    Private	
  
                lica


 Data
Services
                                                                                    Clouds	
  
                     'o




                                                                       e
                                                                    fac
                     n	
  S




                                                                 ter
                       erv




                                                          r	
  In
                          i
                          ce




                                                       ide
                                                                           Public
                            	
  In




                                                     ov
      Msg Services
                                                                           Clouds
                                  ter




                                               	
  Pr
                                     fac




                                             ud
                                        e




                                            Cl o

                      Other
                                                            Micro
                     Services                               Clouds
Questions?
Signup @ www.cloudfoundry.com
Thank You!
t @CloudFoundry


t @crichardson

  Website   : www.cloudfoundry.com
  Blog      : Blog.CloudFoundry.com

Mais conteúdo relacionado

Mais procurados

Digital Fuel & Forrester Cloud Computing IT Financial Management
Digital Fuel & Forrester Cloud  Computing IT Financial ManagementDigital Fuel & Forrester Cloud  Computing IT Financial Management
Digital Fuel & Forrester Cloud Computing IT Financial Managementyisbat
 
OSGi Devcon 2009 Keynote
OSGi Devcon 2009 KeynoteOSGi Devcon 2009 Keynote
OSGi Devcon 2009 KeynotePeter Kriens
 
Infocom03 rajiv
Infocom03 rajivInfocom03 rajiv
Infocom03 rajivzt5169
 
CompatibleOne Collaborative Project OW2con11
CompatibleOne Collaborative Project OW2con11CompatibleOne Collaborative Project OW2con11
CompatibleOne Collaborative Project OW2con11CompatibleOne
 
CCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCICCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCIbefreax
 
Effective reporting in SAP: Help your CFO make more timely decisions and shar...
Effective reporting in SAP: Help your CFO make more timely decisions and shar...Effective reporting in SAP: Help your CFO make more timely decisions and shar...
Effective reporting in SAP: Help your CFO make more timely decisions and shar...sharedserviceslink.com
 
Interop Cloud Keynote with Terremark, VMWare, and Citrix
Interop Cloud Keynote with Terremark, VMWare, and CitrixInterop Cloud Keynote with Terremark, VMWare, and Citrix
Interop Cloud Keynote with Terremark, VMWare, and CitrixAlistair Croll
 
Market Research Report : Cloud Computing Market in India 2010
Market Research Report : Cloud Computing Market in India 2010Market Research Report : Cloud Computing Market in India 2010
Market Research Report : Cloud Computing Market in India 2010Netscribes, Inc.
 
Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4Amazon Web Services
 

Mais procurados (13)

Cloud services From Calsoftlabs
Cloud services From CalsoftlabsCloud services From Calsoftlabs
Cloud services From Calsoftlabs
 
1610002 srx sales_deck
1610002 srx sales_deck1610002 srx sales_deck
1610002 srx sales_deck
 
Digital Fuel & Forrester Cloud Computing IT Financial Management
Digital Fuel & Forrester Cloud  Computing IT Financial ManagementDigital Fuel & Forrester Cloud  Computing IT Financial Management
Digital Fuel & Forrester Cloud Computing IT Financial Management
 
OSGi Devcon 2009 Keynote
OSGi Devcon 2009 KeynoteOSGi Devcon 2009 Keynote
OSGi Devcon 2009 Keynote
 
Infocom03 rajiv
Infocom03 rajivInfocom03 rajiv
Infocom03 rajiv
 
IETF MPLS-TP RFCs & Drafts - OCT 2010
IETF MPLS-TP RFCs & Drafts - OCT 2010IETF MPLS-TP RFCs & Drafts - OCT 2010
IETF MPLS-TP RFCs & Drafts - OCT 2010
 
CompatibleOne Collaborative Project OW2con11
CompatibleOne Collaborative Project OW2con11CompatibleOne Collaborative Project OW2con11
CompatibleOne Collaborative Project OW2con11
 
Asr 9000-line-cards
Asr 9000-line-cardsAsr 9000-line-cards
Asr 9000-line-cards
 
CCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCICCA09 Cloud Computing Standards and OCCI
CCA09 Cloud Computing Standards and OCCI
 
Effective reporting in SAP: Help your CFO make more timely decisions and shar...
Effective reporting in SAP: Help your CFO make more timely decisions and shar...Effective reporting in SAP: Help your CFO make more timely decisions and shar...
Effective reporting in SAP: Help your CFO make more timely decisions and shar...
 
Interop Cloud Keynote with Terremark, VMWare, and Citrix
Interop Cloud Keynote with Terremark, VMWare, and CitrixInterop Cloud Keynote with Terremark, VMWare, and Citrix
Interop Cloud Keynote with Terremark, VMWare, and Citrix
 
Market Research Report : Cloud Computing Market in India 2010
Market Research Report : Cloud Computing Market in India 2010Market Research Report : Cloud Computing Market in India 2010
Market Research Report : Cloud Computing Market in India 2010
 
Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4Etendez votre datacenter avec aws v4
Etendez votre datacenter avec aws v4
 

Destaque

Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry BootcampAlvaro Videla
 
What's New in Cloud Foundry
What's New in Cloud FoundryWhat's New in Cloud Foundry
What's New in Cloud FoundryJennifer Hickey
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developersDaniel Krook
 
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, EgyptSQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, EgyptChris Richardson
 
Decomposing applications for deployability and scalability (cfopentour india)
Decomposing applications for deployability and scalability (cfopentour india)Decomposing applications for deployability and scalability (cfopentour india)
Decomposing applications for deployability and scalability (cfopentour india)Chris Richardson
 
From concept to cloud (cf opentour india)
From concept to cloud (cf opentour india)From concept to cloud (cf opentour india)
From concept to cloud (cf opentour india)Chris Richardson
 
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...Chris Richardson
 
Cloud computing concept & design
Cloud computing concept & designCloud computing concept & design
Cloud computing concept & designSandipan Samaddar
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry BootcampJoshua Long
 
Cloud computing introduction
Cloud computing introductionCloud computing introduction
Cloud computing introductionLap Doan
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsVMware vFabric
 
Introduction to Cloud Foundry
Introduction to Cloud FoundryIntroduction to Cloud Foundry
Introduction to Cloud FoundryVMware vFabric
 
Pivotal cloud foundry introduction
Pivotal cloud foundry introductionPivotal cloud foundry introduction
Pivotal cloud foundry introductionGaurav Shukla
 
Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewCloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewAndy Piper
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep diveAnimesh Singh
 
SpringPeople Introduction to Spring Framework
SpringPeople Introduction to Spring FrameworkSpringPeople Introduction to Spring Framework
SpringPeople Introduction to Spring FrameworkSpringPeople
 
Introduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeopleIntroduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeopleSpringPeople
 
Cloud Foundry | How it works
Cloud Foundry | How it worksCloud Foundry | How it works
Cloud Foundry | How it worksKazuto Kusama
 
Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014Sam Newman
 
Cloud foundry presentation
Cloud foundry presentation Cloud foundry presentation
Cloud foundry presentation Vivek Parihar
 

Destaque (20)

Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry Bootcamp
 
What's New in Cloud Foundry
What's New in Cloud FoundryWhat's New in Cloud Foundry
What's New in Cloud Foundry
 
Cloud Foundry for PHP developers
Cloud Foundry for PHP developersCloud Foundry for PHP developers
Cloud Foundry for PHP developers
 
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, EgyptSQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
SQL? NoSQL? NewSQL?!? What’s a Java developer to do? - JDC2012 Cairo, Egypt
 
Decomposing applications for deployability and scalability (cfopentour india)
Decomposing applications for deployability and scalability (cfopentour india)Decomposing applications for deployability and scalability (cfopentour india)
Decomposing applications for deployability and scalability (cfopentour india)
 
From concept to cloud (cf opentour india)
From concept to cloud (cf opentour india)From concept to cloud (cf opentour india)
From concept to cloud (cf opentour india)
 
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
Decompose That WAR! Architecting for Adaptability, Scalability, and Deployabi...
 
Cloud computing concept & design
Cloud computing concept & designCloud computing concept & design
Cloud computing concept & design
 
Cloud Foundry Bootcamp
Cloud Foundry BootcampCloud Foundry Bootcamp
Cloud Foundry Bootcamp
 
Cloud computing introduction
Cloud computing introductionCloud computing introduction
Cloud computing introduction
 
vFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS AppsvFabric - Ideal Platform for SaaS Apps
vFabric - Ideal Platform for SaaS Apps
 
Introduction to Cloud Foundry
Introduction to Cloud FoundryIntroduction to Cloud Foundry
Introduction to Cloud Foundry
 
Pivotal cloud foundry introduction
Pivotal cloud foundry introductionPivotal cloud foundry introduction
Pivotal cloud foundry introduction
 
Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewCloud Foundry Introduction and Overview
Cloud Foundry Introduction and Overview
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep dive
 
SpringPeople Introduction to Spring Framework
SpringPeople Introduction to Spring FrameworkSpringPeople Introduction to Spring Framework
SpringPeople Introduction to Spring Framework
 
Introduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeopleIntroduction To Cloud Foundry - SpringPeople
Introduction To Cloud Foundry - SpringPeople
 
Cloud Foundry | How it works
Cloud Foundry | How it worksCloud Foundry | How it works
Cloud Foundry | How it works
 
Principles of Microservices - NDC 2014
Principles of Microservices  - NDC 2014Principles of Microservices  - NDC 2014
Principles of Microservices - NDC 2014
 
Cloud foundry presentation
Cloud foundry presentation Cloud foundry presentation
Cloud foundry presentation
 

Semelhante a Cloud Foundry bootcamp at ContributingCode

PaaS Parade - Cloud Foundry
PaaS Parade - Cloud FoundryPaaS Parade - Cloud Foundry
PaaS Parade - Cloud Foundrymartinlippert
 
Cloud Foundry for Java devs
Cloud Foundry for Java devsCloud Foundry for Java devs
Cloud Foundry for Java devsPeter Ledbrook
 
Portrait of the developer as The Artist - SpringOne India 2012
Portrait of the developer as The Artist - SpringOne India 2012Portrait of the developer as The Artist - SpringOne India 2012
Portrait of the developer as The Artist - SpringOne India 2012Patrick Chanezon
 
Hands On CloudFoundry
Hands On CloudFoundryHands On CloudFoundry
Hands On CloudFoundryEric Bottard
 
Cloud Foundry: Inside the Machine
Cloud Foundry: Inside the MachineCloud Foundry: Inside the Machine
Cloud Foundry: Inside the MachineDerek Collison
 
Cloud Foundry Architecture and Overview
Cloud Foundry Architecture and OverviewCloud Foundry Architecture and Overview
Cloud Foundry Architecture and Overviewrajdeep
 
Thinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud FoundryThinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud FoundryJennifer Hickey
 
Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Patrick Chanezon
 
Portrait of the Developer as the Artist - OpenTour Sofia
Portrait of the Developer as the Artist - OpenTour SofiaPortrait of the Developer as the Artist - OpenTour Sofia
Portrait of the Developer as the Artist - OpenTour SofiaPatrick Chanezon
 
Building an Open Cloud Ecosystem with Cloud Foundry
Building an Open Cloud Ecosystem with Cloud FoundryBuilding an Open Cloud Ecosystem with Cloud Foundry
Building an Open Cloud Ecosystem with Cloud FoundryAndy Piper
 
Spring Data and MongoDB
Spring Data and MongoDBSpring Data and MongoDB
Spring Data and MongoDBOliver Gierke
 
Breaking through the Clouds
Breaking through the CloudsBreaking through the Clouds
Breaking through the CloudsAndy Piper
 
Portrait of the Developer As "The Artist" - English Version
Portrait of the Developer As "The Artist" - English VersionPortrait of the Developer As "The Artist" - English Version
Portrait of the Developer As "The Artist" - English VersionPatrick Chanezon
 
Making a Cleaner Cloud with Open Source
Making a Cleaner Cloud with Open SourceMaking a Cleaner Cloud with Open Source
Making a Cleaner Cloud with Open SourceAndy Piper
 
Cloud foundry - the building of the open paas presentation
Cloud foundry - the building of the open paas presentationCloud foundry - the building of the open paas presentation
Cloud foundry - the building of the open paas presentationXianzhu Yue
 
Compatible one cloud expowest nov 2012
Compatible one cloud expowest nov 2012Compatible one cloud expowest nov 2012
Compatible one cloud expowest nov 2012CompatibleOne
 
Geospatial Community Cloud Vision
Geospatial Community Cloud VisionGeospatial Community Cloud Vision
Geospatial Community Cloud VisionDaneyon Hansen
 
Oracle Enterprise Manager
Oracle Enterprise ManagerOracle Enterprise Manager
Oracle Enterprise ManagerBob Rhubart
 

Semelhante a Cloud Foundry bootcamp at ContributingCode (20)

PaaS Parade - Cloud Foundry
PaaS Parade - Cloud FoundryPaaS Parade - Cloud Foundry
PaaS Parade - Cloud Foundry
 
Cloud Foundry for Java devs
Cloud Foundry for Java devsCloud Foundry for Java devs
Cloud Foundry for Java devs
 
Portrait of the developer as The Artist - SpringOne India 2012
Portrait of the developer as The Artist - SpringOne India 2012Portrait of the developer as The Artist - SpringOne India 2012
Portrait of the developer as The Artist - SpringOne India 2012
 
Hands On CloudFoundry
Hands On CloudFoundryHands On CloudFoundry
Hands On CloudFoundry
 
Cloud Foundry: Inside the Machine
Cloud Foundry: Inside the MachineCloud Foundry: Inside the Machine
Cloud Foundry: Inside the Machine
 
Cloud Foundry Architecture and Overview
Cloud Foundry Architecture and OverviewCloud Foundry Architecture and Overview
Cloud Foundry Architecture and Overview
 
RubyWorld 2011
RubyWorld 2011RubyWorld 2011
RubyWorld 2011
 
Thinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud FoundryThinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
Thinking Outside the Container: Deploying Standalone Apps to Cloud Foundry
 
Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012Cloud Foundry Introduction - Canada - October 2012
Cloud Foundry Introduction - Canada - October 2012
 
Portrait of the Developer as the Artist - OpenTour Sofia
Portrait of the Developer as the Artist - OpenTour SofiaPortrait of the Developer as the Artist - OpenTour Sofia
Portrait of the Developer as the Artist - OpenTour Sofia
 
Building an Open Cloud Ecosystem with Cloud Foundry
Building an Open Cloud Ecosystem with Cloud FoundryBuilding an Open Cloud Ecosystem with Cloud Foundry
Building an Open Cloud Ecosystem with Cloud Foundry
 
Spring Data and MongoDB
Spring Data and MongoDBSpring Data and MongoDB
Spring Data and MongoDB
 
Breaking through the Clouds
Breaking through the CloudsBreaking through the Clouds
Breaking through the Clouds
 
Portrait of the Developer As "The Artist" - English Version
Portrait of the Developer As "The Artist" - English VersionPortrait of the Developer As "The Artist" - English Version
Portrait of the Developer As "The Artist" - English Version
 
Making a Cleaner Cloud with Open Source
Making a Cleaner Cloud with Open SourceMaking a Cleaner Cloud with Open Source
Making a Cleaner Cloud with Open Source
 
Cloud foundry - the building of the open paas presentation
Cloud foundry - the building of the open paas presentationCloud foundry - the building of the open paas presentation
Cloud foundry - the building of the open paas presentation
 
OSCON 2011
OSCON 2011OSCON 2011
OSCON 2011
 
Compatible one cloud expowest nov 2012
Compatible one cloud expowest nov 2012Compatible one cloud expowest nov 2012
Compatible one cloud expowest nov 2012
 
Geospatial Community Cloud Vision
Geospatial Community Cloud VisionGeospatial Community Cloud Vision
Geospatial Community Cloud Vision
 
Oracle Enterprise Manager
Oracle Enterprise ManagerOracle Enterprise Manager
Oracle Enterprise Manager
 

Mais de Chris Richardson

The microservice architecture: what, why, when and how?
The microservice architecture: what, why, when and how?The microservice architecture: what, why, when and how?
The microservice architecture: what, why, when and how?Chris Richardson
 
More the merrier: a microservices anti-pattern
More the merrier: a microservices anti-patternMore the merrier: a microservices anti-pattern
More the merrier: a microservices anti-patternChris Richardson
 
YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...
YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...
YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...Chris Richardson
 
Dark Energy, Dark Matter and the Microservices Patterns?!
Dark Energy, Dark Matter and the Microservices Patterns?!Dark Energy, Dark Matter and the Microservices Patterns?!
Dark Energy, Dark Matter and the Microservices Patterns?!Chris Richardson
 
Dark energy, dark matter and microservice architecture collaboration patterns
Dark energy, dark matter and microservice architecture collaboration patternsDark energy, dark matter and microservice architecture collaboration patterns
Dark energy, dark matter and microservice architecture collaboration patternsChris Richardson
 
Scenarios_and_Architecture_SkillsMatter_April_2022.pdf
Scenarios_and_Architecture_SkillsMatter_April_2022.pdfScenarios_and_Architecture_SkillsMatter_April_2022.pdf
Scenarios_and_Architecture_SkillsMatter_April_2022.pdfChris Richardson
 
Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions Chris Richardson
 
iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...
iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...
iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...Chris Richardson
 
Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...Chris Richardson
 
A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 Chris Richardson
 
QConPlus 2021: Minimizing Design Time Coupling in a Microservice Architecture
QConPlus 2021: Minimizing Design Time Coupling in a Microservice ArchitectureQConPlus 2021: Minimizing Design Time Coupling in a Microservice Architecture
QConPlus 2021: Minimizing Design Time Coupling in a Microservice ArchitectureChris Richardson
 
Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...
Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...
Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...Chris Richardson
 
Designing loosely coupled services
Designing loosely coupled servicesDesigning loosely coupled services
Designing loosely coupled servicesChris Richardson
 
Microservices - an architecture that enables DevOps (T Systems DevOps day)
Microservices - an architecture that enables DevOps (T Systems DevOps day)Microservices - an architecture that enables DevOps (T Systems DevOps day)
Microservices - an architecture that enables DevOps (T Systems DevOps day)Chris Richardson
 
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...Chris Richardson
 
Decompose your monolith: Six principles for refactoring a monolith to microse...
Decompose your monolith: Six principles for refactoring a monolith to microse...Decompose your monolith: Six principles for refactoring a monolith to microse...
Decompose your monolith: Six principles for refactoring a monolith to microse...Chris Richardson
 
TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...
TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...
TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...Chris Richardson
 
Overview of the Eventuate Tram Customers and Orders application
Overview of the Eventuate Tram Customers and Orders applicationOverview of the Eventuate Tram Customers and Orders application
Overview of the Eventuate Tram Customers and Orders applicationChris Richardson
 
An overview of the Eventuate Platform
An overview of the Eventuate PlatformAn overview of the Eventuate Platform
An overview of the Eventuate PlatformChris Richardson
 
#DevNexus202 Decompose your monolith
#DevNexus202 Decompose your monolith#DevNexus202 Decompose your monolith
#DevNexus202 Decompose your monolithChris Richardson
 

Mais de Chris Richardson (20)

The microservice architecture: what, why, when and how?
The microservice architecture: what, why, when and how?The microservice architecture: what, why, when and how?
The microservice architecture: what, why, when and how?
 
More the merrier: a microservices anti-pattern
More the merrier: a microservices anti-patternMore the merrier: a microservices anti-pattern
More the merrier: a microservices anti-pattern
 
YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...
YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...
YOW London - Considering Migrating a Monolith to Microservices? A Dark Energy...
 
Dark Energy, Dark Matter and the Microservices Patterns?!
Dark Energy, Dark Matter and the Microservices Patterns?!Dark Energy, Dark Matter and the Microservices Patterns?!
Dark Energy, Dark Matter and the Microservices Patterns?!
 
Dark energy, dark matter and microservice architecture collaboration patterns
Dark energy, dark matter and microservice architecture collaboration patternsDark energy, dark matter and microservice architecture collaboration patterns
Dark energy, dark matter and microservice architecture collaboration patterns
 
Scenarios_and_Architecture_SkillsMatter_April_2022.pdf
Scenarios_and_Architecture_SkillsMatter_April_2022.pdfScenarios_and_Architecture_SkillsMatter_April_2022.pdf
Scenarios_and_Architecture_SkillsMatter_April_2022.pdf
 
Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions Using patterns and pattern languages to make better architectural decisions
Using patterns and pattern languages to make better architectural decisions
 
iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...
iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...
iSAQB gathering 2021 keynote - Architectural patterns for rapid, reliable, fr...
 
Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...Events to the rescue: solving distributed data problems in a microservice arc...
Events to the rescue: solving distributed data problems in a microservice arc...
 
A pattern language for microservices - June 2021
A pattern language for microservices - June 2021 A pattern language for microservices - June 2021
A pattern language for microservices - June 2021
 
QConPlus 2021: Minimizing Design Time Coupling in a Microservice Architecture
QConPlus 2021: Minimizing Design Time Coupling in a Microservice ArchitectureQConPlus 2021: Minimizing Design Time Coupling in a Microservice Architecture
QConPlus 2021: Minimizing Design Time Coupling in a Microservice Architecture
 
Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...
Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...
Mucon 2021 - Dark energy, dark matter: imperfect metaphors for designing micr...
 
Designing loosely coupled services
Designing loosely coupled servicesDesigning loosely coupled services
Designing loosely coupled services
 
Microservices - an architecture that enables DevOps (T Systems DevOps day)
Microservices - an architecture that enables DevOps (T Systems DevOps day)Microservices - an architecture that enables DevOps (T Systems DevOps day)
Microservices - an architecture that enables DevOps (T Systems DevOps day)
 
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
DDD SoCal: Decompose your monolith: Ten principles for refactoring a monolith...
 
Decompose your monolith: Six principles for refactoring a monolith to microse...
Decompose your monolith: Six principles for refactoring a monolith to microse...Decompose your monolith: Six principles for refactoring a monolith to microse...
Decompose your monolith: Six principles for refactoring a monolith to microse...
 
TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...
TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...
TDC2020 - The microservice architecture: enabling rapid, reliable, frequent a...
 
Overview of the Eventuate Tram Customers and Orders application
Overview of the Eventuate Tram Customers and Orders applicationOverview of the Eventuate Tram Customers and Orders application
Overview of the Eventuate Tram Customers and Orders application
 
An overview of the Eventuate Platform
An overview of the Eventuate PlatformAn overview of the Eventuate Platform
An overview of the Eventuate Platform
 
#DevNexus202 Decompose your monolith
#DevNexus202 Decompose your monolith#DevNexus202 Decompose your monolith
#DevNexus202 Decompose your monolith
 

Último

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Último (20)

SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Cloud Foundry bootcamp at ContributingCode

  • 1. Cloud Foundry Boot Camp Chris Richardson - Senior Developer Advocate - @crichardson © 2009 VMware Inc. All rights reserved
  • 2. Agenda  Why PaaS matters to developers  Overview of Cloud Foundry  Getting started with Cloud Foundry  Consuming Cloud Foundry services 2
  • 3. Let’s imagine that you want to deploy an app...  Do you know how much hardware to buy?  Can you afford it?  How long does it take to approve, buy and install?  Who is going to set it up?  What happens if the traffic increases 10x?  Can we afford a test lab? 3
  • 4. Cloud computing empowers us to deal with these challenges... 4
  • 5. Cloud computing defined IT delivered as a service Over the internet Self-service Pay per use 5
  • 6. The three layers of cloud computing SaaS PaaS IaaS 6
  • 7. Benefits of IaaS Agility Pay per use Elasticity But you need to configure and maintain the operating systems, the app servers and the databases etc. 7
  • 8. Need to move up the stack SaaS PaaS IaaS 8
  • 9. PaaS = Application deployment and management + Service provisioning 9
  • 10. Agenda  Why PaaS matters to developers  Overview of Cloud Foundry  Getting started with Cloud Foundry  Consuming Cloud Foundry services 10
  • 11. The Open Platform as a Service Deploy and scale applications in seconds, without locking yourself p en, e, O lable Simpl Sca Flex ible, 11
  • 12. Cloud Foundry open PaaS - Choice of frameworks OSS community
  • 13. Cloud Foundry open PaaS - Choice of application services vFabric Postgres Ap p lica Data 'o Services n  S erv ice  In vFabric ter fac RabbitMQTM Msg e Services Other Services Additional partners services …
  • 14. Cloud Foundry open PaaS - Choice of clouds d Avoi n Ap p lica Lo ck-i Data Private   'o Services Clouds   n  S erv ice  In e fac ter ter fac Msg Public r  In e Clouds ide Services ov  Pr ud Cl o Micro Other Clouds Services
  • 15. CloudFoundry.COM - Multi-tenant PaaS operated by VMware CloudFoundry.COM (beta) Runtimes & Frameworks Services vCenter / vSphere Infrastructure 15
  • 16. Micro Cloud FoundryTM – Industry first downloadable PaaS Micro Cloud Foundry Runtimes & Frameworks Services Your Laptop/PC Single VM instance of Cloud Foundry that runs on a developer’s MAC or PC 16
  • 17. CloudFoundry.ORG - Community open-source project CloudFoundry.ORG Your Infrastructure Download Setup Deploy Behind BOSH Code Environment Firewall Apache2 license 17
  • 18. Cloud Foundry: you can trade-off effort vs flexibility Less Less Public PaaS .... .COM Private PaaS Effort .... Flexibility Custom Private PaaS git clone git://github.com/cloudfoundry/ More More 18
  • 19. Cloud Foundry Resources  Primary Site : cloudfoundry.com  Open Source Site : cloudfoundry.org  Twitter : @cloudfoundry , hash tag #cfoundry  Blog : blog.cloudfoundry.com  FB : facebook.com/cloudfoundry  Support : support.cloudfoundry.com • Documentation • Knowledge Base • Q & A / Forums 19
  • 20. Agenda  Why PaaS matters to developers  Overview of Cloud Foundry  Getting started with Cloud Foundry  Consuming Cloud Foundry services 20
  • 23. Ways to use Cloud Foundry 23
  • 24. Installing vmc on Windows Install the vmc gem 24
  • 25. Installing vmc on Mac OSX Use Ruby Version Manager http://beginrescueend.com/ $ bash -s stable <<(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer) $ rvm install 1.9.2 $ rvm use 1.9.2 $ gem install vmc 25
  • 26. Example vmc commands $ vmc target <any cloud> $ vmc login <credentials> $ vmc push <my-app> ! > bind services? Yes $ vmc update <my-app> $ vmc instances <my-app> +100 26
  • 27. Logging into CloudFoundry.com $ vmc target api.cloudfoundry.com Successfully targeted to [http://api.cloudfoundry.com] $ vmc login Attempting login to [http://api.cloudfoundry.com] Email: crichardson@vmware.com Password: ******** Successfully logged into [http://api.cloudfoundry.com] 27
  • 29.
  • 30. vmc push optionally creates manifest.yml applications: Captures the information that vmc push gathered target/: vmc doesn’t have to ask you again name: example1 url: cer-example1.cloudfoundry.com framework: name: java_web info: mem: 512M description: Java Web Application exec: mem: 256M instances: 1 30
  • 31. Scale the application $ vmc instances cf1 +2 Scaling Application instances up to 3: OK $ vmc stats cf1 +----------+-------------+----------------+--------------+--------------+ | Instance | CPU (Cores) | Memory (limit) | Disk (limit) | Uptime | +----------+-------------+----------------+--------------+--------------+ | 0 | 1.2% (4) | 90.6M (512M) | 8.5M (2G) | 0d:0h:3m:3s | | 1 | 9.5% (4) | 60.9M (512M) | 8.4M (2G) | 0d:0h:0m:17s | | 2 | 9.4% (4) | 55.5M (512M) | 8.4M (2G) | 0d:0h:0m:17s | +----------+-------------+----------------+--------------+--------------+
  • 33. Install the Cloud Foundry plugin.... 33
  • 34. ... 34
  • 35. ... 35
  • 36. STS DEMO 36
  • 37.
  • 38. Recap so far…  Understand APaaS  Register for Cloud Foundry  Installed the Cloud Foundry Plugin  Logged In/Authenticated  Create a Spring MVC App  Deployed MVC App to Cloud Foundry  Hit URL from STS and Viewed MVC App  Learned about vmc 38
  • 39. Agenda  Why PaaS matters to developers  Overview of Cloud Foundry  Getting started with Cloud Foundry  Consuming Cloud Foundry services 39
  • 40. Current Services Available on Cloud Foundry 40
  • 41. Creating a service instance $ vmc create-service mysql --name mysql1 Creating Service: OK $ vmc services ============== System Services ============== +------------+---------+---------------------------------------+ | Service | Version | Description | +------------+---------+---------------------------------------+ | mongodb | 1.8 | MongoDB NoSQL store | | mysql | 5.1 | MySQL database service | | postgresql | 9.0 | PostgreSQL database service (vFabric) | | rabbitmq | 2.4 | RabbitMQ messaging service | | redis | 2.2 | Redis key-value store service | +------------+---------+---------------------------------------+ =========== Provisioned Services ============ +-------------+---------+ | Name | Service | +-------------+---------+ | mysql1 | mysql | +-------------+---------+
  • 42. Binding a service to an application $ vmc push cer-spring --path web/target/ Application Deployed URL [cer-spring.cloudfoundry.com]: Detected a Java SpringSource Spring Application, is this correct? [Yn]: Memory Reservation (64M, 128M, 256M, 512M, 1G) [512M]: Creating Application: OK Would you like to bind any services to 'cer-spring'? [yN]: y [yN]: y Would you like to bind any services to 'cer-spring'? Would you like to use anan existing provisioned service? [yN]: y Would you like to use existing provisioned service? [yN]: y The The following provisioned servicesavailable following provisioned services are are available 1: mysql1 1: mysql1 2: mysql-135e0 2: mysql-135e0 Please select one you wish to use:use: 1 Please select one you wish to 1 Binding Service [mysql1]: OK OK Binding Service [mysql1]: Uploading Application: Checking for available resources: OK Processing resources: OK Packing application: OK Uploading (12K): OK
  • 43. Binding a service to an application $ vmc bind-service mysql1 myapp Binding Service [mysql1]: OK Stopping Application 'myapp': OK Staging Application 'myapp': OK Starting Application 'myapp': OK $
  • 46. Uses MySQL and MongoDB @Entity public class Customer { Stored in MySQL @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String firstName; private String lastName; Stored in Mongo @RelatedDocument private SurveyInfo surveyInfo; public class SurveyInfo { public class Survey { private List<Survey> questionsAndAnswers = new ArrayList<Survey>(); String question; public List<Survey> getQuestionsAndAnswers() { String answer; return questionsAndAnswers; } 46
  • 47.
  • 48. Bindings exposed through VCAP_SERVICES environment variable { "mysql-5.1": [{ "name": "mysql1", "label": "mysql-5.1", "plan": "free", "tags": ["mysql", "mysql-5.1", "relational"], "credentials": { "name": "da81b57c25cca4c65929a223f0ed068a0", "host": "172.99.99.99", "port": 3306, "username": "secretusername", "password": "secretuserpassword" .... } }] } 48
  • 49. Accessing bound services - low-level var services = JSON.parse(process.env.VCAP_SERVICES); var creds = services['mysql-5.1'][0].credentials configure do services = JSON.parse(ENV['VCAP_SERVICES']) mysql_key = services.keys.select { |svc| svc =~ /mysql/i }.first mysql = services[mysql_key].first['credentials'] mysql_conf = {:host => mysql['hostname'], :port => mysql['port'], :username => mysql['user'], :password => mysql['password']} @@client = Mysql2::Client.new mysql_conf end 49
  • 50. Accessing bound services - high-level, Spring/Java CloudEnvironment environment = new CloudEnvironment(); RdbmsServiceInfo mysqlSvc = environment.getServiceInfo("mysqlService", RdbmsServiceInfo.class); RdbmsServiceCreator dataSourceCreator = new RdbmsServiceCreator(); DataSource dataSource = dataSourceCreator.createService(mysqlSvc); <cloud:data-source id="dataSource" service-name="mysql1"> <cloud:pool pool-size="1-5"/> <cloud:connection properties="charset=utf-8"/> </cloud:data-source> ... reconfigured automatically <bean id="dataSource" class="…"> … DataSource for MySQL instance … </bean> 50
  • 51. Accessing bound services - high-level, Ruby reconfigured automatically RedisHost = "127.0.0.1" RedisPort = 10000 $r = Redis.new(:host => RedisHost, :port => RedisPort) if !$r rewritten automatically production: adapter: sqlite3 database: db/production.sqlite3 51
  • 52. Recap…  Services : • SQL and NoSQL databases • Message broker • ...  Service Bindings • VCAP_SERVICES environment variable • JSON Format  Framework-dependent ways of accessing the bindings: • Parse JSON • ... • Spring, Sinatra and Rails have auto-reconfiguration 52
  • 53. Services are great but what if we want to Use database tools? Use the services from JUnit integration tests? 53
  • 54. Using Caldecott to tunnel into your services 54
  • 57.
  • 58. Running JUnit test with Caldecott Configure your test code to use port + connection info 58
  • 59. Summary 59
  • 60. Cloud Foundry is a remarkably easy way to deploy your applications 60
  • 61. Cloud Foundry = Choice 61
  • 62. .js Ap p Private   lica Data Services Clouds   'o e fac n  S ter erv r  In i ce ide Public  In ov Msg Services Clouds ter  Pr fac ud e Cl o Other Micro Services Clouds
  • 64. Thank You! t @CloudFoundry t @crichardson Website : www.cloudfoundry.com Blog : Blog.CloudFoundry.com