onboarding php applications to the cloud
TRANSCRIPT
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