Drupal in the Cloud
PHPDay 2010 - Social tag #phpday2010
Chi siamo?
Chi siamo?
                  Stefano Mainardi,
             sviluppatore PHP, CEO di
              Twinbit e fondatore del
              network italiano ILDN

              Piacere di conoscervi!

                stefano@twinbit.it

             twitter : stefanomainardi
Chi siamo?
 Paolo Mainardi, sviluppatore
    PHP, CTO di Twinbit e                          Stefano Mainardi,
fondatore del network italiano                sviluppatore PHP, CEO di
            ILDN                               Twinbit e fondatore del
                                               network italiano ILDN
    Piacere di conoscervi!
                                               Piacere di conoscervi!
      paolo@twinbit.it
                                                 stefano@twinbit.it
   twitter : paolomainardi
                                              twitter : stefanomainardi
Chi siamo?
 Paolo Mainardi, sviluppatore
    PHP, CTO di Twinbit e                                           Stefano Mainardi,
fondatore del network italiano                                 sviluppatore PHP, CEO di
            ILDN                                                Twinbit e fondatore del
                                                                network italiano ILDN
    Piacere di conoscervi!
                                                                   Piacere di conoscervi!
      paolo@twinbit.it
                                                                    stefano@twinbit.it
   twitter : paolomainardi
                                                               twitter : stefanomainardi

                                    Piacere, io sono Drupal! :-)
Quanti di voi utilizzano Drupal?
Cos’è il cloud?
Con cloud computing si intende un insieme di tecnologie
informatiche che permettono l'utilizzo di risorse hardware
     (storage, CPU) o software distribuite in remoto.
                         from Wikipedia
Quali sono i benefici del Cloud?


                       On Demand
    Quando ho bisogno di capacità di calcolo (CPU), o di capacità
infrastrutturale (Storage), la posso chiedere al volo senza necessità
                         di fare previsioni
Quali sono i benefici del Cloud?


                         Flessibilità
Posso gestire le risorse verso l'alto aumentandole, oppure diminuirle
            rilasciandole quando non ne ho più bisogno.

       Questo si traduce in un abbattimento dei costi
Quali sono i benefici del Cloud?


                                       API
Ovvero una interfaccia, un modo di comunicare, generico, che permette a qualsiasi
 parte, a qualsiasi pezzo della mia infrastruttura, di dialogare, oppure ad esterni di
dialogare con la mia infrastruttura, senza dover necessariamente sapere i dettagli di
                  come è implementato quel singolo componente.
Quali sono gli svantaggi del Cloud?
Le performance non sono
sempre come ce le aspettiamo
Le performance non sono
 sempre come ce le aspettiamo

Le nostre applicazioni devono essere
 progettate per lavorare sulla Cloud
Le performance non sono
 sempre come ce le aspettiamo

Le nostre applicazioni devono essere
 progettate per lavorare sulla Cloud

 Non sappiamo fisicamente dove si
  trovano i nostri dati (privacy?)
Casi di successo




      PaaS
Casi di successo




      PaaS
Casi di successo




       IaaS
Casi di successo




       IaaS
Casi di successo




  Soluzioni Governative
Le infrastrutture non sono più un valore,
            sono un costo
Cosa possiamo fare con Drupal ?
Data Storage - CDN
Cloud DBMS
Cloud Computing
Data Storage
Data Storage - Amazon S3

           Media Mover

http://drupal.org/project/media_mover
Data Storage - Amazon S3

           Amazon_S3

http://drupal.org/project/amazon_s3
Data Storage - Amazon S3
         Media Mover
                 • Harvest
       CCK, Uploaded Files, FTP, Email

   Amazon S3 Storage natively supported.

            Pluggable API - DIY
Data Storage - Amazon S3
      Media Mover
          •     Harvest
          •    Processing

           Media Conversion
              Compression
              Transcoding
   External Processing Server (Cloud)

          Pluggable API - DIY
Data Storage - Amazon S3
      Media Mover
            •     Harvest
            •    Processing
            •     Storage

         Drupal file management
  Media Provider - Youtube, BlipTV, Vimeo

  Amazon S3 Storage natively supported.


            Pluggable API - DIY
Data Storage - Amazon S3
           amazon_s3

•        Administrative interface to S3
Data Storage - Amazon S3
           amazon_s3
•        Administrative interface to S3
•            CRUD Operations
Data Storage - Amazon S3
            amazon_s3
•         Administrative interface to S3
•             CRUD Operations
•       S3 ACL Support - Bucket and File
Data Storage - Amazon S3
                        amazon_s3
•                      Administrative interface to S3
•                          CRUD Operations
•                   S3 ACL Support - Bucket and File
•   Only API Methods - No integration with native Drupal File Magement
Data Storage - Generic API
                                     Storage API
                        http://drupal.org/project/storage_api



“Storage API is a framework for enterprise-level file storage and serving / streaming.”
Data Storage - Generic API
                             Storage API
           http://drupal.org/project/storage_api



•     Pluggable architecture - it can be extended to work with any CDN.
Data Storage - Generic API
                                                     Storage API
                                   http://drupal.org/project/storage_api


•                            Pluggable architecture - it can be extended to work with any CDN.
•   Redundancy - it can be configured to store your files in multiple CDNs and instantaneously change which one is serving.
Data Storage - Generic API
                                                     Storage API
                                   http://drupal.org/project/storage_api


•                            Pluggable architecture - it can be extended to work with any CDN.
•   Redundancy - it can be configured to store your files in multiple CDNs and instantaneously change which one is serving.
•                               Access control API, Containers implemented as modules
Data Storage - Generic API
                                                     Storage API
                                   http://drupal.org/project/storage_api


•                            Pluggable architecture - it can be extended to work with any CDN.
•   Redundancy - it can be configured to store your files in multiple CDNs and instantaneously change which one is serving.
•                                             Access control API, Containers




              Amazon S3/Cloudfront
              Also supports media streaming
Data Storage - Generic API
                                                     Storage API
                                   http://drupal.org/project/storage_api


•                            Pluggable architecture - it can be extended to work with any CDN.
•   Redundancy - it can be configured to store your files in multiple CDNs and instantaneously change which one is serving.
•                               Access control API, Containers implemented as modules




              Amazon S3/Cloudfront
              Also supports media streaming
Data Storage - Generic API
    CDN - http://drupal.org/project/cdn

    Supports only "Origin Pull" CDNs

         •        Akamai
         •     SimpleCDN
         •       CacheFly
         •     PantherCDN
         •     And so on....
Data Storage - Generic API
              CDN - http://drupal.org/project/cdn




In Drupal 6 to function properly require to patching the core....
Data Storage - Generic API
              CDN - http://drupal.org/project/cdn



In Drupal 6 to function properly require to patching the core....

  In Drupal 7 CDN will be supported by core.
Data Storage - Generic API
              CDN - http://drupal.org/project/cdn



In Drupal 6 to function properly require to patching the core....

  In Drupal 7 CDN will be supported by core.
            Implementation of PHP Stream wrapper
                         cloudfront://image.jpg
                             s3://image.jpg
Data Storage - Generic API
              CDN - http://drupal.org/project/cdn



In Drupal 6 to function properly require to patching the core....

  In Drupal 7 CDN will be supported by core.
            Implementation of PHP Stream wrapper
                         cloudfront://image.jpg
                             s3://image.jpg
                                                  COOL !!
DBMS on the Cloud
        DBMS Cloud Services

Mysql                         PostgreSQL


         RDS
DBMS on the Cloud

      No supports for Mysql Replication in D6
          Poorly optimized Mysql Query


Drupal 7 gains a new Database Astraction Layer, with a
                   lot of cool stuff.
DBMS on the Cloud
DBMS on the Cloud



• Highly optimized for Mysql, removed support for other DBMS
•           Mysql Replication - In use on Drupal.org
•     Support for Squid and Varnish reverse proxy caching
•     Optimization for PHP5 (Removed support for PHP4)
Cloud Computing
The Mercury Stack
Cloud Computing
That’s all folks :-)
Questions?
Rimaniamo in contatto!


Stefano Mainardi            Paolo Mainardi
  stefano@twinbit.it          paolo@twinbit.it
twitter : stefanomainardi   twitter : paolomainardi
Grazie!

Drupal in the Cloud

  • 1.
    Drupal in theCloud PHPDay 2010 - Social tag #phpday2010
  • 2.
  • 3.
    Chi siamo? Stefano Mainardi, sviluppatore PHP, CEO di Twinbit e fondatore del network italiano ILDN Piacere di conoscervi! stefano@twinbit.it twitter : stefanomainardi
  • 4.
    Chi siamo? PaoloMainardi, sviluppatore PHP, CTO di Twinbit e Stefano Mainardi, fondatore del network italiano sviluppatore PHP, CEO di ILDN Twinbit e fondatore del network italiano ILDN Piacere di conoscervi! Piacere di conoscervi! paolo@twinbit.it stefano@twinbit.it twitter : paolomainardi twitter : stefanomainardi
  • 5.
    Chi siamo? PaoloMainardi, sviluppatore PHP, CTO di Twinbit e Stefano Mainardi, fondatore del network italiano sviluppatore PHP, CEO di ILDN Twinbit e fondatore del network italiano ILDN Piacere di conoscervi! Piacere di conoscervi! paolo@twinbit.it stefano@twinbit.it twitter : paolomainardi twitter : stefanomainardi Piacere, io sono Drupal! :-)
  • 6.
    Quanti di voiutilizzano Drupal?
  • 7.
  • 9.
    Con cloud computingsi intende un insieme di tecnologie informatiche che permettono l'utilizzo di risorse hardware (storage, CPU) o software distribuite in remoto. from Wikipedia
  • 10.
    Quali sono ibenefici del Cloud? On Demand Quando ho bisogno di capacità di calcolo (CPU), o di capacità infrastrutturale (Storage), la posso chiedere al volo senza necessità di fare previsioni
  • 11.
    Quali sono ibenefici del Cloud? Flessibilità Posso gestire le risorse verso l'alto aumentandole, oppure diminuirle rilasciandole quando non ne ho più bisogno. Questo si traduce in un abbattimento dei costi
  • 12.
    Quali sono ibenefici del Cloud? API Ovvero una interfaccia, un modo di comunicare, generico, che permette a qualsiasi parte, a qualsiasi pezzo della mia infrastruttura, di dialogare, oppure ad esterni di dialogare con la mia infrastruttura, senza dover necessariamente sapere i dettagli di come è implementato quel singolo componente.
  • 13.
    Quali sono glisvantaggi del Cloud?
  • 15.
    Le performance nonsono sempre come ce le aspettiamo
  • 16.
    Le performance nonsono sempre come ce le aspettiamo Le nostre applicazioni devono essere progettate per lavorare sulla Cloud
  • 17.
    Le performance nonsono sempre come ce le aspettiamo Le nostre applicazioni devono essere progettate per lavorare sulla Cloud Non sappiamo fisicamente dove si trovano i nostri dati (privacy?)
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
    Casi di successo Soluzioni Governative
  • 23.
    Le infrastrutture nonsono più un valore, sono un costo
  • 24.
    Cosa possiamo farecon Drupal ?
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
    Data Storage -Amazon S3 Media Mover http://drupal.org/project/media_mover
  • 30.
    Data Storage -Amazon S3 Amazon_S3 http://drupal.org/project/amazon_s3
  • 31.
    Data Storage -Amazon S3 Media Mover • Harvest CCK, Uploaded Files, FTP, Email Amazon S3 Storage natively supported. Pluggable API - DIY
  • 32.
    Data Storage -Amazon S3 Media Mover • Harvest • Processing Media Conversion Compression Transcoding External Processing Server (Cloud) Pluggable API - DIY
  • 33.
    Data Storage -Amazon S3 Media Mover • Harvest • Processing • Storage Drupal file management Media Provider - Youtube, BlipTV, Vimeo Amazon S3 Storage natively supported. Pluggable API - DIY
  • 34.
    Data Storage -Amazon S3 amazon_s3 • Administrative interface to S3
  • 35.
    Data Storage -Amazon S3 amazon_s3 • Administrative interface to S3 • CRUD Operations
  • 36.
    Data Storage -Amazon S3 amazon_s3 • Administrative interface to S3 • CRUD Operations • S3 ACL Support - Bucket and File
  • 37.
    Data Storage -Amazon S3 amazon_s3 • Administrative interface to S3 • CRUD Operations • S3 ACL Support - Bucket and File • Only API Methods - No integration with native Drupal File Magement
  • 38.
    Data Storage -Generic API Storage API http://drupal.org/project/storage_api “Storage API is a framework for enterprise-level file storage and serving / streaming.”
  • 39.
    Data Storage -Generic API Storage API http://drupal.org/project/storage_api • Pluggable architecture - it can be extended to work with any CDN.
  • 40.
    Data Storage -Generic API Storage API http://drupal.org/project/storage_api • Pluggable architecture - it can be extended to work with any CDN. • Redundancy - it can be configured to store your files in multiple CDNs and instantaneously change which one is serving.
  • 41.
    Data Storage -Generic API Storage API http://drupal.org/project/storage_api • Pluggable architecture - it can be extended to work with any CDN. • Redundancy - it can be configured to store your files in multiple CDNs and instantaneously change which one is serving. • Access control API, Containers implemented as modules
  • 42.
    Data Storage -Generic API Storage API http://drupal.org/project/storage_api • Pluggable architecture - it can be extended to work with any CDN. • Redundancy - it can be configured to store your files in multiple CDNs and instantaneously change which one is serving. • Access control API, Containers Amazon S3/Cloudfront Also supports media streaming
  • 43.
    Data Storage -Generic API Storage API http://drupal.org/project/storage_api • Pluggable architecture - it can be extended to work with any CDN. • Redundancy - it can be configured to store your files in multiple CDNs and instantaneously change which one is serving. • Access control API, Containers implemented as modules Amazon S3/Cloudfront Also supports media streaming
  • 44.
    Data Storage -Generic API CDN - http://drupal.org/project/cdn Supports only "Origin Pull" CDNs • Akamai • SimpleCDN • CacheFly • PantherCDN • And so on....
  • 45.
    Data Storage -Generic API CDN - http://drupal.org/project/cdn In Drupal 6 to function properly require to patching the core....
  • 46.
    Data Storage -Generic API CDN - http://drupal.org/project/cdn In Drupal 6 to function properly require to patching the core.... In Drupal 7 CDN will be supported by core.
  • 47.
    Data Storage -Generic API CDN - http://drupal.org/project/cdn In Drupal 6 to function properly require to patching the core.... In Drupal 7 CDN will be supported by core. Implementation of PHP Stream wrapper cloudfront://image.jpg s3://image.jpg
  • 48.
    Data Storage -Generic API CDN - http://drupal.org/project/cdn In Drupal 6 to function properly require to patching the core.... In Drupal 7 CDN will be supported by core. Implementation of PHP Stream wrapper cloudfront://image.jpg s3://image.jpg COOL !!
  • 49.
    DBMS on theCloud DBMS Cloud Services Mysql PostgreSQL RDS
  • 50.
    DBMS on theCloud No supports for Mysql Replication in D6 Poorly optimized Mysql Query Drupal 7 gains a new Database Astraction Layer, with a lot of cool stuff.
  • 51.
  • 52.
    DBMS on theCloud • Highly optimized for Mysql, removed support for other DBMS • Mysql Replication - In use on Drupal.org • Support for Squid and Varnish reverse proxy caching • Optimization for PHP5 (Removed support for PHP4)
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
    Rimaniamo in contatto! StefanoMainardi Paolo Mainardi stefano@twinbit.it paolo@twinbit.it twitter : stefanomainardi twitter : paolomainardi
  • 58.