Onboarding PHP Applications to the Cloud Tobias Kunze Briseño, webappVM
May 26, 2015
Onboarding PHP Applications to the Cloud
Tobias Kunze Briseño, webappVM
Onboarding PHP Applicationsto the Cloud
Tobias Kunze Briseño, webappVMInt'l PHP Conference 2009
About
► Tobias Kunze Briseño► Co-founder, CTO at webappVM► Startup, 1.5 years old, venture-backed
Vision
Cloud application platform with integrated management
Outline
Background► Applications► PHP► The “Cloud”
Cloud problems
Solutions
webappVM project
Applications: Architecture
► 2-3-tier web application► Built-in failover
Applications: Types
► Rogue vs managed► “Web n.0” vs mission-critical transaction
processing
Applications: Management
► Enterprise *bilities
Applications: Monsters
Applications: Monster 1
International telco► 1,200 applications► $2.5m spent on management tools► 3 years behind with upgrades► 6 FTEs for agent upgrades► Average time to deploy (TTD): 10-12
weeks
Applications: Monster 2
Mid-sized bank► 50 applications managed► 12 FTEs maintain AM tools and upgrades► $1m/y software maintenance► 600 applications unmanaged► Average TTD: 6-8 weeks
Applications: Monster 3
Large department store► Pays overtime for fire fighting because
AM tools are too expensive► Average TTD: 10-12 weeks
Applications: Monster 4
International financial services company► >100 project managers required to
coordinate every deployment► Average TTD: 8-10 weeks
Applications: Rock Star
Well-known social networking platform► 2 FTEs manage 1200 nodes► Auto-scaling infrastructure► Integrated tooling► 6-8 updates/w (TTD: <1 d)
PHP: Summary
“Shortest line between two points on the web”
―Terry Chay
PHP: Today
► Sweet spot: Strengths support today's business needs
PHP: Operations
► Aligned with virtualization and the cloud?
Cloud: Definitions
► SPI Model: IaaS, PaaS, Saas► On-premise (“private”), hybrid, off-premise
(“public”)
Cloud: Core Benefits
► On-demand, self-service► “Unlimited” resources, scalability► Fully managed► Pay-as-you-go, metered
Cloud: History
► Grid computing: Parallelize large problems► Utility computing: Metered service► SaaS: Pay-as-you-go application delivery► Cloud computing: IaaS, PaaS
Cloud: Drivers
Cost reduction► CAPEX
► No upfront capital cost► No wasteful provisioning for peaks
► OPEX► Minimize admin/node ratio
Panacea for CIO pressures
Cloud: Today
► Single most important strategic initiative in enterprises
► At top of hype cycle
Cloud: Example Initiative
Large financial institution► Initiative to migrate all applications to
the cloud► Develops internal “cloud” with some
external “cloud-bursting”► $5m earmarked to make existing AM
tools “work” in the cloud► 28 new FTEs hired
Cloud: Enablers
Open Source► Scalr, libcloud, libvirt, jclouds, …
Startups► RightScale, Scalr, CloudKick, enStratus, …
Cloud: Applications
Dimensions:► Running in the cloud vs consuming cloud
services► “Green field” vs existing applications
Downer
Can't run in the cloud like in a data center.
Obstacles: Environment
Public cloud► Latency► Networking support► Unportable backends► Existing infrastructure
Any cloud► Licensing► Physical dependencies
Obstacles: Simple Applications
“Old-Skool”► Hosted, maybe redundant, local backend
► Works great, ssh if broken, monitor when feel like it
Obstacles: Simple Apps (cont'd)
In the cloud:► Drastically reduced machine lifespans► No ownership of the machine► Simple things turn into problems
► Where are my logs?► Where are my machines?► What are my capacity needs?► Am I being starved?
Obstacles: Complex Applications
► Solid, enterprise-grade, expensive► “Scar tissue”: port, right-size, upgrade
“Old-Skool”
Obstacles: Complex Apps (cont'd)
In the cloud:
► Re-create physical infrastructure in the cloud
► Existing AM tools don't work in the cloud► Manual, labor-intensive
Problem
Cloud Application Management Disaster≍
Solution: Infrastructure Mgmt
► Too far below the application► Setup & tuning takes weeks► (Some vendors move into application space)
Solution: Managed Platform
► Supports full application life cycle► Supports full monitoring► Requires software management
Solution: Platform Requirements
► Support common architectures► Support existing applications► Support different stacks► Support lean development► Provide portability► Provide automation
webappVM: ProjectVision:
► Open Source: Cloud application platform with integrated management
► Enterprise: Monitoring, …
Feature areas: Run, manage, scale
webappVM: Platform
Application capsule► Application► Dependencies► Configuration
Cartridges► Application
support
webappVM: Onboarding
webappVM: Package Management
► Advanced dependency management► Deployment control► “Sysadmin-in-the-box” delivers events
webappVM: Clustering
► Right-scale: Discover, join, unjoin► Load balancing► Virtual IP► Log management► Redundancy
webappVM: Cloud Support
Cloud providers► Amazon EC2► Rackspace Cloud► Sun Cloud► Terremark Enterprise Cloud
Hypervisors► VirtualBox► VMware ESX(i)/Server/Workstation/Player► Xen
► webappVM delivered as a VM
webappVM: Enterprise Edition
► “Single-pane-of-glass” dashboard► Application performance management► End-to-end transaction monitoring► Method-level monitoring
► Alerting► Provisioning► Full correlation
webappVM: Come Play With Us!
webappVM: Preview
Looking for► PHP (and Java) applications► Standard modules► No odd binary requirements► No background tasks
Q&A