SlideShare une entreprise Scribd logo
1  sur  134
Télécharger pour lire hors ligne
Introduction to Cloud Foundry
for Spring & Java Developers

Eric BOTTARD
Developer Advocate
@ebottard / ebottard@vmware.com
Eric Bottard
  Developer Advocate • VMware


                t@ebottard
                Äericbottard
Cloud Stack - Classic Pyramid


                   Software
                  as a Service


             Platform as a Service



          Infrastructure as a Service
Cloud Foundry – The Open Platform as a Service

                      Target a choice of
                      deployment clouds




Provide a choice of                         Bind a choice of
   development                                application
   frameworks                                  services


                      github.com/cloudfoundry

                             CONFIDENTIAL
CloudFoundry.COM – Multi-Tenant PaaS Operated by
VMware
                     CloudFoundry.COM (beta)
    Frameworks



    Services




                         vCenter / vSphere


    Infrastructure
Micro Cloud FoundryTM – Cloud on a Stick
                         Micro Cloud Foundry

    Frameworks

    Services

                            Your Laptop/PC



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




                                CONFIDENTIAL
CloudFoundry.ORG – Community Open Source Project
                      CloudFoundry.ORG

           Community Frameworks Contributions

               Community Services Contributions

                        Your Infrastructure

    Download          Setup                 Tool Chain & Deploy Behind
      Code         Environment                Scripts      Firewall
                                               Cloud
                                               Foundry
                                               BOSH

          Apache2
          license

                             CONFIDENTIAL
CloudFoundry.ORG – Community Open Source Project


               github.com/cloudfoundry


§ .NET x 2                              §   Memcached
§ PHP                                   §   SQL Server
§ JRuby                                 §   Neo4j
§ Python                                §   CouchDB
§ Rails 2.x                             §   VirtualBox
§ Clojure                               §   Mono
§ Erlang                                §   Rack
§ Haskell


                       CONFIDENTIAL
Main Risk: Lock In
                        Welcome to the hotel california
                        Such a lovely place
                        Such a lovely face
                        Plenty of room at the hotel california
                        Any time of year, you can find it here


                        Last thing I remember, I was
                        Running for the door
                        I had to find the passage back
                        To the place I was before
                        ’relax,’ said the night man,
                        We are programmed to receive.
                        You can checkout any time you like,
                        But you can never leave!

                                                    -the Eagles

                     CONFIDENTIAL
Cloud Foundry - Making Multi-Cloud a Reality
  Private Cloud   Management and     Public Cloud
  Distributions     Deployment        Operators




                                           .COM




                      Bare metal




                      CONFIDENTIAL
Cloud Foundry: Clouds
         § AppFog.com
           • community lead for PHP
           • PaaS for PHP


         § Joyent
           • community lead for Node.js



         § ActiveState
           • community lead for Python, Perl
           • Providers of Stackato private PaaS




                             CONFIDENTIAL
Demos
VCAP_*
VCAP_APP_HOST = 192.168.1.13

VCAP_APP_PORT = 58121

VCAP_SERVICES =
{
  "redis-2.2": [
     {
       "name": "my-redis-service",
       "label": "redis-2.2",
       "plan": "free",
       "tags": [
          "key-value",
          "nosql",
          "redis-2.2",
          "redis"
       ],
       "credentials": {
          "hostname": "127.0.0.1",
          "host": "127.0.0.1",
          "port": 5000,
          "password": "ce7b483f-66d1-436d-8aa7-7c33a9ee31ac",
          "name": "e740add8-24ce-40f5-94ed-8a2623e0be57"
       }
     }
  ],
  "postgresql-9.0": [...]
}




                                                                13
Auto-reconfiguration
§ Works for Spring, Node, Ruby
§ Spring: Uses a BeanFactoryPostProcessor
   under the hood
   • adds a jar to your app
   • modifies web.xml to load the BFPP
   • also adds correct jdbc driver jar
§ Only works if no ambiguity (80% of apps)
 • One service of a kind




                           CONFIDENTIAL
Production Grade Cloud Foundry Clusters
§   500 – 5,000 VMs                                      cloudfoundry.com

§   40+ unique node types
§   75+ unique software packages
§   75+ unique environments
§   2x/week cf.com updates
§   24x7x365 non-stop operation
§   No-downtime deployments
§   Reliable, robust, repeatable
     deployments, updates, capacity
     adjustments
§ Small teams manage many
                                               production, staging, stress, qa, dev
     instances

Google style problem è                          Google style solution
                                      CONFIDENTIAL
Cloud Foundry BOSH
§ Cloud Foundry BOSH is an open source tool-chain for release
  engineering, deployment, and lifecycle management of large scale
  distributed services
  • Prescriptive way of creating releases and managing systems and services
  • It is not a collection of shell scripts, not a pile of Perl


§ Built to deploy and manage production-class, large scale clusters
  • Production grade Cloud Foundry clusters: 500+ VMs, 40+ jobs, 75+ packages
  • Multi-node, multi-tier, complex clusters: e.g., our Gerrit/Jenkins Cluster


§ Built for devops usage and scale by a crack team of veterans
  • A project, not a product: command line interface, YAML, etc.
  • Continuous improvement, iterative development, rough edges

github.com/cloudfoundry/bosh
                                          CONFIDENTIAL
Key Takeaways
§ PaaS is the application platform for the Cloud era
§ Cloud Foundry is the Industry’s Open PaaS
  • Developer agility
  • Portability without changes
  • Open system


§ What’s next?
  • Free Signup: www.cloudfoundry.com (use “cloudtoday” as a promocode)
  • Get started: docs.cloudfoundry.com/getting-started.html
  • Learn more on the blog: blog.cloudfoundry.com
  • Download your Micro Cloud Foundry: my.cloudfoundry.com/micro
  • Get the source code: www.cloudfoundry.org
  • Follow us: @cloudfoundry
  • Watch us: www.youtube.com/cloudfoundry
                                      CONFIDENTIAL
Cloud Best Practices
Eric BOTTARD
Developer Advocate
@ebottard / ebottard@vmware.com
Eric Bottard
  Developer Advocate • VMware


                t@ebottard
                Äericbottard
Agenda




10
         DOs &
         DON’Ts
          in the
         CLOUD
DISCLAIMER
CAPTAIN OBVIOUS! t-shirt available at threadless.com
Design by Nathan Stillie and Joshua Kemble
Http Traffic
        Latency Matters
Where’s the Data Center?
Where’s the Data Center?
LEARN
Lots of Literature
DIAGNOSE
Chrome Dev Tools
      YSlow
Google PageSpeed
FIX !
           Unique (e.g. hash) Paths
       Far Future Expires Header
                         Minification
                        CSS Sprites
                                CDN
Spring ResourceHandler Abstraction
       WRO4J / RoR Asset Pipeline
FileSystem
     Just pretend it’s not there
Is your File there? Is it Not?
Is your File there? Is it Not?
IT IS THERE
But...
IT’S EPHEMERAL
(disappears on restarts)
IT’S NOT SHARED
           Either
Use Some Persistent


STORAGE
Use Some Persistent


    STORAGE
• Mongo GridFS
Use Some Persistent


    STORAGE
• Mongo GridFS
• Database Blob
Use Some Persistent


    STORAGE
• Mongo GridFS
• Database Blob
• External Blob Service
State
It’s Better Not To Have It
Try to be


STATELESS
Try to be


STATELESS
• Horizontal Scaling
Try to be


STATELESS
• Horizontal Scaling
• High Availability
Try to be


STATELESS
• Horizontal Scaling
• High Availability
• Zero Downtime Deploy
The Usual Suspects
The Usual Suspects

6’6”

6’0”

5’6”

5’0”

4’6”

4’0”
The Usual Suspects

6’6”

6’0”

5’6”

5’0”

4’6”

4’0”
The Usual Suspects

6’6”

6’0”

5’6”

5’0”

4’6”

4’0”
The Usual Suspects

6’6”

6’0”

5’6”

5’0”

4’6”

4’0”
The Usual Suspects
IF there is state




PUSH TO CLIENT
(e.g. Cookie, HTML5 apps)
IF there is state




         USE CENTRAL SERVICE
              (e.g. Redis)
IF there is state




                    MAKE IT PER USER
                      + Sticky Sessions
Databases
   They Have A Right To Evolve Too
vmc tunnel (caldecott)
$ vmc tunnel

1: foobar-mq
2: foobar-pg
3: postgresql-handson-cf
Which service instance?> 3



1: none
2: psql
Which client would you like to start?> 2

Opening tunnel on port 10000...
HUMAN.EQUALS(ERROR)
(when they simply don’t forget)
YOUR CODE IS VERSIONED*
    Why isn’t your DB?




                     * It is, right?
DON’T ROLL YOUR OWN!
  (and beware of clusters)
Don’t Roll your Own!




   MIGRATIONS
Hotel California
           Better Stay Out of It
Main Risk: Lock In
                     Welcome to the hotel california
                     Such a lovely place
                     Such a lovely face
                     Plenty of room at the hotel california
                     Any time of year, you can find it here


                     Last thing I remember, I was
                     Running for the door
                     I had to find the passage back
                     To the place I was before
                     ’relax,’ said the night man,
                     We are programmed to receive.
                     You can checkout any time you like,
                     But you can never leave!

                                                 -the Eagles
Don’t Code to (any) Cloud!
Don’t Code to (any) Cloud!
§ Auto-Reconfiguration
Don’t Code to (any) Cloud!
§ Auto-Reconfiguration
§ For the Last 5%
 • Insulate your Code
 • Leverage Frameworks, e.g. Spring Profiles
                              <?xml version="1.0" encoding="UTF-8"?>
                        <beans xmlns="http://www.springframework.org/schema/beans"...>

                            <bean id="mongoTemplate"
                                         class="org.springframework.data.mongodb.core.MongoTemplate">
                        	         <constructor-arg ref="mongoDbFactory" />
                        	     </bean>

                        	     <beans profile="default">
                            	       <mongo:db-factory id="mongoDbFactory"
                                         dbname="test"
                                         host="127.0.0.1"
                                         port="27017"
                                         username="foo"
                                         password="bar" />
                        	     </beans>

                        	     <beans profile="cloud">
                            	       <cloud:mongo-db-factory id="mongoDbFactory"
                                 service-name="myBoundServiceName" />
                        	     </beans>
                        </beans>
Beware of Data!
Segregation
    All Environments Were Created Equal
Dev vs. Test vs. Staging vs. Prod
Traditional      Cloud
         Dev ≠ Staging
Machines                   Identical
            ≠ Prod
             Manual,
Process                   Automated
           inconsistent

 People    Dev ≠ Ops       Devops
Traditional      Cloud
         Dev ≠ Staging
Machines                   Identical
            ≠ Prod
             Manual,
Process                   Automated
           inconsistent

 People    Dev ≠ Ops       Devops
Traditional      Cloud
         Dev ≠ Staging
Machines                   Identical
            ≠ Prod
             Manual,
Process                   Automated
           inconsistent

 People    Dev ≠ Ops       Devops
Traditional      Cloud
         Dev ≠ Staging
Machines                   Identical
            ≠ Prod
             Manual,
Process                   Automated
           inconsistent

 People    Dev ≠ Ops       Devops
One app, Many deploys




      Code      Build



                        Deployment



                Config
One app, Many deploys


                                   of
                        ONE set
                                  les
                        deliverab
      Code      Build



                                        Deployment



                Config
One app, Many deploys


                                   of
                        ONE set
                                  les
                        deliverab
      Code      Build



                                        Deployment



                Config

                                ploys
                        MANY de
“   Environment Variables [...] unlike custom config
    files, or other config mechanisms such as Java
    System Properties, are a language- and OS-
    agnostic standard
        The Twelve Factor App, http://www.12factor.net
SOA
This time, it’s for real
Do your current apps look like this?




                       Tomcat



                        .war
 Browser   Apache                      MySQL
“   SOA is like Adam Sandler’s career:
    Do one thing, and do it well.
           Rob Spectre, Developer Evangelism,
                                       Twilio
Another way to look at it
cut -d" " -f1 < access.log | sort | uniq -c | sort -rn | less
Chances are they will soon look like this..
                                      Tomcat



                                      search.
                                        war




Desktop
Browser


                                       Tomcat



Native                                 users.
           Node.js    Message Bus       war       Mongo
Mobile
          Front End   e.g. RabbitMQ
 App




HTML5
Mobile
 App
                                        Tomcat



                                        orders.
                                          war     MySQL
Communication
SYNCH vs. ASYNCH
e.g. HTTP vs. AMQP
FORMAT
XML, JSON, PBuffers, Thrift
LOW TECH
Database + cron
When To Do It?
EARLY ON
YAGNI?
Slows Progress
NOW
Would be a Good Time
LATER ON
Now You Need It
Hard To Refactor
Spring Integration
§ Pipes & Filters Architecture
§ Promotes Loose Coupling
 • Handles the Plumbing for you
§ Declarative Model
§ Internal & External Messaging
Deploy
  Do It Early & Do It Often
CONTINUOUS INTEGRATION
Automatic builds, tests
CONTINUOUS DELIVERY
  CI + automatic deploy
IT’S OK
If it’s not PROD
Automate!
<build>
    <plugins>
         <plugin>
             <groupId>org.cloudfoundry</groupId>
             <artifactId>maven-cf-plugin</artifactId>
             <version>1.0.0.M4-SNAPSHOT</version>
             <configuration>
                  <server>mycloudfoundry-instance</server>
                  <target>http://api.cloudfoundry.com</target>
                  <appname>spring-integration-rocks</appname>
                  <url>spring-int-rocks.cloudfoundry.com</url>
                                                                 ⊕
                  <memory>1024</memory>
                  <services>
                      <service>
                          <name>mysql-test</name>
                          <vendor>mysql</vendor>
                      </service>
                      <service>
                          <name>mongodb-test</name>
                          <vendor>mongodb</vendor>
                      </service>
                  </services>
             </configuration>
         </plugin>
    </plugins>
</build>
Scale
  Your own Way
Every app is


DIFFERENT
Every app is


DIFFERENT
• CPU
Every app is


DIFFERENT
• CPU
• RAM
Every app is


DIFFERENT
• CPU
• RAM
• DISK
Every app is


DIFFERENT
• CPU
• RAM
• DISK
• Bugs
Write your own logic




                       http://www.sxc.hu/photo/1128191
Write your own logic
Use   system-level metrics




                             http://www.sxc.hu/photo/1128191
Write your own logic
Use   system-level metrics
$vmc stats myapp
instance   #0
  cpu         0.0%   of 2 cores
  memory      191.6M of 512M
  disk        15.0M of 2G




                                  http://www.sxc.hu/photo/1128191
Write your own logic
Use   system-level metrics
$vmc stats myapp
instance   #0
  cpu         0.0%   of 2 cores
  memory      191.6M of 512M
  disk        15.0M of 2G




                                                 as well as

                                  business-related
                                                              info
                                           http://www.sxc.hu/photo/1128191
Write your own logic
Use   Inter-process scaling
Write your own logic
Use   Inter-process scaling
$vmc scale myapp 
  --instances   3
  --memory      1G
Write your own logic
Use   Inter-process scaling
$vmc scale myapp 
  --instances   3
  --memory      1G




                                       as well as

                              intra-process
                                   (thread pools)
Upgrade
   With Zero Downtime
Blue/Green Deployment
Blue/Green Deployment
$vmc app awesome
  awesome: running
  platform: spring on java
  usage: 512M × 1 instance
  urls: awesome.cloudfoundry.com
  services: postgresql-db
Blue/Green Deployment
$vmc app awesome
  awesome: running
  platform: spring on java
  usage: 512M × 1 instance
  urls: awesome.cloudfoundry.com
  services: postgresql-db




                                   Version N   Version N




   Users     LB / Proxy
Blue/Green Deployment




                      Version N   Version N




 Users   LB / Proxy
Blue/Green Deployment
$vmc push --name awesome_v2 
          --url awesome_secret.cloudfoundry.com




                                Version N         Version N




   Users     LB / Proxy
Blue/Green Deployment
$vmc push --name awesome_v2 
          --url awesome_secret.cloudfoundry.com




                                Version N          Version N




   Users     LB / Proxy


                                Version N+1       Version N+1
Blue/Green Deployment




                      Version N      Version N




 Users   LB / Proxy


                      Version N+1   Version N+1
Blue/Green Deployment
$vmc unmpap awesome awesome.cloudfoundry.com
$vmc map awesome_v2 awesome.cloudfoundry.com




                                Version N       Version N




   Users     LB / Proxy


                                Version N+1    Version N+1
Blue/Green Deployment
$vmc unmpap awesome awesome.cloudfoundry.com
$vmc map awesome_v2 awesome.cloudfoundry.com




                                Version N       Version N




   Users     LB / Proxy


                                Version N+1    Version N+1
Blue/Green Deployment
$vmc unmpap awesome awesome.cloudfoundry.com
$vmc map awesome_v2 awesome.cloudfoundry.com




                                Version N       Version N




   Users     LB / Proxy


                                Version N+1    Version N+1
Variations



             Canary
             Release
Variations

1.Have some

 (privileged) population   Canary
 use N+1                   Release
Variations

1.Have some

 (privileged) population             Canary
 use N+1                             Release



                           2.then   roll out
Variations



               A|B
             Testing
Variations

1.Have some share of

 the population try      A|B
 a different version   Testing
Variations

1.Have some share of

 the population try      A|B
 a different version   Testing

2.then   decide
What about db
 changes?
BEFORE
Code @ Version N
Person
id
firstname
lastname
address
TRANSITION
Code @ Version N & N+1
Person        Address
id            id
firstname      person_id
lastname      street
address       zipcode
              city
              country
AFTER
     Code @ Version N+2
Person          Address
id              id
firstname        person_id
lastname        street
                zipcode
                city
                country
MIGRATIONS
Limit your Http      Traffic
     There is no File System

    Strive for Statelessness

Automate your DB Migrations

     Avoid Vendor Lock-in

     Treat all envs as Identical

It’s all about Loose Coupling

  Use Frequent Deployments

   Targeted and Custom Scaling

Upgrade with Zero Downtime
Thank You
  Eric Bottard
    Developer Advocate • VMware


                  t@ebottard
                  Äericbottard
          ebottard@vmware.com

Contenu connexe

Tendances

XPDS14: Xen and the Art of Certification - Nathan Studer & Robert VonVossen, ...
XPDS14: Xen and the Art of Certification - Nathan Studer & Robert VonVossen, ...XPDS14: Xen and the Art of Certification - Nathan Studer & Robert VonVossen, ...
XPDS14: Xen and the Art of Certification - Nathan Studer & Robert VonVossen, ...The Linux Foundation
 
Leveraging CentOS and Xen for the Go Daddy Private Cloud
Leveraging CentOS and Xen for the Go Daddy Private CloudLeveraging CentOS and Xen for the Go Daddy Private Cloud
Leveraging CentOS and Xen for the Go Daddy Private CloudThe Linux Foundation
 
Rails infrastructure
Rails infrastructureRails infrastructure
Rails infrastructurequreshiomar
 
Maven: from Scratch to Production (.pdf)
Maven: from Scratch to Production (.pdf)Maven: from Scratch to Production (.pdf)
Maven: from Scratch to Production (.pdf)Johan Mynhardt
 
Xen Orchestra: A new Web UI for XCP
Xen Orchestra: A new Web UI for XCPXen Orchestra: A new Web UI for XCP
Xen Orchestra: A new Web UI for XCPThe Linux Foundation
 
Andrija Panic - Ceph with CloudStack
Andrija Panic - Ceph with CloudStackAndrija Panic - Ceph with CloudStack
Andrija Panic - Ceph with CloudStackShapeBlue
 
Scaling Xen Within Rackspace Cloud Servers
Scaling Xen Within Rackspace Cloud ServersScaling Xen Within Rackspace Cloud Servers
Scaling Xen Within Rackspace Cloud ServersRackspace
 
Масштабируя TLS / Артём Гавриченков (Qrator Labs)
Масштабируя TLS / Артём Гавриченков (Qrator Labs)Масштабируя TLS / Артём Гавриченков (Qrator Labs)
Масштабируя TLS / Артём Гавриченков (Qrator Labs)Ontico
 
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkDeploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkAmazon Web Services
 
How I reshaped my lab environment
How I reshaped my lab environmentHow I reshaped my lab environment
How I reshaped my lab environmentsubtitle
 
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPLinuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPThe Linux Foundation
 
Xen Orchestra: XAPI and XenServer from the web-XPUS13 Lambert
Xen Orchestra: XAPI and XenServer from the web-XPUS13 LambertXen Orchestra: XAPI and XenServer from the web-XPUS13 Lambert
Xen Orchestra: XAPI and XenServer from the web-XPUS13 LambertThe Linux Foundation
 
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary sessionLinaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary sessionThe Linux Foundation
 
douban happyday docker for daeqaci
douban happyday docker for daeqacidouban happyday docker for daeqaci
douban happyday docker for daeqaciTianwei Liu
 
XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...
XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...
XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...The Linux Foundation
 
Enabling Limitless Connectivity, Opportunity and Growth with Interconnection ...
Enabling Limitless Connectivity, Opportunity and Growth with Interconnection ...Enabling Limitless Connectivity, Opportunity and Growth with Interconnection ...
Enabling Limitless Connectivity, Opportunity and Growth with Interconnection ...Sagi Brody
 
Xen: Hypervisor for the Cloud - CCC13
Xen: Hypervisor for the Cloud - CCC13Xen: Hypervisor for the Cloud - CCC13
Xen: Hypervisor for the Cloud - CCC13The Linux Foundation
 
Apache Cookbook - TekX Chicago 2010
Apache Cookbook - TekX Chicago 2010Apache Cookbook - TekX Chicago 2010
Apache Cookbook - TekX Chicago 2010Rich Bowen
 

Tendances (20)

XPDS14: Xen and the Art of Certification - Nathan Studer & Robert VonVossen, ...
XPDS14: Xen and the Art of Certification - Nathan Studer & Robert VonVossen, ...XPDS14: Xen and the Art of Certification - Nathan Studer & Robert VonVossen, ...
XPDS14: Xen and the Art of Certification - Nathan Studer & Robert VonVossen, ...
 
Leveraging CentOS and Xen for the Go Daddy Private Cloud
Leveraging CentOS and Xen for the Go Daddy Private CloudLeveraging CentOS and Xen for the Go Daddy Private Cloud
Leveraging CentOS and Xen for the Go Daddy Private Cloud
 
Rails infrastructure
Rails infrastructureRails infrastructure
Rails infrastructure
 
A32 Database Virtulization Technologies
A32 Database Virtulization TechnologiesA32 Database Virtulization Technologies
A32 Database Virtulization Technologies
 
Maven: from Scratch to Production (.pdf)
Maven: from Scratch to Production (.pdf)Maven: from Scratch to Production (.pdf)
Maven: from Scratch to Production (.pdf)
 
Xen Orchestra: A new Web UI for XCP
Xen Orchestra: A new Web UI for XCPXen Orchestra: A new Web UI for XCP
Xen Orchestra: A new Web UI for XCP
 
Aplura virtualization slides
Aplura virtualization slidesAplura virtualization slides
Aplura virtualization slides
 
Andrija Panic - Ceph with CloudStack
Andrija Panic - Ceph with CloudStackAndrija Panic - Ceph with CloudStack
Andrija Panic - Ceph with CloudStack
 
Scaling Xen Within Rackspace Cloud Servers
Scaling Xen Within Rackspace Cloud ServersScaling Xen Within Rackspace Cloud Servers
Scaling Xen Within Rackspace Cloud Servers
 
Масштабируя TLS / Артём Гавриченков (Qrator Labs)
Масштабируя TLS / Артём Гавриченков (Qrator Labs)Масштабируя TLS / Артём Гавриченков (Qrator Labs)
Масштабируя TLS / Артём Гавриченков (Qrator Labs)
 
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic BeanstalkDeploy, Scale and Manage your Application with AWS Elastic Beanstalk
Deploy, Scale and Manage your Application with AWS Elastic Beanstalk
 
How I reshaped my lab environment
How I reshaped my lab environmentHow I reshaped my lab environment
How I reshaped my lab environment
 
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCPLinuxcon EU : Virtualization in the Cloud featuring Xen and XCP
Linuxcon EU : Virtualization in the Cloud featuring Xen and XCP
 
Xen Orchestra: XAPI and XenServer from the web-XPUS13 Lambert
Xen Orchestra: XAPI and XenServer from the web-XPUS13 LambertXen Orchestra: XAPI and XenServer from the web-XPUS13 Lambert
Xen Orchestra: XAPI and XenServer from the web-XPUS13 Lambert
 
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary sessionLinaro Connect Asia 13 : Citrix - Xen on ARM plenary session
Linaro Connect Asia 13 : Citrix - Xen on ARM plenary session
 
douban happyday docker for daeqaci
douban happyday docker for daeqacidouban happyday docker for daeqaci
douban happyday docker for daeqaci
 
XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...
XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...
XPDDS19: A Journey to Mirage OS as Xen PVH - Marek Marczykowski-Górecki, Invi...
 
Enabling Limitless Connectivity, Opportunity and Growth with Interconnection ...
Enabling Limitless Connectivity, Opportunity and Growth with Interconnection ...Enabling Limitless Connectivity, Opportunity and Growth with Interconnection ...
Enabling Limitless Connectivity, Opportunity and Growth with Interconnection ...
 
Xen: Hypervisor for the Cloud - CCC13
Xen: Hypervisor for the Cloud - CCC13Xen: Hypervisor for the Cloud - CCC13
Xen: Hypervisor for the Cloud - CCC13
 
Apache Cookbook - TekX Chicago 2010
Apache Cookbook - TekX Chicago 2010Apache Cookbook - TekX Chicago 2010
Apache Cookbook - TekX Chicago 2010
 

En vedette

컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Dockerseungdon Choi
 
Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewCloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewAndy Piper
 
Cloud Foundry | How it works
Cloud Foundry | How it worksCloud Foundry | How it works
Cloud Foundry | How it worksKazuto Kusama
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep diveAnimesh Singh
 
Cloud foundry presentation
Cloud foundry presentation Cloud foundry presentation
Cloud foundry presentation Vivek Parihar
 
Pivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical OverviewPivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical OverviewVMware Tanzu
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)VMware Tanzu
 
Introduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud FoundryIntroduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud FoundryManuel Silveyra
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overviewcornelia davis
 
Microservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryMicroservices with Spring and Cloud Foundry
Microservices with Spring and Cloud Foundrymimacom
 
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2UCloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2USufyaan Kazi
 

En vedette (12)

An introduction to Cloud Foundry
An introduction to Cloud FoundryAn introduction to Cloud Foundry
An introduction to Cloud Foundry
 
컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker컨테이너 기술 소개 - Warden, Garden, Docker
컨테이너 기술 소개 - Warden, Garden, Docker
 
Cloud Foundry Introduction and Overview
Cloud Foundry Introduction and OverviewCloud Foundry Introduction and Overview
Cloud Foundry Introduction and Overview
 
Cloud Foundry | How it works
Cloud Foundry | How it worksCloud Foundry | How it works
Cloud Foundry | How it works
 
Cloud foundry architecture and deep dive
Cloud foundry architecture and deep diveCloud foundry architecture and deep dive
Cloud foundry architecture and deep dive
 
Cloud foundry presentation
Cloud foundry presentation Cloud foundry presentation
Cloud foundry presentation
 
Pivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical OverviewPivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical Overview
 
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
Cloud Foundry Compared With Other PaaSes (Cloud Foundry Summit 2014)
 
Introduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud FoundryIntroduction to Platform-as-a-Service and Cloud Foundry
Introduction to Platform-as-a-Service and Cloud Foundry
 
Cloud Foundry Technical Overview
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
 
Microservices with Spring and Cloud Foundry
Microservices with Spring and Cloud FoundryMicroservices with Spring and Cloud Foundry
Microservices with Spring and Cloud Foundry
 
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2UCloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
Cloud Foundry vs Docker vs Kubernetes - http://bit.ly/2rzUM2U
 

Similaire à LyonJUG - Combo - Quick Cloud Foundry Intro + Cloud Best Practices

Cf intro for spring devs
Cf intro for spring devsCf intro for spring devs
Cf intro for spring devsEric Bottard
 
The Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - EuropeThe Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - EuropeJoshua Long
 
DevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsDevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsForgeRock
 
Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel RidingChristian Posta
 
20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfesYohei Sasaki
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesAdrian Cockcroft
 
DNN & The CloudOS: Windows Azure on your terms
DNN & The CloudOS: Windows Azure on your termsDNN & The CloudOS: Windows Azure on your terms
DNN & The CloudOS: Windows Azure on your termsJess Coburn
 
Docker Orchestration: Welcome to the Jungle! JavaOne 2015
Docker Orchestration: Welcome to the Jungle! JavaOne 2015Docker Orchestration: Welcome to the Jungle! JavaOne 2015
Docker Orchestration: Welcome to the Jungle! JavaOne 2015Patrick Chanezon
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSAmazon Web Services
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for DevelopmentChris Tankersley
 
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Patrick Chanezon
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsCameron Dutro
 
Making Sense Out of Amazon EC2 Container Service
Making Sense Out of Amazon EC2 Container ServiceMaking Sense Out of Amazon EC2 Container Service
Making Sense Out of Amazon EC2 Container ServiceSwapnil Dahiphale
 
Cloud Best Practices
Cloud Best PracticesCloud Best Practices
Cloud Best PracticesEric Bottard
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Patrick Chanezon
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...NETWAYS
 

Similaire à LyonJUG - Combo - Quick Cloud Foundry Intro + Cloud Best Practices (20)

Cf intro for spring devs
Cf intro for spring devsCf intro for spring devs
Cf intro for spring devs
 
The Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - EuropeThe Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
The Cloud Foundry bootcamp talk from SpringOne On The Road - Europe
 
DevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed DeploymentsDevOps Unleashed: Strategies that Speed Deployments
DevOps Unleashed: Strategies that Speed Deployments
 
Cloud Native Camel Riding
Cloud Native Camel RidingCloud Native Camel Riding
Cloud Native Camel Riding
 
Cloud Foundry Overview
Cloud Foundry OverviewCloud Foundry Overview
Cloud Foundry Overview
 
20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes20120317 CloudFoundry #pyfes
20120317 CloudFoundry #pyfes
 
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with NotesYow Conference Dec 2013 Netflix Workshop Slides with Notes
Yow Conference Dec 2013 Netflix Workshop Slides with Notes
 
DNN & The CloudOS: Windows Azure on your terms
DNN & The CloudOS: Windows Azure on your termsDNN & The CloudOS: Windows Azure on your terms
DNN & The CloudOS: Windows Azure on your terms
 
Docker Orchestration: Welcome to the Jungle! JavaOne 2015
Docker Orchestration: Welcome to the Jungle! JavaOne 2015Docker Orchestration: Welcome to the Jungle! JavaOne 2015
Docker Orchestration: Welcome to the Jungle! JavaOne 2015
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Docker-Intro
Docker-IntroDocker-Intro
Docker-Intro
 
Killer Docker Workflows for Development
Killer Docker Workflows for DevelopmentKiller Docker Workflows for Development
Killer Docker Workflows for Development
 
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
VMworld 2015: Build and Run Cloud Native Apps in your Software Defined Data C...
 
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
Docker Orchestration: Welcome to the Jungle! Devoxx & Docker Meetup Tour Nov ...
 
Kuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails AppsKuby, ActiveDeployment for Rails Apps
Kuby, ActiveDeployment for Rails Apps
 
Making Sense Out of Amazon EC2 Container Service
Making Sense Out of Amazon EC2 Container ServiceMaking Sense Out of Amazon EC2 Container Service
Making Sense Out of Amazon EC2 Container Service
 
Cloud Best Practices
Cloud Best PracticesCloud Best Practices
Cloud Best Practices
 
OpenStack Summit
OpenStack SummitOpenStack Summit
OpenStack Summit
 
Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015Docker Platform and Ecosystem Nov 2015
Docker Platform and Ecosystem Nov 2015
 
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
stackconf 2020 | Replace your Docker based Containers with Cri-o Kata Contain...
 

Dernier

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Dernier (20)

How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

LyonJUG - Combo - Quick Cloud Foundry Intro + Cloud Best Practices

  • 1. Introduction to Cloud Foundry for Spring & Java Developers Eric BOTTARD Developer Advocate @ebottard / ebottard@vmware.com
  • 2. Eric Bottard Developer Advocate • VMware t@ebottard Äericbottard
  • 3. Cloud Stack - Classic Pyramid Software as a Service Platform as a Service Infrastructure as a Service
  • 4. Cloud Foundry – The Open Platform as a Service Target a choice of deployment clouds Provide a choice of Bind a choice of development application frameworks services github.com/cloudfoundry CONFIDENTIAL
  • 5. CloudFoundry.COM – Multi-Tenant PaaS Operated by VMware CloudFoundry.COM (beta) Frameworks Services vCenter / vSphere Infrastructure
  • 6. Micro Cloud FoundryTM – Cloud on a Stick Micro Cloud Foundry Frameworks Services Your Laptop/PC Single VM instance of Cloud Foundry that runs on a developer’s MAC or PC CONFIDENTIAL
  • 7. CloudFoundry.ORG – Community Open Source Project CloudFoundry.ORG Community Frameworks Contributions Community Services Contributions Your Infrastructure Download Setup Tool Chain & Deploy Behind Code Environment Scripts Firewall Cloud Foundry BOSH Apache2 license CONFIDENTIAL
  • 8. CloudFoundry.ORG – Community Open Source Project github.com/cloudfoundry § .NET x 2 § Memcached § PHP § SQL Server § JRuby § Neo4j § Python § CouchDB § Rails 2.x § VirtualBox § Clojure § Mono § Erlang § Rack § Haskell CONFIDENTIAL
  • 9. Main Risk: Lock In Welcome to the hotel california Such a lovely place Such a lovely face Plenty of room at the hotel california Any time of year, you can find it here Last thing I remember, I was Running for the door I had to find the passage back To the place I was before ’relax,’ said the night man, We are programmed to receive. You can checkout any time you like, But you can never leave! -the Eagles CONFIDENTIAL
  • 10. Cloud Foundry - Making Multi-Cloud a Reality Private Cloud Management and Public Cloud Distributions Deployment Operators .COM Bare metal CONFIDENTIAL
  • 11. Cloud Foundry: Clouds § AppFog.com • community lead for PHP • PaaS for PHP § Joyent • community lead for Node.js § ActiveState • community lead for Python, Perl • Providers of Stackato private PaaS CONFIDENTIAL
  • 12. Demos
  • 13. VCAP_* VCAP_APP_HOST = 192.168.1.13 VCAP_APP_PORT = 58121 VCAP_SERVICES = { "redis-2.2": [ { "name": "my-redis-service", "label": "redis-2.2", "plan": "free", "tags": [ "key-value", "nosql", "redis-2.2", "redis" ], "credentials": { "hostname": "127.0.0.1", "host": "127.0.0.1", "port": 5000, "password": "ce7b483f-66d1-436d-8aa7-7c33a9ee31ac", "name": "e740add8-24ce-40f5-94ed-8a2623e0be57" } } ], "postgresql-9.0": [...] } 13
  • 14. Auto-reconfiguration § Works for Spring, Node, Ruby § Spring: Uses a BeanFactoryPostProcessor under the hood • adds a jar to your app • modifies web.xml to load the BFPP • also adds correct jdbc driver jar § Only works if no ambiguity (80% of apps) • One service of a kind CONFIDENTIAL
  • 15. Production Grade Cloud Foundry Clusters § 500 – 5,000 VMs cloudfoundry.com § 40+ unique node types § 75+ unique software packages § 75+ unique environments § 2x/week cf.com updates § 24x7x365 non-stop operation § No-downtime deployments § Reliable, robust, repeatable deployments, updates, capacity adjustments § Small teams manage many production, staging, stress, qa, dev instances Google style problem è Google style solution CONFIDENTIAL
  • 16. Cloud Foundry BOSH § Cloud Foundry BOSH is an open source tool-chain for release engineering, deployment, and lifecycle management of large scale distributed services • Prescriptive way of creating releases and managing systems and services • It is not a collection of shell scripts, not a pile of Perl § Built to deploy and manage production-class, large scale clusters • Production grade Cloud Foundry clusters: 500+ VMs, 40+ jobs, 75+ packages • Multi-node, multi-tier, complex clusters: e.g., our Gerrit/Jenkins Cluster § Built for devops usage and scale by a crack team of veterans • A project, not a product: command line interface, YAML, etc. • Continuous improvement, iterative development, rough edges github.com/cloudfoundry/bosh CONFIDENTIAL
  • 17. Key Takeaways § PaaS is the application platform for the Cloud era § Cloud Foundry is the Industry’s Open PaaS • Developer agility • Portability without changes • Open system § What’s next? • Free Signup: www.cloudfoundry.com (use “cloudtoday” as a promocode) • Get started: docs.cloudfoundry.com/getting-started.html • Learn more on the blog: blog.cloudfoundry.com • Download your Micro Cloud Foundry: my.cloudfoundry.com/micro • Get the source code: www.cloudfoundry.org • Follow us: @cloudfoundry • Watch us: www.youtube.com/cloudfoundry CONFIDENTIAL
  • 18. Cloud Best Practices Eric BOTTARD Developer Advocate @ebottard / ebottard@vmware.com
  • 19. Eric Bottard Developer Advocate • VMware t@ebottard Äericbottard
  • 20. Agenda 10 DOs & DON’Ts in the CLOUD
  • 22. CAPTAIN OBVIOUS! t-shirt available at threadless.com Design by Nathan Stillie and Joshua Kemble
  • 23.
  • 24. Http Traffic Latency Matters
  • 28. DIAGNOSE Chrome Dev Tools YSlow Google PageSpeed
  • 29. FIX ! Unique (e.g. hash) Paths Far Future Expires Header Minification CSS Sprites CDN Spring ResourceHandler Abstraction WRO4J / RoR Asset Pipeline
  • 30. FileSystem Just pretend it’s not there
  • 31. Is your File there? Is it Not?
  • 32. Is your File there? Is it Not?
  • 37. Use Some Persistent STORAGE • Mongo GridFS
  • 38. Use Some Persistent STORAGE • Mongo GridFS • Database Blob
  • 39. Use Some Persistent STORAGE • Mongo GridFS • Database Blob • External Blob Service
  • 42. Try to be STATELESS • Horizontal Scaling
  • 43. Try to be STATELESS • Horizontal Scaling • High Availability
  • 44. Try to be STATELESS • Horizontal Scaling • High Availability • Zero Downtime Deploy
  • 51. IF there is state PUSH TO CLIENT (e.g. Cookie, HTML5 apps)
  • 52. IF there is state USE CENTRAL SERVICE (e.g. Redis)
  • 53. IF there is state MAKE IT PER USER + Sticky Sessions
  • 54. Databases They Have A Right To Evolve Too
  • 55. vmc tunnel (caldecott) $ vmc tunnel 1: foobar-mq 2: foobar-pg 3: postgresql-handson-cf Which service instance?> 3 1: none 2: psql Which client would you like to start?> 2 Opening tunnel on port 10000...
  • 57. YOUR CODE IS VERSIONED* Why isn’t your DB? * It is, right?
  • 58. DON’T ROLL YOUR OWN! (and beware of clusters)
  • 59. Don’t Roll your Own! MIGRATIONS
  • 60. Hotel California Better Stay Out of It
  • 61. Main Risk: Lock In Welcome to the hotel california Such a lovely place Such a lovely face Plenty of room at the hotel california Any time of year, you can find it here Last thing I remember, I was Running for the door I had to find the passage back To the place I was before ’relax,’ said the night man, We are programmed to receive. You can checkout any time you like, But you can never leave! -the Eagles
  • 62. Don’t Code to (any) Cloud!
  • 63. Don’t Code to (any) Cloud! § Auto-Reconfiguration
  • 64. Don’t Code to (any) Cloud! § Auto-Reconfiguration § For the Last 5% • Insulate your Code • Leverage Frameworks, e.g. Spring Profiles <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"...> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg ref="mongoDbFactory" /> </bean> <beans profile="default"> <mongo:db-factory id="mongoDbFactory" dbname="test" host="127.0.0.1" port="27017" username="foo" password="bar" /> </beans> <beans profile="cloud"> <cloud:mongo-db-factory id="mongoDbFactory" service-name="myBoundServiceName" /> </beans> </beans>
  • 66. Segregation All Environments Were Created Equal
  • 67. Dev vs. Test vs. Staging vs. Prod
  • 68.
  • 69. Traditional Cloud Dev ≠ Staging Machines Identical ≠ Prod Manual, Process Automated inconsistent People Dev ≠ Ops Devops
  • 70. Traditional Cloud Dev ≠ Staging Machines Identical ≠ Prod Manual, Process Automated inconsistent People Dev ≠ Ops Devops
  • 71. Traditional Cloud Dev ≠ Staging Machines Identical ≠ Prod Manual, Process Automated inconsistent People Dev ≠ Ops Devops
  • 72. Traditional Cloud Dev ≠ Staging Machines Identical ≠ Prod Manual, Process Automated inconsistent People Dev ≠ Ops Devops
  • 73. One app, Many deploys Code Build Deployment Config
  • 74. One app, Many deploys of ONE set les deliverab Code Build Deployment Config
  • 75. One app, Many deploys of ONE set les deliverab Code Build Deployment Config ploys MANY de
  • 76. Environment Variables [...] unlike custom config files, or other config mechanisms such as Java System Properties, are a language- and OS- agnostic standard The Twelve Factor App, http://www.12factor.net
  • 78. Do your current apps look like this? Tomcat .war Browser Apache MySQL
  • 79.
  • 80. SOA is like Adam Sandler’s career: Do one thing, and do it well. Rob Spectre, Developer Evangelism, Twilio
  • 81. Another way to look at it cut -d" " -f1 < access.log | sort | uniq -c | sort -rn | less
  • 82. Chances are they will soon look like this.. Tomcat search. war Desktop Browser Tomcat Native users. Node.js Message Bus war Mongo Mobile Front End e.g. RabbitMQ App HTML5 Mobile App Tomcat orders. war MySQL
  • 84. SYNCH vs. ASYNCH e.g. HTTP vs. AMQP
  • 87. When To Do It?
  • 89. NOW Would be a Good Time
  • 90. LATER ON Now You Need It Hard To Refactor
  • 91. Spring Integration § Pipes & Filters Architecture § Promotes Loose Coupling • Handles the Plumbing for you § Declarative Model § Internal & External Messaging
  • 92. Deploy Do It Early & Do It Often
  • 93.
  • 95. CONTINUOUS DELIVERY CI + automatic deploy
  • 97. Automate! <build> <plugins> <plugin> <groupId>org.cloudfoundry</groupId> <artifactId>maven-cf-plugin</artifactId> <version>1.0.0.M4-SNAPSHOT</version> <configuration> <server>mycloudfoundry-instance</server> <target>http://api.cloudfoundry.com</target> <appname>spring-integration-rocks</appname> <url>spring-int-rocks.cloudfoundry.com</url> ⊕ <memory>1024</memory> <services> <service> <name>mysql-test</name> <vendor>mysql</vendor> </service> <service> <name>mongodb-test</name> <vendor>mongodb</vendor> </service> </services> </configuration> </plugin> </plugins> </build>
  • 98. Scale Your own Way
  • 102. Every app is DIFFERENT • CPU • RAM • DISK
  • 103. Every app is DIFFERENT • CPU • RAM • DISK • Bugs
  • 104. Write your own logic http://www.sxc.hu/photo/1128191
  • 105. Write your own logic Use system-level metrics http://www.sxc.hu/photo/1128191
  • 106. Write your own logic Use system-level metrics $vmc stats myapp instance #0 cpu 0.0% of 2 cores memory 191.6M of 512M disk 15.0M of 2G http://www.sxc.hu/photo/1128191
  • 107. Write your own logic Use system-level metrics $vmc stats myapp instance #0 cpu 0.0% of 2 cores memory 191.6M of 512M disk 15.0M of 2G as well as business-related info http://www.sxc.hu/photo/1128191
  • 108. Write your own logic Use Inter-process scaling
  • 109. Write your own logic Use Inter-process scaling $vmc scale myapp --instances 3 --memory 1G
  • 110. Write your own logic Use Inter-process scaling $vmc scale myapp --instances 3 --memory 1G as well as intra-process (thread pools)
  • 111. Upgrade With Zero Downtime
  • 113. Blue/Green Deployment $vmc app awesome awesome: running platform: spring on java usage: 512M × 1 instance urls: awesome.cloudfoundry.com services: postgresql-db
  • 114. Blue/Green Deployment $vmc app awesome awesome: running platform: spring on java usage: 512M × 1 instance urls: awesome.cloudfoundry.com services: postgresql-db Version N Version N Users LB / Proxy
  • 115. Blue/Green Deployment Version N Version N Users LB / Proxy
  • 116. Blue/Green Deployment $vmc push --name awesome_v2 --url awesome_secret.cloudfoundry.com Version N Version N Users LB / Proxy
  • 117. Blue/Green Deployment $vmc push --name awesome_v2 --url awesome_secret.cloudfoundry.com Version N Version N Users LB / Proxy Version N+1 Version N+1
  • 118. Blue/Green Deployment Version N Version N Users LB / Proxy Version N+1 Version N+1
  • 119. Blue/Green Deployment $vmc unmpap awesome awesome.cloudfoundry.com $vmc map awesome_v2 awesome.cloudfoundry.com Version N Version N Users LB / Proxy Version N+1 Version N+1
  • 120. Blue/Green Deployment $vmc unmpap awesome awesome.cloudfoundry.com $vmc map awesome_v2 awesome.cloudfoundry.com Version N Version N Users LB / Proxy Version N+1 Version N+1
  • 121. Blue/Green Deployment $vmc unmpap awesome awesome.cloudfoundry.com $vmc map awesome_v2 awesome.cloudfoundry.com Version N Version N Users LB / Proxy Version N+1 Version N+1
  • 122. Variations Canary Release
  • 123. Variations 1.Have some (privileged) population Canary use N+1 Release
  • 124. Variations 1.Have some (privileged) population Canary use N+1 Release 2.then roll out
  • 125. Variations A|B Testing
  • 126. Variations 1.Have some share of the population try A|B a different version Testing
  • 127. Variations 1.Have some share of the population try A|B a different version Testing 2.then decide
  • 128. What about db changes?
  • 129. BEFORE Code @ Version N Person id firstname lastname address
  • 130. TRANSITION Code @ Version N & N+1 Person Address id id firstname person_id lastname street address zipcode city country
  • 131. AFTER Code @ Version N+2 Person Address id id firstname person_id lastname street zipcode city country
  • 133. Limit your Http Traffic There is no File System Strive for Statelessness Automate your DB Migrations Avoid Vendor Lock-in Treat all envs as Identical It’s all about Loose Coupling Use Frequent Deployments Targeted and Custom Scaling Upgrade with Zero Downtime
  • 134. Thank You Eric Bottard Developer Advocate • VMware t@ebottard Äericbottard ebottard@vmware.com