SlideShare a Scribd company logo
1 of 46
PHP & Cloud Computing
                PHPTOSTART 2013
  Walter Dal Mut - @walterdalmut - @corleycloud
Whoami
• Walter Dal Mut                                                    •     Corley S.r.l.
   • Startupper                                                           • Scalable CMS
       • Corley S.r.l.
            • http://www.corley.it/                                          • www.xitecms.it
       • UpCloo Ltd.                                                      • Load and Stress tests
            • http://www.upcloo.com/
   • Electronic Engineer
                                                                             • www.corley.it
       • Polytechnic of Turin                                             • Consultancy
• Social                                                                     • PHP
   • @walterdalmut - @corleycloud - @upcloo                                  • AWS
• Websites                                                                   • Distributed Systems
   • walterdalmut.com – corley.it – upcloo.com                               • Scalable Systems

                                 Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                                 @corleycloud @upcloo
AWS - Application Management Solutions




            Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                            @corleycloud @upcloo
Why scalability




                                                                    Source Jeff Barr AWS
                                                                    slideshare.net/…
             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                             @corleycloud @upcloo
Also daily…




              Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                              @corleycloud @upcloo
Provision with fixed hardware




             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                             @corleycloud @upcloo
Thanks to Cloud Computing




            Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                            @corleycloud @upcloo
Are you wasting monies?




            Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                            @corleycloud @upcloo
Scalability effects on your business
• Scale capacity on demand
• Turn fixed costs into variable costs
• Always available
• Rock-solid reliability
• Cost-effective
• Reduce time to market
• Focus on product and core competencies


                     Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                     @corleycloud @upcloo
Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                @corleycloud @upcloo
Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                @corleycloud @upcloo
Scalable PHP environments – Initial Step



                                               Web
     89.30.31.32/32                                                          MySQL
                                             Instance




                      Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                      @corleycloud @upcloo
Scalable PHP environments –
autoscaling


                                                                                   MySQL

                                                     Web
    Elastic Load Balancer
                                                   Instance




                            Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                            @corleycloud @upcloo
Scalable PHP environments –
autoscaling

                                                     Web
                                                   Instance
                                                                                   MySQL

                                                     Web
    Elastic Load Balancer
                                                   Instance




                            Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                            @corleycloud @upcloo
Scalable PHP environments –
autoscaling

                                                     Web
                                                   Instance
                                                                                     MySQL

                                                     Web
    Elastic Load Balancer
                                                   Instance


                                                     Web
                                                   Instance                          MySQL
                                                                                   Read Replica




                            Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                            @corleycloud @upcloo
AWS (Elastic) Load Balancer
• You can distribute incoming traffic across your web instances
• When it detects unhealthy load-balanced web instances, it no longer
  routes traffic to those web instances and spreads the load across the
  remaining healthy web instances.

• Elastic?
   • automatically scales its request handling capacity in response to incoming
     application traffic.



                          Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                          @corleycloud @upcloo
Autoscaling
• Scale out web instances seamlessly and automatically when demand
  increases
• Replace unhealthy or unreachable instances to maintain higher
  availability of your applications.
• Scale dynamically based on your Cloud Watch metrics, or predictably
  according to a schedule that you define..
• Run on-demand or spot instances



                      Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                      @corleycloud @upcloo
Metrics and Autoscaling

                        EC2 Instance                              CloudWatch



                                                                                      Scaling rules

Elastic Load Balancer
                                                                   Autoscaling




                               Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                               @corleycloud @upcloo
Metrics and Autoscaling

                        EC2 Instance                              CloudWatch



                                                                                      Scaling rules

Elastic Load Balancer
                                                                   Autoscaling



                        EC2 Instance


                                                                      Alarms

                               Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                               @corleycloud @upcloo
Metrics and Autoscaling

                        EC2 Instance                              CloudWatch



                                                                                      Scaling rules

Elastic Load Balancer
                                                                   Autoscaling



                        EC2 Instance




                               Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                               @corleycloud @upcloo
Metrics and Autoscaling

                        EC2 Instance                              CloudWatch



                                                                                      Scaling rules

Elastic Load Balancer
                                                                   Autoscaling



                        EC2 Instance


                                                                      Alarms

                               Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                               @corleycloud @upcloo
Metrics and Autoscaling

                        EC2 Instance                              CloudWatch



                                                                                      Scaling rules

Elastic Load Balancer
                                                                   Autoscaling




                               Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                               @corleycloud @upcloo
Scale with metrics, scheduled or both?
• How to scale? It depends by your application
   • Scheduled scale operations are useful when you have predictable spikes
   • Metrics when you have heavy spike application and you need to adjust your
     infrastructure automatically
   • Mix previous in mixed scenarios
• Which metric use in order to scale?
   • It depends by your application design
      • CPU heavy scale on CPU load metric
      • Network heavy scale on network load metric
      • Etc.
• Remember that applications don’t consume only CPU but also other
  resources
                            Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                            @corleycloud @upcloo
We have to discuss about:
• Session Management
   • If we open and close servers runtime we have to maintain PHP sessions in
     order to handle user logins and other application features related to the end
     user session.
• Database connections
   • All MySQL connectors (PDO, MySQLi, [mysql_*]) handle just one connection…
     No “x” RDB connection at the same time
• Software maintenance
   • How we can ran the same application version on all our infrastructure?
• What about logs? How we can collect VM logs in order to centralize
  the log management?
                          Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                          @corleycloud @upcloo
Session Management
• Fortunately with PHP you can use different strategies to centralize
  sessions
   •   Memcache/Memcached (AWS ElastiCache)
   •   Redis
   •   DynamoDB (AWS)
   •   Etc.
• We can modify the session_handler in order to use a different
  storage (php.ini, your application bootstrap, etc.)
session.save_handler = memcache
session.save_path = “tcp://1.cache.group.domain.tld:11211”


                           Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                           @corleycloud @upcloo
MySQL – Master/Slave?
• Master/Slave is a model of communication where one device or
  process has unidirectional control over one or more other devices
   • MySQL can scales out all your read (SELECT) operations on different slave
     servers.

• AWS RDS (Relational Database Service) helps you to create read
  replicas directly in AWS web console with a couple of clicks!




                          Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                          @corleycloud @upcloo
PHP Application MySQL READ
Replicas

                                SELECT ONLY
                                                                            SLAVE 1
                 INSERT/UPDATE/
                 DELETE/SELECT
                                              MASTER
   Application

                                SELECT ONLY
                                                                            SLAVE 2




                     Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                     @corleycloud @upcloo
Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                @corleycloud @upcloo
Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                @corleycloud @upcloo
Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                @corleycloud @upcloo
MySQL Native Driver
• MySQL native driver?
   • Available from PHP >= 5.3
   • You have to compile your PHP with “mysqlnd” support
      • --with-mysqli=mysqlnd --with-pdo=mysqlnd --with-mysql=mysqlnd


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




                           Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                           @corleycloud @upcloo
Create the mysqlnd_ms configuration file
{
                                                                                    The simple JSON configuration is divided
    "myapp": {
                                                                                    in two main section
        "master": {
             "master_0": {
                                                                                    • Master
                 "host": "localhost",
                                                                                    • Slaves
                 "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”);
                                        Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                                        @corleycloud @upcloo
Maintain softwares



                                                      Web
     Elastic Load Balancer
                                                    Instance




                             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                             @corleycloud @upcloo
Maintain softwares

                                                      Web
                                                    Instance


                                                      Web
     Elastic Load Balancer
                                                    Instance




                             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                             @corleycloud @upcloo
Maintain softwares

                                                      Web
                                                    Instance


                                                      Web
     Elastic Load Balancer
                                                    Instance


                                                      Web
                                                    Instance




                             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                             @corleycloud @upcloo
Maintain softwares

                                                      Web
                                                    Instance



     Elastic Load Balancer



                                                      Web
                                                    Instance




                             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                             @corleycloud @upcloo
Maintain softwares

                                                      Web
                                                    Instance



     Elastic Load Balancer




                             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                             @corleycloud @upcloo
How we can stay fresh?
• If servers starts and stops continuously we have to find solutions to
  stay 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
      • Typically you will use both in conjunction

                               Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                               @corleycloud @upcloo
Cool Up/Down – Inhibits alarms




            Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                            @corleycloud @upcloo
Scales in action




             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                             @corleycloud @upcloo
Run commands on multiple servers
• If you ran many servers execute commands could be hard. You can
  use tools to run commands 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
   • Chef
   • Puppet
   • Etc…

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

@task
def tail():
  "Tail Apache logs"
  run('tail /var/log/syslog')         Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                                      @corleycloud @upcloo
Centralize all logs
• We create and destroy instances thanks to alarms but when we
  close an instance we lose immediately all instance/application logs
• 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

                           Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                           @corleycloud @upcloo
Log management
• 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




                             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                             @corleycloud @upcloo
Cloud Conference 2013 – 18 April
• www.cloudconf.it
   • @_CloudConf_
   • https://www.facebook.com/pages/Cloud-Conf-Italia/140265592804313?ref=hl

• Data analysis
   • Hadoop – MapReduce Framework
   • Apache Pig – MapReduce Scripting Language for Hadoop
   • Apache Hive – Data Warehouse System for Hadoop

                                   PUG User Coupon Code:
                                            pug-user
                                  Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                                                  @corleycloud @upcloo
Thanks for listening



                       Any questions?




             Walter Dal Mut walter.dalmut@gmail.com @walterdalmut
                             @corleycloud @upcloo

More Related Content

Viewers also liked

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.
 
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...ZendCon
 
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.
 
Cloud computing simple ppt
Cloud computing simple pptCloud computing simple ppt
Cloud computing simple pptAgarwaljay
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computingRkrishna Mishra
 

Viewers also liked (10)

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
 
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
Make your PHP Application Software-as-a-Service (SaaS) Ready with the Paralle...
 
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...
 
Cloud computing simple ppt
Cloud computing simple pptCloud computing simple ppt
Cloud computing simple ppt
 
Introduction of Cloud computing
Introduction of Cloud computingIntroduction of Cloud computing
Introduction of Cloud computing
 
cloud computing ppt
cloud computing pptcloud computing ppt
cloud computing ppt
 

Similar to Php & cloud computing

AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...Amazon Web Services
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...Amazon Web Services
 
WORKSHOP: Microservices as Containers on AWS
WORKSHOP: Microservices as Containers on AWSWORKSHOP: Microservices as Containers on AWS
WORKSHOP: Microservices as Containers on AWSCasey Lee
 
Release the Monkeys ! Testing in the Wild at Netflix
Release the Monkeys !  Testing in the Wild at NetflixRelease the Monkeys !  Testing in the Wild at Netflix
Release the Monkeys ! Testing in the Wild at NetflixGareth Bowles
 
Virtualization Landscape & Cloud Computing
Virtualization Landscape & Cloud ComputingVirtualization Landscape & Cloud Computing
Virtualization Landscape & Cloud ComputingAdhish Pendharkar
 
Micro service, Containers & Cluster Management
Micro service, Containers & Cluster ManagementMicro service, Containers & Cluster Management
Micro service, Containers & Cluster ManagementVasu Thiyagarajan
 
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...Docker, Inc.
 
The Mushroom Cloud Effect - What happens when containers fail?
The Mushroom Cloud Effect - What happens when containers fail?The Mushroom Cloud Effect - What happens when containers fail?
The Mushroom Cloud Effect - What happens when containers fail?Alois Mayr
 
Tackling complexity in giant systems: approaches from several cloud providers
Tackling complexity in giant systems: approaches from several cloud providersTackling complexity in giant systems: approaches from several cloud providers
Tackling complexity in giant systems: approaches from several cloud providersPatrick Chanezon
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to DockerSiu Tin
 
Practical Cloud & Workflow Orchestration
Practical Cloud & Workflow OrchestrationPractical Cloud & Workflow Orchestration
Practical Cloud & Workflow OrchestrationChris Dagdigian
 
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of StatelessnessIMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of StatelessnessIn-Memory Computing Summit
 
Building Cloud Native Software
Building Cloud Native SoftwareBuilding Cloud Native Software
Building Cloud Native SoftwarePaul Fremantle
 
MassTLC Cloud Summit Keynote
MassTLC Cloud Summit KeynoteMassTLC Cloud Summit Keynote
MassTLC Cloud Summit KeynoteAriel Tseitlin
 
OpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander Dibbo
OpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander DibboOpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander Dibbo
OpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander DibboOpenNebula Project
 
T1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on awsT1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on awsAmazon Web Services
 
IEEE Cloud 2012: Clouds Hands-On Tutorial
IEEE Cloud 2012: Clouds Hands-On TutorialIEEE Cloud 2012: Clouds Hands-On Tutorial
IEEE Cloud 2012: Clouds Hands-On TutorialSrinath Perera
 
pat kerpan stateless server motion cloud camp
pat kerpan stateless server motion cloud camppat kerpan stateless server motion cloud camp
pat kerpan stateless server motion cloud campSkills Matter
 
AWS re:Invent 2016: Get Technically Inspired by Container-Powered Migrations ...
AWS re:Invent 2016: Get Technically Inspired by Container-Powered Migrations ...AWS re:Invent 2016: Get Technically Inspired by Container-Powered Migrations ...
AWS re:Invent 2016: Get Technically Inspired by Container-Powered Migrations ...Amazon Web Services
 

Similar to Php & cloud computing (20)

AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
AWS re:Invent 2016: From Monolithic to Microservices: Evolving Architecture P...
 
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
ARC205 Building Web-scale Applications Architectures with AWS - AWS re: Inven...
 
WORKSHOP: Microservices as Containers on AWS
WORKSHOP: Microservices as Containers on AWSWORKSHOP: Microservices as Containers on AWS
WORKSHOP: Microservices as Containers on AWS
 
Release the Monkeys ! Testing in the Wild at Netflix
Release the Monkeys !  Testing in the Wild at NetflixRelease the Monkeys !  Testing in the Wild at Netflix
Release the Monkeys ! Testing in the Wild at Netflix
 
Virtualization Landscape & Cloud Computing
Virtualization Landscape & Cloud ComputingVirtualization Landscape & Cloud Computing
Virtualization Landscape & Cloud Computing
 
Micro service, Containers & Cluster Management
Micro service, Containers & Cluster ManagementMicro service, Containers & Cluster Management
Micro service, Containers & Cluster Management
 
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
The Mushroom Cloud Effect or What Happens When Containers Fail? by Alois Mayr...
 
The Mushroom Cloud Effect - What happens when containers fail?
The Mushroom Cloud Effect - What happens when containers fail?The Mushroom Cloud Effect - What happens when containers fail?
The Mushroom Cloud Effect - What happens when containers fail?
 
Tackling complexity in giant systems: approaches from several cloud providers
Tackling complexity in giant systems: approaches from several cloud providersTackling complexity in giant systems: approaches from several cloud providers
Tackling complexity in giant systems: approaches from several cloud providers
 
Introduction to Docker
Introduction to DockerIntroduction to Docker
Introduction to Docker
 
Practical Cloud & Workflow Orchestration
Practical Cloud & Workflow OrchestrationPractical Cloud & Workflow Orchestration
Practical Cloud & Workflow Orchestration
 
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of StatelessnessIMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
IMC Summit 2016 Breakout - Aleksandar Seovic - The Illusion of Statelessness
 
Cloud computing benefits
Cloud computing benefitsCloud computing benefits
Cloud computing benefits
 
Building Cloud Native Software
Building Cloud Native SoftwareBuilding Cloud Native Software
Building Cloud Native Software
 
MassTLC Cloud Summit Keynote
MassTLC Cloud Summit KeynoteMassTLC Cloud Summit Keynote
MassTLC Cloud Summit Keynote
 
OpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander Dibbo
OpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander DibboOpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander Dibbo
OpenNebulaConf2015 1.07 Cloud for Scientific Computing @ STFC - Alexander Dibbo
 
T1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on awsT1 – Architecting highly available applications on aws
T1 – Architecting highly available applications on aws
 
IEEE Cloud 2012: Clouds Hands-On Tutorial
IEEE Cloud 2012: Clouds Hands-On TutorialIEEE Cloud 2012: Clouds Hands-On Tutorial
IEEE Cloud 2012: Clouds Hands-On Tutorial
 
pat kerpan stateless server motion cloud camp
pat kerpan stateless server motion cloud camppat kerpan stateless server motion cloud camp
pat kerpan stateless server motion cloud camp
 
AWS re:Invent 2016: Get Technically Inspired by Container-Powered Migrations ...
AWS re:Invent 2016: Get Technically Inspired by Container-Powered Migrations ...AWS re:Invent 2016: Get Technically Inspired by Container-Powered Migrations ...
AWS re:Invent 2016: Get Technically Inspired by Container-Powered Migrations ...
 

More from 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.
 

More from 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
 

Php & cloud computing

  • 1. PHP & Cloud Computing PHPTOSTART 2013 Walter Dal Mut - @walterdalmut - @corleycloud
  • 2. Whoami • Walter Dal Mut • Corley S.r.l. • Startupper • Scalable CMS • Corley S.r.l. • http://www.corley.it/ • www.xitecms.it • UpCloo Ltd. • Load and Stress tests • http://www.upcloo.com/ • Electronic Engineer • www.corley.it • Polytechnic of Turin • Consultancy • Social • PHP • @walterdalmut - @corleycloud - @upcloo • AWS • Websites • Distributed Systems • walterdalmut.com – corley.it – upcloo.com • Scalable Systems Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 3. AWS - Application Management Solutions Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 4. Why scalability Source Jeff Barr AWS slideshare.net/… Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 5. Also daily… Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 6. Provision with fixed hardware Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 7. Thanks to Cloud Computing Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 8. Are you wasting monies? Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 9. Scalability effects on your business • Scale capacity on demand • Turn fixed costs into variable costs • Always available • Rock-solid reliability • Cost-effective • Reduce time to market • Focus on product and core competencies Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 10. Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 11. Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 12. Scalable PHP environments – Initial Step Web 89.30.31.32/32 MySQL Instance Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 13. Scalable PHP environments – autoscaling MySQL Web Elastic Load Balancer Instance Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 14. Scalable PHP environments – autoscaling Web Instance MySQL Web Elastic Load Balancer Instance Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 15. Scalable PHP environments – autoscaling Web Instance MySQL Web Elastic Load Balancer Instance Web Instance MySQL Read Replica Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 16. AWS (Elastic) Load Balancer • You can distribute incoming traffic across your web instances • When it detects unhealthy load-balanced web instances, it no longer routes traffic to those web instances and spreads the load across the remaining healthy web instances. • Elastic? • automatically scales its request handling capacity in response to incoming application traffic. Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 17. Autoscaling • Scale out web instances seamlessly and automatically when demand increases • Replace unhealthy or unreachable instances to maintain higher availability of your applications. • Scale dynamically based on your Cloud Watch metrics, or predictably according to a schedule that you define.. • Run on-demand or spot instances Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 18. Metrics and Autoscaling EC2 Instance CloudWatch Scaling rules Elastic Load Balancer Autoscaling Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 19. Metrics and Autoscaling EC2 Instance CloudWatch Scaling rules Elastic Load Balancer Autoscaling EC2 Instance Alarms Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 20. Metrics and Autoscaling EC2 Instance CloudWatch Scaling rules Elastic Load Balancer Autoscaling EC2 Instance Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 21. Metrics and Autoscaling EC2 Instance CloudWatch Scaling rules Elastic Load Balancer Autoscaling EC2 Instance Alarms Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 22. Metrics and Autoscaling EC2 Instance CloudWatch Scaling rules Elastic Load Balancer Autoscaling Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 23. Scale with metrics, scheduled or both? • How to scale? It depends by your application • Scheduled scale operations are useful when you have predictable spikes • Metrics when you have heavy spike application and you need to adjust your infrastructure automatically • Mix previous in mixed scenarios • Which metric use in order to scale? • It depends by your application design • CPU heavy scale on CPU load metric • Network heavy scale on network load metric • Etc. • Remember that applications don’t consume only CPU but also other resources Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 24. We have to discuss about: • Session Management • If we open and close servers runtime we have to maintain PHP sessions in order to handle user logins and other application features related to the end user session. • Database connections • All MySQL connectors (PDO, MySQLi, [mysql_*]) handle just one connection… No “x” RDB connection at the same time • Software maintenance • How we can ran the same application version on all our infrastructure? • What about logs? How we can collect VM logs in order to centralize the log management? Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 25. Session Management • Fortunately with PHP you can use different strategies to centralize sessions • Memcache/Memcached (AWS ElastiCache) • Redis • DynamoDB (AWS) • Etc. • We can modify the session_handler in order to use a different storage (php.ini, your application bootstrap, etc.) session.save_handler = memcache session.save_path = “tcp://1.cache.group.domain.tld:11211” Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 26. MySQL – Master/Slave? • Master/Slave is a model of communication where one device or process has unidirectional control over one or more other devices • MySQL can scales out all your read (SELECT) operations on different slave servers. • AWS RDS (Relational Database Service) helps you to create read replicas directly in AWS web console with a couple of clicks! Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 27. PHP Application MySQL READ Replicas SELECT ONLY SLAVE 1 INSERT/UPDATE/ DELETE/SELECT MASTER Application SELECT ONLY SLAVE 2 Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 28. Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 29. Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 30. Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 31. MySQL Native Driver • MySQL native driver? • Available from PHP >= 5.3 • You have to compile your PHP with “mysqlnd” support • --with-mysqli=mysqlnd --with-pdo=mysqlnd --with-mysql=mysqlnd • Delegate to “mysqlnd_ms” the master/slave management • http://php.net/manual/en/book.mysqlnd.php Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 32. Create the mysqlnd_ms configuration file { The simple JSON configuration is divided "myapp": { in two main section "master": { "master_0": { • Master "host": "localhost", • Slaves "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”); Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 33. Maintain softwares Web Elastic Load Balancer Instance Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 34. Maintain softwares Web Instance Web Elastic Load Balancer Instance Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 35. Maintain softwares Web Instance Web Elastic Load Balancer Instance Web Instance Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 36. Maintain softwares Web Instance Elastic Load Balancer Web Instance Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 37. Maintain softwares Web Instance Elastic Load Balancer Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 38. How we can stay fresh? • If servers starts and stops continuously we have to find solutions to stay 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 • Typically you will use both in conjunction Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 39. Cool Up/Down – Inhibits alarms Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 40. Scales in action Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 41. Run commands on multiple servers • If you ran many servers execute commands could be hard. You can use tools to run commands 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 • Chef • Puppet • Etc… Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 42. Fabric is very simple #! /usr/bin/env python from __future__ import with_statement from fabric.api import * EC2 instances are dynamic with don’t know from fabric.contrib.console import confirm addresses, for that reason we can use tagging system to execute commands on a group of from cloth.tasks import * instances env.user = "root" fab nodes:"^production.*" tail env.directory = '/mnt/wordpress' env.key_filename = ['/home/walter/Amazon/wp- Execute the “tail” command on all instances cms.pem'] with a name that starts with “production.” @task Eg. def reload(): • production.web-1 "Reload Apache configuration" • production.log run('/etc/init.d/apache2 reload') • production.mongodb @task def tail(): "Tail Apache logs" run('tail /var/log/syslog') Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 43. Centralize all logs • We create and destroy instances thanks to alarms but when we close an instance we lose immediately all instance/application logs • 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 Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 44. Log management • 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 Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 45. Cloud Conference 2013 – 18 April • www.cloudconf.it • @_CloudConf_ • https://www.facebook.com/pages/Cloud-Conf-Italia/140265592804313?ref=hl • Data analysis • Hadoop – MapReduce Framework • Apache Pig – MapReduce Scripting Language for Hadoop • Apache Hive – Data Warehouse System for Hadoop PUG User Coupon Code: pug-user Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo
  • 46. Thanks for listening Any questions? Walter Dal Mut walter.dalmut@gmail.com @walterdalmut @corleycloud @upcloo

Editor's Notes

  1. We will cover only infrastructures not communications or other types of scalabilities…