SlideShare uma empresa Scribd logo
1 de 17
SCALABLE APPLICATION
HOW TO MAKE WEB APP SCALABLE ON THE CLOUD




               CORLEY SRL – WWW.CORLEY.IT
A TYPICAL SCALABLE INFRASTRUCTURE




                       CORLEY SRL – WWW.CORLEY.IT
RDBMS – START FROM THE END




    • MySQL
       •   RDBMS
           • Relational Database Management System
       •   How it scales?
           • Read Replica
       •   Pros (In terms of scalability)
           • Simple to do
           • Simple management
       •   Cons
           • You can scale only read operations
              •   The master instance has to handle all write operations
                  (bottleneck on writes)



                            CORLEY SRL – WWW.CORLEY.IT
READ REPLICA ON AWS



  • From RDS service tab on the AWS console right
    click on a running instance and create a Read
    Replica DB Instance
  • Configure the read-replica and create it through
    the graphical console.




                                 CORLEY SRL – WWW.CORLEY.IT
IN ORDER TO PROMOTE A SLAVE TO MASTER?




    Similar to master creation
         • Select a read-replica
         • Right-click and promote Read Replica




    Discover more on RDS:
         • http://aws.typepad.com/aws/amazon-rds/



                                CORLEY SRL – WWW.CORLEY.IT
NOW HAVE A LOOK ON WEB INSTANCES




 • All web instances scales out
   instead scales up
    • Scale out? What it means?
       • Instead increase VM performances
         (more RAM, more CPU, more IO etc.
         etc.) open new VM and serve requests
         from these instances
       • Load balancer route incoming
         connections to VMs using common
         algorithms
           • Round robin techniques
           • Based on VMs average load




                            CORLEY SRL – WWW.CORLEY.IT
PROBLEMS… WE NEVER TALK ABOUT…




  •   Session management
      •   If we open and close servers runtime we have to maintain
          PHP sessions in order to handle user logins and other
          features related to sessions
  •   Database connections
      •   All MySQL connectors handle just one connection… No
          “x” RDB connections a the same time…
  •   Software and Plugins maintenance
      •   How can we have the same version of WordPress and WP
          Plugins if VMs starts and stops continuously? How can we
          handle software updates?
  •   What about logs? How can we centralize the log
      management?


                            CORLEY SRL – WWW.CORLEY.IT
DELEGATE SESSION MANAGEMENT TO MEMCACHE




   • Memcache(d) servers are not only useful
     distributed in RAM caching servers but also
     they can manage PHP session for us.
      •   Memcache infrastructure is simple to create and
          maintain
          • Elasticache Service of AWS
      •   No software modification
          • We have just to configure the PHP interpreter
            (compile with memcache/memcached support)

   session.save_handler = memcache
   session.save_path = "tcp://1.cache.group.domain.tld:11211"




                          CORLEY SRL – WWW.CORLEY.IT
DELEGATE CONNECTIONS TO MYSQL NATIVE DRIVER




   • MySQL native driver?
      •   Available from PHP >=5.3
      •   Compile PHP with mysqlnd support
          • --with-mysqli=mysqlnd --with-pdo=mysqlnd --with-
            mysql=mysqlnd
      •   WARN mysql extension is deprecated as of PHP
          5.5.0

   • Delegate to “mysqlnd_ms” the master/slave
     management
      •   http://www.php.net/manual/en/book.mysqlnd-
          ms.php


                          CORLEY SRL – WWW.CORLEY.IT
DELEGATE CONNECTIONS TO MYSQL NATIVE DRIVER




                                                      The simple JSON configuration is divided
                                                      in two main section
 {
     "myapp": {
         "master": {                                  • Master
             "master_0": {                            • Slaves
                 "host": "localhost",
                 "port": "3306"
             }                                        “myapp” is the hostname that we use
         },
         "slave": {
                                                      instead the real mysql host address.
             "slave_0": {
                 "host": "192.168.2.27",              Eg.
                 "port": "3306"
             }                                        •     mysql_connect(“myapp”, “user”,
         }                                                  “passwd”);
     }                                                •     new
 }                                                          Mysqli(“myapp”, “user”, “passwd”
                                                            );
                                                      •     new
                                                            PDO(“mysql:dbname=testdb;host=my
                                                            app”);


                                    CORLEY SRL – WWW.CORLEY.IT
START TALKING ABOUT ELASTIC COMPUTE CLOUD




  •   ELB – Elastic Load Balancer
      •   Distributed load balancer on AWS regions (eu-west-1, 2, 3 you
          have to select in how many region you are available)
      •   Watch EC2 status thanks to a ping strategy
          •   Page check every x minutes/seconds
      •   Turn on/off EC2 instances automatically thanks to alarms
          (CloudWatch raise alarms)
          •   Receive Alarms from CloudWatch and engage scale operations
          •   You can raise CPU alarms, Network Alarms, VM status alarms and many
              others in order to increase or decrease the actual number of EC2
      •   Scale strategy is not simple and you have to understand how your
          application works
          •   CPU is the simplest way but remember that the bandwidth is limited by
              network interfaces and bottlenecks can obfuscate the CPU alarm and your
              application stucks in weird and strange situations.




                                   CORLEY SRL – WWW.CORLEY.IT
AUTOSCALING WITH ELB + EC2 + CLOUDWATCH




  •   If servers start and stops continuously, we have to
      find solutions to stay fresh and updated also on
      software
      •   When a server starts, it has to create a valid
          environment in order to provides web pages.
          Strategies?
          •   Compile and bundle all softwares in one instance image
               •   It is very simple but all software becomes old very quickly and
                   when you have to release an update you have to compile a new
                   image and update all load balancers configurations. It is a long and
                   complex operation
          •   Use EC2_USER_DATA feature provided by AWS
               •   You can run a shell script when your instances bootstraps. It is more
                   flexible because you can create a skeleton (PHP + libraries) and
                   download all software runtime during the boot operation




                                  CORLEY SRL – WWW.CORLEY.IT
THE PROBLEM WITH SOFTWARE MANAGEMENT




 Use SVN (Subversion) to download the latest version of
 WordPress
    Probably is not a good idea use the “trunk” but you can use tags in order to stay
    aligned in all VMs
    svn checkout http://core.svn.wordpress.org/tags/3.5.1/ mywebsite
        http://codex.wordpress.org/Installing/Updating_WordPress_with_Su
        bversion
 Use SVN externals to download your plugins
    cd mywebsite/wp-content/plugins/
    svn propset svn:externals akismet
    http://plugins.svn.wordpress.org/akismet/tags/2.5.7/
    svn up

 Create/Download your WordPress configuration file
 during VM bootstrap


                                 CORLEY SRL – WWW.CORLEY.IT
HOW WE CAN DOWNLOAD WP AND PLUGINS?




    • If you ran 10 servers execute
      commands could be hard. You can use
      tools to run command on a server list
       • Capistrano (Ruby)
          • https://github.com/capistrano/capistrano
       • Fabric (Python)
          • https://github.com/fabric/fabric
          • Use CLOTH for AWS EC2 instances
             • https://github.com/garethr/cloth



                        CORLEY SRL – WWW.CORLEY.IT
HOW TO UPDATE CONFIGURATIONS RUNTIME?


#! /usr/bin/env python
from __future__ import with_statement
from fabric.api import *
from fabric.contrib.console import confirm              EC2 instances are dynamic with don’t know
                                                        address, for that reason we can use tagging
from cloth.tasks import *                               system to execute commands on a group of
                                                        instances
env.user = "root"
env.directory = '/mnt/wordpress'                                fab nodes:"^production.*" tail
env.key_filename = ['/home/walter/Amazon/wp-
cms.pem']                                               Execute the “tail” command on all instances
                                                        with a name that starts with “production.”
@task
def reload():                                           Eg.
  "Reload Apache configuration"                                  •   production.web-1
  run('/etc/init.d/apache2 reload')                              •   production.log
                                                                 •   production.mongodb
@task
def tail():
  "Tail Apache logs"
  run('tail /var/log/syslog')




                                   CORLEY SRL – WWW.CORLEY.IT
EXAMPLE OF FABRIC – USAGE WITH CLOTH




  •   We create and destroy instances thanks to alarms but
      when we close an instance we lose immediately all
      apache logs (or equivalent)
  •   How we can manage logs?
      •   The simplest way is to use Rsyslog clusters
  •   Rsyslog is an opensource software that forwarding log
      messages in an IP network
  •   Rsyslog implement the basic syslog protol
      •   That means that we can configure apache logs to “syslog”
          instead using normal text files.
      •   In this way we can collect all logs in one group of VM and
          work on these files later thanks to other technologies.




                             CORLEY SRL – WWW.CORLEY.IT
ALSO LOG MANAGEMENT IS NOT SIMPLE…




  • Collecting logs is not the latest operation
    because you have to analyse and reduce
    information
     •   Move logs to S3 bucket – Time based
     •   Analyze logs with Hadoop
         • Map Reduce on the cloud with Elastic Map Reduce service
           (EMR)
     •   Use script languages on top of Hadoop in order to
         simply the log analysis
         • HIVE – Data Warehouse infrastructure (data
           summarization)
         • Pig – High level platform for creating MapReduce program



                          CORLEY SRL – WWW.CORLEY.IT

Mais conteúdo relacionado

Mais procurados

Play Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level OverviewPlay Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level OverviewJosh Padnick
 
Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef
 
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud InfrastructureSCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud InfrastructureMatt Ray
 
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Alexander Lisachenko
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster WebsiteRayed Alrashed
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAshokkumar T A
 
Service Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and AnsibleService Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and AnsibleIsaac Christoffersen
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabricandymccurdy
 
Apache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpApache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpSander Temme
 
A tour of Ansible
A tour of AnsibleA tour of Ansible
A tour of AnsibleDevOps Ltd.
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds auroraBalazs Pocze
 
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksICF CIRCUIT
 
AWS Developer Fundamentals
AWS Developer FundamentalsAWS Developer Fundamentals
AWS Developer FundamentalsJosh Padnick
 
Magento 2 Workflows
Magento 2 WorkflowsMagento 2 Workflows
Magento 2 WorkflowsRyan Street
 
The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)Venugopal Gummadala
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on NetscalerMark Hillick
 
Ansible automation tool with modules
Ansible automation tool with modulesAnsible automation tool with modules
Ansible automation tool with modulesmohamedmoharam
 
Optimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonOptimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonChris Olbekson
 

Mais procurados (20)

Play Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level OverviewPlay Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level Overview
 
Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015Chef Provisioning a Chef Server Cluster - ChefConf 2015
Chef Provisioning a Chef Server Cluster - ChefConf 2015
 
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud InfrastructureSCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
 
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
 
Tips for a Faster Website
Tips for a Faster WebsiteTips for a Faster Website
Tips for a Faster Website
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
 
Service Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and AnsibleService Delivery Assembly Line with Vagrant, Packer, and Ansible
Service Delivery Assembly Line with Vagrant, Packer, and Ansible
 
Python Deployment with Fabric
Python Deployment with FabricPython Deployment with Fabric
Python Deployment with Fabric
 
Apache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling UpApache Performance Tuning: Scaling Up
Apache Performance Tuning: Scaling Up
 
A tour of Ansible
A tour of AnsibleA tour of Ansible
A tour of Ansible
 
Ansible MySQL MHA
Ansible MySQL MHAAnsible MySQL MHA
Ansible MySQL MHA
 
Migrating and living on rds aurora
Migrating and living on rds auroraMigrating and living on rds aurora
Migrating and living on rds aurora
 
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
 
AWS Developer Fundamentals
AWS Developer FundamentalsAWS Developer Fundamentals
AWS Developer Fundamentals
 
Magento 2 Workflows
Magento 2 WorkflowsMagento 2 Workflows
Magento 2 Workflows
 
The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)The secret life of a dispatcher (Adobe CQ AEM)
The secret life of a dispatcher (Adobe CQ AEM)
 
Integrated Cache on Netscaler
Integrated Cache on NetscalerIntegrated Cache on Netscaler
Integrated Cache on Netscaler
 
Ansible automation tool with modules
Ansible automation tool with modulesAnsible automation tool with modules
Ansible automation tool with modules
 
Varnish intro
Varnish introVarnish intro
Varnish intro
 
Optimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp HoustonOptimizing WordPress for Performance - WordCamp Houston
Optimizing WordPress for Performance - WordCamp Houston
 

Destaque

Build a custom (micro)framework with ZF2 Components (as building blocks)
Build a custom (micro)framework with ZF2 Components (as building blocks)Build a custom (micro)framework with ZF2 Components (as building blocks)
Build a custom (micro)framework with ZF2 Components (as building blocks)Corley S.r.l.
 
Cloud party 2014 - Deploy your infrastructure with Saltstack - Salt Cloud wit...
Cloud party 2014 - Deploy your infrastructure with Saltstack - Salt Cloud wit...Cloud party 2014 - Deploy your infrastructure with Saltstack - Salt Cloud wit...
Cloud party 2014 - Deploy your infrastructure with Saltstack - Salt Cloud wit...Corley S.r.l.
 
Scale your PHP application with Elastic Beanstalk - CloudParty Genova
Scale your PHP application with Elastic Beanstalk - CloudParty GenovaScale your PHP application with Elastic Beanstalk - CloudParty Genova
Scale your PHP application with Elastic Beanstalk - CloudParty GenovaCorley S.r.l.
 
MySQL - Scale Out @ CloudParty 2013 Milano Talent Garden
MySQL - Scale Out @ CloudParty 2013 Milano Talent GardenMySQL - Scale Out @ CloudParty 2013 Milano Talent Garden
MySQL - Scale Out @ CloudParty 2013 Milano Talent GardenCorley S.r.l.
 
Php & cloud computing
Php & cloud computingPhp & cloud computing
Php & cloud computingCorley S.r.l.
 
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015Corley S.r.l.
 
Disaster Recovery - On-Premise & Cloud
Disaster Recovery - On-Premise & CloudDisaster Recovery - On-Premise & Cloud
Disaster Recovery - On-Premise & CloudCorley S.r.l.
 
An introduction to Hubot - CloudConf 2015 - Turin Italy
An introduction to Hubot - CloudConf 2015 - Turin ItalyAn introduction to Hubot - CloudConf 2015 - Turin Italy
An introduction to Hubot - CloudConf 2015 - Turin ItalyCorley S.r.l.
 
Middleware PHP - A simple micro-framework
Middleware PHP - A simple micro-frameworkMiddleware PHP - A simple micro-framework
Middleware PHP - A simple micro-frameworkCorley S.r.l.
 
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applicationsCorley S.r.l.
 
Scale your Magento app with Elastic Beanstalk
Scale your Magento app with Elastic BeanstalkScale your Magento app with Elastic Beanstalk
Scale your Magento app with Elastic BeanstalkCorley S.r.l.
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Corley S.r.l.
 

Destaque (13)

Build a custom (micro)framework with ZF2 Components (as building blocks)
Build a custom (micro)framework with ZF2 Components (as building blocks)Build a custom (micro)framework with ZF2 Components (as building blocks)
Build a custom (micro)framework with ZF2 Components (as building blocks)
 
Cloud party 2014 - Deploy your infrastructure with Saltstack - Salt Cloud wit...
Cloud party 2014 - Deploy your infrastructure with Saltstack - Salt Cloud wit...Cloud party 2014 - Deploy your infrastructure with Saltstack - Salt Cloud wit...
Cloud party 2014 - Deploy your infrastructure with Saltstack - Salt Cloud wit...
 
Scale your PHP application with Elastic Beanstalk - CloudParty Genova
Scale your PHP application with Elastic Beanstalk - CloudParty GenovaScale your PHP application with Elastic Beanstalk - CloudParty Genova
Scale your PHP application with Elastic Beanstalk - CloudParty Genova
 
MySQL - Scale Out @ CloudParty 2013 Milano Talent Garden
MySQL - Scale Out @ CloudParty 2013 Milano Talent GardenMySQL - Scale Out @ CloudParty 2013 Milano Talent Garden
MySQL - Scale Out @ CloudParty 2013 Milano Talent Garden
 
Php & cloud computing
Php & cloud computingPhp & cloud computing
Php & cloud computing
 
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
From Chef to Saltstack on Cloud Providers - Incontro DevOps 2015
 
Disaster Recovery - On-Premise & Cloud
Disaster Recovery - On-Premise & CloudDisaster Recovery - On-Premise & Cloud
Disaster Recovery - On-Premise & Cloud
 
An introduction to Hubot - CloudConf 2015 - Turin Italy
An introduction to Hubot - CloudConf 2015 - Turin ItalyAn introduction to Hubot - CloudConf 2015 - Turin Italy
An introduction to Hubot - CloudConf 2015 - Turin Italy
 
Middleware PHP - A simple micro-framework
Middleware PHP - A simple micro-frameworkMiddleware PHP - A simple micro-framework
Middleware PHP - A simple micro-framework
 
Cloud computing & lamp applications
Cloud computing & lamp applicationsCloud computing & lamp applications
Cloud computing & lamp applications
 
Scale your Magento app with Elastic Beanstalk
Scale your Magento app with Elastic BeanstalkScale your Magento app with Elastic Beanstalk
Scale your Magento app with Elastic Beanstalk
 
React vs Angular2
React vs Angular2React vs Angular2
React vs Angular2
 
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
Deploy and Scale your PHP App with AWS ElasticBeanstalk and Docker- PHPTour L...
 

Semelhante a Corley scalability

Ansible presentation
Ansible presentationAnsible presentation
Ansible presentationSuresh Kumar
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentationlalitjangra9
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayAmazon Web Services Korea
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleArnaud LEMAIRE
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Emerson Eduardo Rodrigues Von Staffen
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 
Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudVladimir Ilic
 
AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09Chris Purrington
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalleybuildacloud
 
Scaling on EC2 in a fast-paced environment (LISA'11 - Full Paper)
Scaling on EC2 in a fast-paced environment (LISA'11 - Full Paper)Scaling on EC2 in a fast-paced environment (LISA'11 - Full Paper)
Scaling on EC2 in a fast-paced environment (LISA'11 - Full Paper)Nicolas Brousse
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeSarah Z
 
Cloudformation & VPC, EC2, RDS
Cloudformation & VPC, EC2, RDSCloudformation & VPC, EC2, RDS
Cloudformation & VPC, EC2, RDSCan Abacıgil
 
Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOpsAlbert Wong
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsFederico Michele Facca
 
murakumo Cloud Controller
murakumo Cloud Controllermurakumo Cloud Controller
murakumo Cloud ControllerShingo Kawano
 

Semelhante a Corley scalability (20)

Ansible presentation
Ansible presentationAnsible presentation
Ansible presentation
 
TechBeats #2
TechBeats #2TechBeats #2
TechBeats #2
 
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE PlatformsFIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
FIWARE Tech Summit - Docker Swarm Secrets for Creating Great FIWARE Platforms
 
PowerPoint Presentation
PowerPoint PresentationPowerPoint Presentation
PowerPoint Presentation
 
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container DayECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
ECS & ECR Deep Dive - 김기완 솔루션즈 아키텍트 :: AWS Container Day
 
DevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & AnsibleDevOps, A brief introduction to Vagrant & Ansible
DevOps, A brief introduction to Vagrant & Ansible
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Scaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloudScaling drupal horizontally and in cloud
Scaling drupal horizontally and in cloud
 
AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09AWS (Hadoop) Meetup 30.04.09
AWS (Hadoop) Meetup 30.04.09
 
Intro to Sails.js
Intro to Sails.jsIntro to Sails.js
Intro to Sails.js
 
Deep Dive into AWS Fargate
Deep Dive into AWS FargateDeep Dive into AWS Fargate
Deep Dive into AWS Fargate
 
Introduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David NalleyIntroduction to Apache CloudStack by David Nalley
Introduction to Apache CloudStack by David Nalley
 
Scaling on EC2 in a fast-paced environment (LISA'11 - Full Paper)
Scaling on EC2 in a fast-paced environment (LISA'11 - Full Paper)Scaling on EC2 in a fast-paced environment (LISA'11 - Full Paper)
Scaling on EC2 in a fast-paced environment (LISA'11 - Full Paper)
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less Coffee
 
Cloudformation & VPC, EC2, RDS
Cloudformation & VPC, EC2, RDSCloudformation & VPC, EC2, RDS
Cloudformation & VPC, EC2, RDS
 
Integration in the age of DevOps
Integration in the age of DevOpsIntegration in the age of DevOps
Integration in the age of DevOps
 
DevOps for database
DevOps for databaseDevOps for database
DevOps for database
 
Docker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platformsDocker Swarm secrets for creating great FIWARE platforms
Docker Swarm secrets for creating great FIWARE platforms
 
murakumo Cloud Controller
murakumo Cloud Controllermurakumo Cloud Controller
murakumo Cloud Controller
 

Mais de Corley S.r.l.

Aws rekognition - riconoscimento facciale
Aws rekognition  - riconoscimento faccialeAws rekognition  - riconoscimento facciale
Aws rekognition - riconoscimento faccialeCorley S.r.l.
 
AWSome day 2018 - scalability and cost optimization with container services
AWSome day 2018 - scalability and cost optimization with container servicesAWSome day 2018 - scalability and cost optimization with container services
AWSome day 2018 - scalability and cost optimization with container servicesCorley S.r.l.
 
AWSome day 2018 - API serverless with aws
AWSome day 2018  - API serverless with awsAWSome day 2018  - API serverless with aws
AWSome day 2018 - API serverless with awsCorley S.r.l.
 
AWSome day 2018 - database in cloud
AWSome day 2018 -  database in cloudAWSome day 2018 -  database in cloud
AWSome day 2018 - database in cloudCorley S.r.l.
 
Trace your micro-services oriented application with Zipkin and OpenTracing
Trace your micro-services oriented application with Zipkin and OpenTracing Trace your micro-services oriented application with Zipkin and OpenTracing
Trace your micro-services oriented application with Zipkin and OpenTracing Corley S.r.l.
 
Apiconf - The perfect REST solution
Apiconf - The perfect REST solutionApiconf - The perfect REST solution
Apiconf - The perfect REST solutionCorley S.r.l.
 
Apiconf - Doc Driven Development
Apiconf - Doc Driven DevelopmentApiconf - Doc Driven Development
Apiconf - Doc Driven DevelopmentCorley S.r.l.
 
Authentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructuresAuthentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructuresCorley S.r.l.
 
Flexibility and scalability of costs in serverless infrastructures
Flexibility and scalability of costs in serverless infrastructuresFlexibility and scalability of costs in serverless infrastructures
Flexibility and scalability of costs in serverless infrastructuresCorley S.r.l.
 
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented applicationCloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented applicationCorley S.r.l.
 
A single language for backend and frontend from AngularJS to cloud with Clau...
A single language for backend and frontend  from AngularJS to cloud with Clau...A single language for backend and frontend  from AngularJS to cloud with Clau...
A single language for backend and frontend from AngularJS to cloud with Clau...Corley S.r.l.
 
AngularJS: Service, factory & provider
AngularJS: Service, factory & providerAngularJS: Service, factory & provider
AngularJS: Service, factory & providerCorley S.r.l.
 
The advantage of developing with TypeScript
The advantage of developing with TypeScript The advantage of developing with TypeScript
The advantage of developing with TypeScript Corley S.r.l.
 
Angular coding: from project management to web and mobile deploy
Angular coding: from project management to web and mobile deployAngular coding: from project management to web and mobile deploy
Angular coding: from project management to web and mobile deployCorley S.r.l.
 
Corley cloud angular in cloud
Corley cloud   angular in cloudCorley cloud   angular in cloud
Corley cloud angular in cloudCorley S.r.l.
 
Measure your app internals with InfluxDB and Symfony2
Measure your app internals with InfluxDB and Symfony2Measure your app internals with InfluxDB and Symfony2
Measure your app internals with InfluxDB and Symfony2Corley S.r.l.
 
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS LambdaRead Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS LambdaCorley S.r.l.
 
Cloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCorley S.r.l.
 
AngularJS advanced project management
AngularJS advanced project managementAngularJS advanced project management
AngularJS advanced project managementCorley S.r.l.
 
Raspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application DevelopmentRaspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application DevelopmentCorley S.r.l.
 

Mais de Corley S.r.l. (20)

Aws rekognition - riconoscimento facciale
Aws rekognition  - riconoscimento faccialeAws rekognition  - riconoscimento facciale
Aws rekognition - riconoscimento facciale
 
AWSome day 2018 - scalability and cost optimization with container services
AWSome day 2018 - scalability and cost optimization with container servicesAWSome day 2018 - scalability and cost optimization with container services
AWSome day 2018 - scalability and cost optimization with container services
 
AWSome day 2018 - API serverless with aws
AWSome day 2018  - API serverless with awsAWSome day 2018  - API serverless with aws
AWSome day 2018 - API serverless with aws
 
AWSome day 2018 - database in cloud
AWSome day 2018 -  database in cloudAWSome day 2018 -  database in cloud
AWSome day 2018 - database in cloud
 
Trace your micro-services oriented application with Zipkin and OpenTracing
Trace your micro-services oriented application with Zipkin and OpenTracing Trace your micro-services oriented application with Zipkin and OpenTracing
Trace your micro-services oriented application with Zipkin and OpenTracing
 
Apiconf - The perfect REST solution
Apiconf - The perfect REST solutionApiconf - The perfect REST solution
Apiconf - The perfect REST solution
 
Apiconf - Doc Driven Development
Apiconf - Doc Driven DevelopmentApiconf - Doc Driven Development
Apiconf - Doc Driven Development
 
Authentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructuresAuthentication and authorization in res tful infrastructures
Authentication and authorization in res tful infrastructures
 
Flexibility and scalability of costs in serverless infrastructures
Flexibility and scalability of costs in serverless infrastructuresFlexibility and scalability of costs in serverless infrastructures
Flexibility and scalability of costs in serverless infrastructures
 
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented applicationCloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
CloudConf2017 - Deploy, Scale & Coordinate a microservice oriented application
 
A single language for backend and frontend from AngularJS to cloud with Clau...
A single language for backend and frontend  from AngularJS to cloud with Clau...A single language for backend and frontend  from AngularJS to cloud with Clau...
A single language for backend and frontend from AngularJS to cloud with Clau...
 
AngularJS: Service, factory & provider
AngularJS: Service, factory & providerAngularJS: Service, factory & provider
AngularJS: Service, factory & provider
 
The advantage of developing with TypeScript
The advantage of developing with TypeScript The advantage of developing with TypeScript
The advantage of developing with TypeScript
 
Angular coding: from project management to web and mobile deploy
Angular coding: from project management to web and mobile deployAngular coding: from project management to web and mobile deploy
Angular coding: from project management to web and mobile deploy
 
Corley cloud angular in cloud
Corley cloud   angular in cloudCorley cloud   angular in cloud
Corley cloud angular in cloud
 
Measure your app internals with InfluxDB and Symfony2
Measure your app internals with InfluxDB and Symfony2Measure your app internals with InfluxDB and Symfony2
Measure your app internals with InfluxDB and Symfony2
 
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS LambdaRead Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
Read Twitter Stream and Tweet back pictures with Raspberry Pi & AWS Lambda
 
Cloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT ApplicationsCloud Conf 2015 - Develop and Deploy IOT Applications
Cloud Conf 2015 - Develop and Deploy IOT Applications
 
AngularJS advanced project management
AngularJS advanced project managementAngularJS advanced project management
AngularJS advanced project management
 
Raspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application DevelopmentRaspberry Pi - HW/SW Application Development
Raspberry Pi - HW/SW Application Development
 

Último

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 

Último (20)

How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
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.
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 

Corley scalability

  • 1. SCALABLE APPLICATION HOW TO MAKE WEB APP SCALABLE ON THE CLOUD CORLEY SRL – WWW.CORLEY.IT
  • 2. A TYPICAL SCALABLE INFRASTRUCTURE CORLEY SRL – WWW.CORLEY.IT
  • 3. RDBMS – START FROM THE END • MySQL • RDBMS • Relational Database Management System • How it scales? • Read Replica • Pros (In terms of scalability) • Simple to do • Simple management • Cons • You can scale only read operations • The master instance has to handle all write operations (bottleneck on writes) CORLEY SRL – WWW.CORLEY.IT
  • 4. READ REPLICA ON AWS • From RDS service tab on the AWS console right click on a running instance and create a Read Replica DB Instance • Configure the read-replica and create it through the graphical console. CORLEY SRL – WWW.CORLEY.IT
  • 5. IN ORDER TO PROMOTE A SLAVE TO MASTER? Similar to master creation • Select a read-replica • Right-click and promote Read Replica Discover more on RDS: • http://aws.typepad.com/aws/amazon-rds/ CORLEY SRL – WWW.CORLEY.IT
  • 6. NOW HAVE A LOOK ON WEB INSTANCES • All web instances scales out instead scales up • Scale out? What it means? • Instead increase VM performances (more RAM, more CPU, more IO etc. etc.) open new VM and serve requests from these instances • Load balancer route incoming connections to VMs using common algorithms • Round robin techniques • Based on VMs average load CORLEY SRL – WWW.CORLEY.IT
  • 7. PROBLEMS… WE NEVER TALK ABOUT… • Session management • If we open and close servers runtime we have to maintain PHP sessions in order to handle user logins and other features related to sessions • Database connections • All MySQL connectors handle just one connection… No “x” RDB connections a the same time… • Software and Plugins maintenance • How can we have the same version of WordPress and WP Plugins if VMs starts and stops continuously? How can we handle software updates? • What about logs? How can we centralize the log management? CORLEY SRL – WWW.CORLEY.IT
  • 8. DELEGATE SESSION MANAGEMENT TO MEMCACHE • Memcache(d) servers are not only useful distributed in RAM caching servers but also they can manage PHP session for us. • Memcache infrastructure is simple to create and maintain • Elasticache Service of AWS • No software modification • We have just to configure the PHP interpreter (compile with memcache/memcached support) session.save_handler = memcache session.save_path = "tcp://1.cache.group.domain.tld:11211" CORLEY SRL – WWW.CORLEY.IT
  • 9. DELEGATE CONNECTIONS TO MYSQL NATIVE DRIVER • MySQL native driver? • Available from PHP >=5.3 • Compile PHP with mysqlnd support • --with-mysqli=mysqlnd --with-pdo=mysqlnd --with- mysql=mysqlnd • WARN mysql extension is deprecated as of PHP 5.5.0 • Delegate to “mysqlnd_ms” the master/slave management • http://www.php.net/manual/en/book.mysqlnd- ms.php CORLEY SRL – WWW.CORLEY.IT
  • 10. DELEGATE CONNECTIONS TO MYSQL NATIVE DRIVER The simple JSON configuration is divided in two main section { "myapp": { "master": { • Master "master_0": { • Slaves "host": "localhost", "port": "3306" } “myapp” is the hostname that we use }, "slave": { instead the real mysql host address. "slave_0": { "host": "192.168.2.27", Eg. "port": "3306" } • mysql_connect(“myapp”, “user”, } “passwd”); } • new } Mysqli(“myapp”, “user”, “passwd” ); • new PDO(“mysql:dbname=testdb;host=my app”); CORLEY SRL – WWW.CORLEY.IT
  • 11. START TALKING ABOUT ELASTIC COMPUTE CLOUD • ELB – Elastic Load Balancer • Distributed load balancer on AWS regions (eu-west-1, 2, 3 you have to select in how many region you are available) • Watch EC2 status thanks to a ping strategy • Page check every x minutes/seconds • Turn on/off EC2 instances automatically thanks to alarms (CloudWatch raise alarms) • Receive Alarms from CloudWatch and engage scale operations • You can raise CPU alarms, Network Alarms, VM status alarms and many others in order to increase or decrease the actual number of EC2 • Scale strategy is not simple and you have to understand how your application works • CPU is the simplest way but remember that the bandwidth is limited by network interfaces and bottlenecks can obfuscate the CPU alarm and your application stucks in weird and strange situations. CORLEY SRL – WWW.CORLEY.IT
  • 12. AUTOSCALING WITH ELB + EC2 + CLOUDWATCH • If servers start and stops continuously, we have to find solutions to stay fresh and updated also on software • When a server starts, it has to create a valid environment in order to provides web pages. Strategies? • Compile and bundle all softwares in one instance image • It is very simple but all software becomes old very quickly and when you have to release an update you have to compile a new image and update all load balancers configurations. It is a long and complex operation • Use EC2_USER_DATA feature provided by AWS • You can run a shell script when your instances bootstraps. It is more flexible because you can create a skeleton (PHP + libraries) and download all software runtime during the boot operation CORLEY SRL – WWW.CORLEY.IT
  • 13. THE PROBLEM WITH SOFTWARE MANAGEMENT Use SVN (Subversion) to download the latest version of WordPress Probably is not a good idea use the “trunk” but you can use tags in order to stay aligned in all VMs svn checkout http://core.svn.wordpress.org/tags/3.5.1/ mywebsite http://codex.wordpress.org/Installing/Updating_WordPress_with_Su bversion Use SVN externals to download your plugins cd mywebsite/wp-content/plugins/ svn propset svn:externals akismet http://plugins.svn.wordpress.org/akismet/tags/2.5.7/ svn up Create/Download your WordPress configuration file during VM bootstrap CORLEY SRL – WWW.CORLEY.IT
  • 14. HOW WE CAN DOWNLOAD WP AND PLUGINS? • If you ran 10 servers execute commands could be hard. You can use tools to run command on a server list • Capistrano (Ruby) • https://github.com/capistrano/capistrano • Fabric (Python) • https://github.com/fabric/fabric • Use CLOTH for AWS EC2 instances • https://github.com/garethr/cloth CORLEY SRL – WWW.CORLEY.IT
  • 15. HOW TO UPDATE CONFIGURATIONS RUNTIME? #! /usr/bin/env python from __future__ import with_statement from fabric.api import * from fabric.contrib.console import confirm EC2 instances are dynamic with don’t know address, for that reason we can use tagging from cloth.tasks import * system to execute commands on a group of instances env.user = "root" env.directory = '/mnt/wordpress' fab nodes:"^production.*" tail env.key_filename = ['/home/walter/Amazon/wp- cms.pem'] Execute the “tail” command on all instances with a name that starts with “production.” @task def reload(): Eg. "Reload Apache configuration" • production.web-1 run('/etc/init.d/apache2 reload') • production.log • production.mongodb @task def tail(): "Tail Apache logs" run('tail /var/log/syslog') CORLEY SRL – WWW.CORLEY.IT
  • 16. EXAMPLE OF FABRIC – USAGE WITH CLOTH • We create and destroy instances thanks to alarms but when we close an instance we lose immediately all apache logs (or equivalent) • How we can manage logs? • The simplest way is to use Rsyslog clusters • Rsyslog is an opensource software that forwarding log messages in an IP network • Rsyslog implement the basic syslog protol • That means that we can configure apache logs to “syslog” instead using normal text files. • In this way we can collect all logs in one group of VM and work on these files later thanks to other technologies. CORLEY SRL – WWW.CORLEY.IT
  • 17. ALSO LOG MANAGEMENT IS NOT SIMPLE… • Collecting logs is not the latest operation because you have to analyse and reduce information • Move logs to S3 bucket – Time based • Analyze logs with Hadoop • Map Reduce on the cloud with Elastic Map Reduce service (EMR) • Use script languages on top of Hadoop in order to simply the log analysis • HIVE – Data Warehouse infrastructure (data summarization) • Pig – High level platform for creating MapReduce program CORLEY SRL – WWW.CORLEY.IT