SlideShare una empresa de Scribd logo
1 de 30
Descargar para leer sin conexión
PHP Startup Prototypes
        By @emgiezet
Who am I?
 ●   In PHP since 2003
 ●   In Symfony since 1.2.14
 ●   Master @ wmid.amu.edu.pl
 ●   Tech Lead @ RedExperts
 ●   self-employed
 ●   Blogger & Geek
new Agenda();

$presentation[0] = 'Who am I?';
$presentation[1] = 'I got an idea but have no money!';
$presentation[2] = 'PAAS';
$presentation[3] = 'PAAS – Providers';
$presentation[4] = 'Costs?';
$presentation[5] = 'Application';
$presentation[6] = 'Silex';
$presentation[7] = 'Laravel4';
$presentation[8] = 'Our cloud is under siege!';
$presentation[9] = 'Charts and other crap';
$presentation[10] = 'Q&A';
$presentation[11] = 'Tank You!';
PaaS == Platform As A Service
●   Focused on application
●   No additional infrastructure required
●   Deploy and Forget
●   Load Balancer? Who needs the load balancer?
●   No admin support needed anymore! Sorry guys.
PHP friendly PaaS - Providers
appfog
   ●   Evolves from PHPFog
   ●   After Deployment Scripts
   ●   Easy to deploy
   ●   Additional Services Config available via get_env();
   ●   Gem application to deploy your app
   ●   2GB of RAM for your apps for free!
   ●   Up to 10 Services for your apps free!
   ●   Time to time throws 500 on appfog panel.
   ●   Cannot write to disk of instance for ex. file uploads
       or file cache.
   ●   No auto scaling
Engine Yard - Orchestra
            ●   Deploys straight from
                repository(Git and SVN)
            ●   Production database need to be
                hosted on AWS - $$$
            ●   Only orchestra sub-domain
            ●   Only free add ons at free plan
            ●   1 concurrent connection – our
                siege tests are ruined!
            ●   No auto scaling
heroku
   ●   Cloud level: “Asians”
   ●   Based on ngnix
   ●   Dev DB up to 10k rows is free
   ●   Production DB starts from $9 /
       mo.
   ●   Only 1 instance is free
   ●   Needs special a “buildpack”
OPENSHIFT
     ●   RedHat based must be awesome!
     ●   Build on Zend Server
     ●   3 small “gears” 512 MB RAM for free!
     ●   Each “gear” can have MySQL, MongoDB,
         PostgreSQL, phpMyAdmin etc.
     ●   Free application can have auto-scale feature
         and fill all the 3 gears available on the traffic
         peak.
Costs?!
PAAS – Providers Free Plans
Feature                       Orchestra      Heroku           OpenShift
RAM               2GB             ?            ?           512MB / inst.
Storage       1 GB / inst.    2$ / mo.       Dev s3         1GB / inst.
MySQL                         Shared DB     10k rows        1 / instance
MongoDB         Up to 10      ?$ / mo.       496 MB         1 / instance
Redis                             X          100 MB              X
Memcached          X              X         1x 25 MB             X
Location     US,Europe,Asia    US West    Cannot select     Cannot select
Instances       Up to 16          2             1         Salable up to 3
Deploy         by gem af      from git    by toolbelt     by gem rhc or by
                                                               jenkins
My Grade:          4+             2            3                 4
Application
●   Routing and ORM based.
●   Cloud friendly – easy to scale horizontally,
●   Database filled with 10k of random records
●   One controller displays the data from the DB
●   Composer based installation ( I wish be there )
●   Big frameworks aren't supported (mostly) ;(
●   So let's go with micro-frameworks!
Cloud friendly Application? WAT?
●   Can use Master/Slave DB Connection.
●   Gives ability to store session in DB/Memcache/Redis
    because sticky session sux hard by keeping user only at
    single instance/node while session is valid.
●   Can use external storage for uploads (ex. Amazon S3
    bucket)
●
Micro-frameworks
Silex
   ●   Build on symfony2
       components!
   ●   Uses TWIG
   ●   Has lot's of extensions
   ●   Easy to use for symfony2
       developers
   ●   Cloud friendly!
Laravel 4
     ●   Also uses symfony2
         components,
     ●   Well documented,
     ●   Light weight,
     ●   Popular
     ●   DBAL – not so great
Let's build the APPs!
           ●   One controller with one action
           ●   Display the data
           ●   Add a memcached if available
           ●   Create a fixtures or dump to fill
               the database!
           ●   Deploy the apps in to the cloud!
But before we deploy them...
              ●   We need to create our
                  apps in the PAAS Cloud!
              ●   Configure the build,
              ●   Add a resources(RAM,
                  additional services),
              ●   Load Balancing? Forget.
                  PAAS has LB build in!
Our Cloud is under siege!
Siege Config
●   15 concurrent users
●   1 minute of siege
Siege Results
Results                   appfog          Engine Yard            heroku            openshift
Framework           Silex     Laravel4   Silex   Laravel4   Silex    Laravel4   Silex   Laravel4

Transactions        1050           863    N         S        ?            ?
Availability        97.31      96.42      A         E        ?            ?
Data transferred   7.44 MB    8.48 MB     T         L        ?            ?

Response time      0.31 s     0.51 s      U         E        ?            ?

Transaction rate    17.77      14.59      R         C        ?            ?

Concurrency         5.44           7.5    A         T        ?            ?
Successful           58            67     L         I        ?            ?
transactions

Failed               29            32     -         O        ?            ?
transactions:

Longest             4.95       8.23       -         N        ?            ?
transaction:
Charts!
AppFog
                                                                                                                                                  Laravel4
                                                                                                                                                  Silex
120



100



80



60



40



20



 0
                      Data transferred:             Response time:             Concurrency:            Failed transactions:        Shortest transaction:
      Availability:                  Transaction rate:             Throughput:         Successful transactions       Longest transaction:
Conclusion
●   Orchestra - free plan is not enough even for startup-fest. It
    will lag on final pitches.
●   AppFog -
●   Heroku -
●   Openshift
●   Silex – Fastest! For Symfony2 developers the best choice!
●   Laravel4 – Weirdo DBAL. Fast but silex kicks his ass.
Conclusion
●   Orchestra - free plan is not enough even for startup-fest. It
    will lag on final pitches.
●   AppFog – Easiest!
●   Silex – Fastest! For Symfony2 developers the best choice!
●   Laravel4 – Weirdo DBAL. Fast but silex kicks his ass.
Engine Yard - Orchestra
           Plus:
            ●   Well documented


           Minus:
            ●   Free plan is not enough
                even for startup-fest. It will
                lag on final pitches.
Heroku
   Plus:
   ●   Super rich add-ons market!
   ●   Most of the add-ons have free plan!
   ●   Easy to configure
   ●

   Minus:
   ●   Only one node for free
   ●   Deployment Massacre
Q&A
●   Dare to ask!
meetPHP#8 - PHP startups prototypes

Más contenido relacionado

La actualidad más candente

SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationClaus Ibsen
 
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuffBuildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuffPatrick Shuff
 
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOUHOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOULucas Jellema
 
What's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech TalkWhat's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech TalkRed Hat Developers
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesClaus Ibsen
 
Scaling LoL Chat to 70M Players
Scaling LoL Chat to 70M PlayersScaling LoL Chat to 70M Players
Scaling LoL Chat to 70M PlayersMichał Ptaszek
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes InternalsShimi Bandiel
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Claus Ibsen
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Claus Ibsen
 
Building flexible ETL pipelines with Apache Camel on Quarkus
Building flexible ETL pipelines with Apache Camel on QuarkusBuilding flexible ETL pipelines with Apache Camel on Quarkus
Building flexible ETL pipelines with Apache Camel on QuarkusIvelin Yanev
 
JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyelliando dias
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelClaus Ibsen
 
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...Redis Labs
 
[En] IPVS for Docker Containers
[En] IPVS for Docker Containers[En] IPVS for Docker Containers
[En] IPVS for Docker ContainersAndrey Sibirev
 
Erlang Lightning Talk
Erlang Lightning TalkErlang Lightning Talk
Erlang Lightning TalkGiltTech
 
[GID Live] Open-Source Cloud-Native Programming Language
[GID Live] Open-Source Cloud-Native Programming Language[GID Live] Open-Source Cloud-Native Programming Language
[GID Live] Open-Source Cloud-Native Programming LanguageBallerinalang
 
Pharo VM Performance
Pharo VM PerformancePharo VM Performance
Pharo VM PerformancePharo
 

La actualidad más candente (20)

SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integrationSouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
SouJava May 2020: Apache Camel 3 - the next generation of enterprise integration
 
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuffBuildinga billionuserloadbalancer may2015-sre-con15europe-shuff
Buildinga billionuserloadbalancer may2015-sre-con15europe-shuff
 
Scaling i/o bound Microservices
Scaling i/o bound MicroservicesScaling i/o bound Microservices
Scaling i/o bound Microservices
 
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOUHOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
HOW AND WHY GRAALVM IS QUICKLY BECOMING RELEVANT FOR YOU
 
What's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech TalkWhat's new with Apache Camel 3? | DevNation Tech Talk
What's new with Apache Camel 3? | DevNation Tech Talk
 
Integrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetesIntegrating microservices with apache camel on kubernetes
Integrating microservices with apache camel on kubernetes
 
Scaling LoL Chat to 70M Players
Scaling LoL Chat to 70M PlayersScaling LoL Chat to 70M Players
Scaling LoL Chat to 70M Players
 
Neodev
NeodevNeodev
Neodev
 
Kubernetes Internals
Kubernetes InternalsKubernetes Internals
Kubernetes Internals
 
Should i Go there
Should i Go thereShould i Go there
Should i Go there
 
Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...Best Practices for Middleware and Integration Architecture Modernization with...
Best Practices for Middleware and Integration Architecture Modernization with...
 
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
Red Hat Nordics 2020 - Apache Camel 3 the next generation of enterprise integ...
 
Building flexible ETL pipelines with Apache Camel on Quarkus
Building flexible ETL pipelines with Apache Camel on QuarkusBuilding flexible ETL pipelines with Apache Camel on Quarkus
Building flexible ETL pipelines with Apache Camel on Quarkus
 
JRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRubyJRoR Deploying Rails on JRuby
JRoR Deploying Rails on JRuby
 
Integrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and CamelIntegrating systems in the age of Quarkus and Camel
Integrating systems in the age of Quarkus and Camel
 
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
Build a Deep Learning App with Tensorflow & Redis by Jayesh Ahire and Sherin ...
 
[En] IPVS for Docker Containers
[En] IPVS for Docker Containers[En] IPVS for Docker Containers
[En] IPVS for Docker Containers
 
Erlang Lightning Talk
Erlang Lightning TalkErlang Lightning Talk
Erlang Lightning Talk
 
[GID Live] Open-Source Cloud-Native Programming Language
[GID Live] Open-Source Cloud-Native Programming Language[GID Live] Open-Source Cloud-Native Programming Language
[GID Live] Open-Source Cloud-Native Programming Language
 
Pharo VM Performance
Pharo VM PerformancePharo VM Performance
Pharo VM Performance
 

Destacado

Sigms leadership webinar
Sigms leadership webinarSigms leadership webinar
Sigms leadership webinarISTE SIGMS
 
SIGMS at the TL Virtual Cafe
SIGMS at the TL Virtual CafeSIGMS at the TL Virtual Cafe
SIGMS at the TL Virtual CafeISTE SIGMS
 
ISTE SIGMS Forum 2012
ISTE SIGMS Forum 2012ISTE SIGMS Forum 2012
ISTE SIGMS Forum 2012ISTE SIGMS
 
教會改用Open office的經驗
教會改用Open office的經驗教會改用Open office的經驗
教會改用Open office的經驗春男 洪
 
400 must have words for the toefl
400 must have words for the toefl400 must have words for the toefl
400 must have words for the toeflAcolabaco
 
Heteroskedasticity
HeteroskedasticityHeteroskedasticity
Heteroskedasticityhalimuth
 
Creatividad plural creatividad social. resumen
Creatividad plural   creatividad social. resumenCreatividad plural   creatividad social. resumen
Creatividad plural creatividad social. resumenUrimari Sánchez
 
meet.php #11 - Huston, we have an airbrake
meet.php #11 - Huston, we have an airbrakemeet.php #11 - Huston, we have an airbrake
meet.php #11 - Huston, we have an airbrakeMax Małecki
 
資料結構平常測驗一的解答
資料結構平常測驗一的解答資料結構平常測驗一的解答
資料結構平常測驗一的解答春男 洪
 

Destacado (14)

Sigms leadership webinar
Sigms leadership webinarSigms leadership webinar
Sigms leadership webinar
 
SIGMS at the TL Virtual Cafe
SIGMS at the TL Virtual CafeSIGMS at the TL Virtual Cafe
SIGMS at the TL Virtual Cafe
 
Chapter01
Chapter01Chapter01
Chapter01
 
ISTE SIGMS Forum 2012
ISTE SIGMS Forum 2012ISTE SIGMS Forum 2012
ISTE SIGMS Forum 2012
 
Creative Gifts for Year 2014
Creative Gifts for Year 2014Creative Gifts for Year 2014
Creative Gifts for Year 2014
 
Section1-1
Section1-1Section1-1
Section1-1
 
Creative Gifts & Premium2014
Creative Gifts & Premium2014Creative Gifts & Premium2014
Creative Gifts & Premium2014
 
教會改用Open office的經驗
教會改用Open office的經驗教會改用Open office的經驗
教會改用Open office的經驗
 
Chapter03
Chapter03Chapter03
Chapter03
 
400 must have words for the toefl
400 must have words for the toefl400 must have words for the toefl
400 must have words for the toefl
 
Heteroskedasticity
HeteroskedasticityHeteroskedasticity
Heteroskedasticity
 
Creatividad plural creatividad social. resumen
Creatividad plural   creatividad social. resumenCreatividad plural   creatividad social. resumen
Creatividad plural creatividad social. resumen
 
meet.php #11 - Huston, we have an airbrake
meet.php #11 - Huston, we have an airbrakemeet.php #11 - Huston, we have an airbrake
meet.php #11 - Huston, we have an airbrake
 
資料結構平常測驗一的解答
資料結構平常測驗一的解答資料結構平常測驗一的解答
資料結構平常測驗一的解答
 

Similar a meetPHP#8 - PHP startups prototypes

DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Waysmalltown
 
Deploying Perl apps on dotCloud
Deploying Perl apps on dotCloudDeploying Perl apps on dotCloud
Deploying Perl apps on dotClouddaoswald
 
SlapOS Presentation at VW2011 Seoul
SlapOS Presentation at VW2011 SeoulSlapOS Presentation at VW2011 Seoul
SlapOS Presentation at VW2011 SeoulJean-Paul Smets
 
Scaling with Symfony - PHP UK
Scaling with Symfony - PHP UKScaling with Symfony - PHP UK
Scaling with Symfony - PHP UKRicard Clau
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2aspyker
 
Glauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platformGlauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platformDon Marti
 
Jvm tuning in a rush! - Lviv JUG
Jvm tuning in a rush! - Lviv JUGJvm tuning in a rush! - Lviv JUG
Jvm tuning in a rush! - Lviv JUGTomek Borek
 
Java tuning on GNU/Linux for busy dev
Java tuning on GNU/Linux for busy devJava tuning on GNU/Linux for busy dev
Java tuning on GNU/Linux for busy devTomek Borek
 
Experiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsExperiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsCeph Community
 
Malware analysis
Malware analysisMalware analysis
Malware analysisxabean
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013dotCloud
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Docker, Inc.
 
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...Athens Big Data
 
Building Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleBuilding Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleDamien Garros
 
Docker and Fluentd
Docker and FluentdDocker and Fluentd
Docker and FluentdN Masahiro
 
Midwest php 2013 deploying php on paas- why & how
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & howdotCloud
 
Fluentd meetup logging infrastructure in paa s
Fluentd meetup   logging infrastructure in paa sFluentd meetup   logging infrastructure in paa s
Fluentd meetup logging infrastructure in paa sRakuten Group, Inc.
 

Similar a meetPHP#8 - PHP startups prototypes (20)

DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps WayDevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
DevOpsDays Taipei 2019 - Mastering IaC the DevOps Way
 
Deploying Perl apps on dotCloud
Deploying Perl apps on dotCloudDeploying Perl apps on dotCloud
Deploying Perl apps on dotCloud
 
SlapOS Presentation at VW2011 Seoul
SlapOS Presentation at VW2011 SeoulSlapOS Presentation at VW2011 Seoul
SlapOS Presentation at VW2011 Seoul
 
Scaling with Symfony - PHP UK
Scaling with Symfony - PHP UKScaling with Symfony - PHP UK
Scaling with Symfony - PHP UK
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2
 
Glauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platformGlauber Costa on OSv as NoSQL platform
Glauber Costa on OSv as NoSQL platform
 
Jvm tuning in a rush! - Lviv JUG
Jvm tuning in a rush! - Lviv JUGJvm tuning in a rush! - Lviv JUG
Jvm tuning in a rush! - Lviv JUG
 
Java tuning on GNU/Linux for busy dev
Java tuning on GNU/Linux for busy devJava tuning on GNU/Linux for busy dev
Java tuning on GNU/Linux for busy dev
 
Experiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah WatkinsExperiences building a distributed shared log on RADOS - Noah Watkins
Experiences building a distributed shared log on RADOS - Noah Watkins
 
Full stack development
Full stack developmentFull stack development
Full stack development
 
Shootout at the PAAS Corral
Shootout at the PAAS CorralShootout at the PAAS Corral
Shootout at the PAAS Corral
 
Malware analysis
Malware analysisMalware analysis
Malware analysis
 
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013Lightweight Virtualization with Linux Containers and Docker | YaC 2013
Lightweight Virtualization with Linux Containers and Docker | YaC 2013
 
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013Lightweight Virtualization with Linux Containers and Docker I YaC 2013
Lightweight Virtualization with Linux Containers and Docker I YaC 2013
 
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
14th Athens Big Data Meetup - Landoop Workshop - Apache Kafka Entering The St...
 
Building Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and AnsibleBuilding Cloud Virtual Topologies with Ravello and Ansible
Building Cloud Virtual Topologies with Ravello and Ansible
 
Docker and Fluentd
Docker and FluentdDocker and Fluentd
Docker and Fluentd
 
Midwest php 2013 deploying php on paas- why & how
Midwest php 2013   deploying php on paas- why & howMidwest php 2013   deploying php on paas- why & how
Midwest php 2013 deploying php on paas- why & how
 
Scaling symfony apps
Scaling symfony appsScaling symfony apps
Scaling symfony apps
 
Fluentd meetup logging infrastructure in paa s
Fluentd meetup   logging infrastructure in paa sFluentd meetup   logging infrastructure in paa s
Fluentd meetup logging infrastructure in paa s
 

Último

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 

Último (20)

Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 

meetPHP#8 - PHP startups prototypes

  • 1. PHP Startup Prototypes By @emgiezet
  • 2. Who am I? ● In PHP since 2003 ● In Symfony since 1.2.14 ● Master @ wmid.amu.edu.pl ● Tech Lead @ RedExperts ● self-employed ● Blogger & Geek
  • 3. new Agenda(); $presentation[0] = 'Who am I?'; $presentation[1] = 'I got an idea but have no money!'; $presentation[2] = 'PAAS'; $presentation[3] = 'PAAS – Providers'; $presentation[4] = 'Costs?'; $presentation[5] = 'Application'; $presentation[6] = 'Silex'; $presentation[7] = 'Laravel4'; $presentation[8] = 'Our cloud is under siege!'; $presentation[9] = 'Charts and other crap'; $presentation[10] = 'Q&A'; $presentation[11] = 'Tank You!';
  • 4. PaaS == Platform As A Service ● Focused on application ● No additional infrastructure required ● Deploy and Forget ● Load Balancer? Who needs the load balancer? ● No admin support needed anymore! Sorry guys.
  • 5. PHP friendly PaaS - Providers
  • 6.
  • 7. appfog ● Evolves from PHPFog ● After Deployment Scripts ● Easy to deploy ● Additional Services Config available via get_env(); ● Gem application to deploy your app ● 2GB of RAM for your apps for free! ● Up to 10 Services for your apps free! ● Time to time throws 500 on appfog panel. ● Cannot write to disk of instance for ex. file uploads or file cache. ● No auto scaling
  • 8. Engine Yard - Orchestra ● Deploys straight from repository(Git and SVN) ● Production database need to be hosted on AWS - $$$ ● Only orchestra sub-domain ● Only free add ons at free plan ● 1 concurrent connection – our siege tests are ruined! ● No auto scaling
  • 9. heroku ● Cloud level: “Asians” ● Based on ngnix ● Dev DB up to 10k rows is free ● Production DB starts from $9 / mo. ● Only 1 instance is free ● Needs special a “buildpack”
  • 10. OPENSHIFT ● RedHat based must be awesome! ● Build on Zend Server ● 3 small “gears” 512 MB RAM for free! ● Each “gear” can have MySQL, MongoDB, PostgreSQL, phpMyAdmin etc. ● Free application can have auto-scale feature and fill all the 3 gears available on the traffic peak.
  • 12. PAAS – Providers Free Plans Feature Orchestra Heroku OpenShift RAM 2GB ? ? 512MB / inst. Storage 1 GB / inst. 2$ / mo. Dev s3 1GB / inst. MySQL Shared DB 10k rows 1 / instance MongoDB Up to 10 ?$ / mo. 496 MB 1 / instance Redis X 100 MB X Memcached X X 1x 25 MB X Location US,Europe,Asia US West Cannot select Cannot select Instances Up to 16 2 1 Salable up to 3 Deploy by gem af from git by toolbelt by gem rhc or by jenkins My Grade: 4+ 2 3 4
  • 13. Application ● Routing and ORM based. ● Cloud friendly – easy to scale horizontally, ● Database filled with 10k of random records ● One controller displays the data from the DB ● Composer based installation ( I wish be there ) ● Big frameworks aren't supported (mostly) ;( ● So let's go with micro-frameworks!
  • 14. Cloud friendly Application? WAT? ● Can use Master/Slave DB Connection. ● Gives ability to store session in DB/Memcache/Redis because sticky session sux hard by keeping user only at single instance/node while session is valid. ● Can use external storage for uploads (ex. Amazon S3 bucket) ●
  • 16. Silex ● Build on symfony2 components! ● Uses TWIG ● Has lot's of extensions ● Easy to use for symfony2 developers ● Cloud friendly!
  • 17. Laravel 4 ● Also uses symfony2 components, ● Well documented, ● Light weight, ● Popular ● DBAL – not so great
  • 18. Let's build the APPs! ● One controller with one action ● Display the data ● Add a memcached if available ● Create a fixtures or dump to fill the database! ● Deploy the apps in to the cloud!
  • 19. But before we deploy them... ● We need to create our apps in the PAAS Cloud! ● Configure the build, ● Add a resources(RAM, additional services), ● Load Balancing? Forget. PAAS has LB build in!
  • 20. Our Cloud is under siege!
  • 21. Siege Config ● 15 concurrent users ● 1 minute of siege
  • 22. Siege Results Results appfog Engine Yard heroku openshift Framework Silex Laravel4 Silex Laravel4 Silex Laravel4 Silex Laravel4 Transactions 1050 863 N S ? ? Availability 97.31 96.42 A E ? ? Data transferred 7.44 MB 8.48 MB T L ? ? Response time 0.31 s 0.51 s U E ? ? Transaction rate 17.77 14.59 R C ? ? Concurrency 5.44 7.5 A T ? ? Successful 58 67 L I ? ? transactions Failed 29 32 - O ? ? transactions: Longest 4.95 8.23 - N ? ? transaction:
  • 24. AppFog Laravel4 Silex 120 100 80 60 40 20 0 Data transferred: Response time: Concurrency: Failed transactions: Shortest transaction: Availability: Transaction rate: Throughput: Successful transactions Longest transaction:
  • 25. Conclusion ● Orchestra - free plan is not enough even for startup-fest. It will lag on final pitches. ● AppFog - ● Heroku - ● Openshift ● Silex – Fastest! For Symfony2 developers the best choice! ● Laravel4 – Weirdo DBAL. Fast but silex kicks his ass.
  • 26. Conclusion ● Orchestra - free plan is not enough even for startup-fest. It will lag on final pitches. ● AppFog – Easiest! ● Silex – Fastest! For Symfony2 developers the best choice! ● Laravel4 – Weirdo DBAL. Fast but silex kicks his ass.
  • 27. Engine Yard - Orchestra Plus: ● Well documented Minus: ● Free plan is not enough even for startup-fest. It will lag on final pitches.
  • 28. Heroku Plus: ● Super rich add-ons market! ● Most of the add-ons have free plan! ● Easy to configure ● Minus: ● Only one node for free ● Deployment Massacre
  • 29. Q&A ● Dare to ask!