44
Onboarding PHP Applications to the Cloud Tobias Kunze Briseño, webappVM

Onboarding PHP Applications to the Cloud

Embed Size (px)

Citation preview

Page 1: Onboarding PHP Applications to the Cloud

Onboarding PHP Applications to the Cloud

Tobias Kunze Briseño, webappVM

Page 2: Onboarding PHP Applications to the Cloud

Onboarding PHP Applicationsto the Cloud

Tobias Kunze Briseño, webappVMInt'l PHP Conference 2009

Page 3: Onboarding PHP Applications to the Cloud

About

► Tobias Kunze Briseño► Co-founder, CTO at webappVM► Startup, 1.5 years old, venture-backed

Vision

Cloud application platform with integrated management

Page 4: Onboarding PHP Applications to the Cloud

Outline

Background► Applications► PHP► The “Cloud”

Cloud problems

Solutions

webappVM project

Page 5: Onboarding PHP Applications to the Cloud

Applications: Architecture

► 2-3-tier web application► Built-in failover

Page 6: Onboarding PHP Applications to the Cloud

Applications: Types

► Rogue vs managed► “Web n.0” vs mission-critical transaction

processing

Page 7: Onboarding PHP Applications to the Cloud

Applications: Management

► Enterprise *bilities

Page 8: Onboarding PHP Applications to the Cloud

Applications: Monsters

Page 9: Onboarding PHP Applications to the Cloud

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

Page 10: Onboarding PHP Applications to the Cloud

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

Page 11: Onboarding PHP Applications to the Cloud

Applications: Monster 3

Large department store► Pays overtime for fire fighting because

AM tools are too expensive► Average TTD: 10-12 weeks

Page 12: Onboarding PHP Applications to the Cloud

Applications: Monster 4

International financial services company► >100 project managers required to

coordinate every deployment► Average TTD: 8-10 weeks

Page 13: Onboarding PHP Applications to the Cloud

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)

Page 14: Onboarding PHP Applications to the Cloud

PHP: Summary

“Shortest line between two points on the web”

―Terry Chay

Page 15: Onboarding PHP Applications to the Cloud

PHP: Today

► Sweet spot: Strengths support today's business needs

Page 16: Onboarding PHP Applications to the Cloud

PHP: Operations

► Aligned with virtualization and the cloud?

Page 17: Onboarding PHP Applications to the Cloud

Cloud: Definitions

► SPI Model: IaaS, PaaS, Saas► On-premise (“private”), hybrid, off-premise

(“public”)

Page 18: Onboarding PHP Applications to the Cloud

Cloud: Core Benefits

► On-demand, self-service► “Unlimited” resources, scalability► Fully managed► Pay-as-you-go, metered

Page 19: Onboarding PHP Applications to the Cloud

Cloud: History

► Grid computing: Parallelize large problems► Utility computing: Metered service► SaaS: Pay-as-you-go application delivery► Cloud computing: IaaS, PaaS

Page 20: Onboarding PHP Applications to the Cloud

Cloud: Drivers

Cost reduction► CAPEX

► No upfront capital cost► No wasteful provisioning for peaks

► OPEX► Minimize admin/node ratio

Panacea for CIO pressures

Page 21: Onboarding PHP Applications to the Cloud

Cloud: Today

► Single most important strategic initiative in enterprises

► At top of hype cycle

Page 22: Onboarding PHP Applications to the Cloud

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

Page 23: Onboarding PHP Applications to the Cloud

Cloud: Enablers

Open Source► Scalr, libcloud, libvirt, jclouds, …

Startups► RightScale, Scalr, CloudKick, enStratus, …

Page 24: Onboarding PHP Applications to the Cloud

Cloud: Applications

Dimensions:► Running in the cloud vs consuming cloud

services► “Green field” vs existing applications

Page 25: Onboarding PHP Applications to the Cloud

Downer

Can't run in the cloud like in a data center.

Page 26: Onboarding PHP Applications to the Cloud

Obstacles: Environment

Public cloud► Latency► Networking support► Unportable backends► Existing infrastructure

Any cloud► Licensing► Physical dependencies

Page 27: Onboarding PHP Applications to the Cloud

Obstacles: Simple Applications

“Old-Skool”► Hosted, maybe redundant, local backend

► Works great, ssh if broken, monitor when feel like it

Page 28: Onboarding PHP Applications to the Cloud

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?

Page 29: Onboarding PHP Applications to the Cloud

Obstacles: Complex Applications

► Solid, enterprise-grade, expensive► “Scar tissue”: port, right-size, upgrade

“Old-Skool”

Page 30: Onboarding PHP Applications to the Cloud

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

Page 31: Onboarding PHP Applications to the Cloud

Problem

Cloud Application Management Disaster≍

Page 32: Onboarding PHP Applications to the Cloud

Solution: Infrastructure Mgmt

► Too far below the application► Setup & tuning takes weeks► (Some vendors move into application space)

Page 33: Onboarding PHP Applications to the Cloud

Solution: Managed Platform

► Supports full application life cycle► Supports full monitoring► Requires software management

Page 34: Onboarding PHP Applications to the Cloud

Solution: Platform Requirements

► Support common architectures► Support existing applications► Support different stacks► Support lean development► Provide portability► Provide automation

Page 35: Onboarding PHP Applications to the Cloud

webappVM: ProjectVision:

► Open Source: Cloud application platform with integrated management

► Enterprise: Monitoring, …

Feature areas: Run, manage, scale

Page 36: Onboarding PHP Applications to the Cloud

webappVM: Platform

Application capsule► Application► Dependencies► Configuration

Cartridges► Application

support

Page 37: Onboarding PHP Applications to the Cloud

webappVM: Onboarding

Page 38: Onboarding PHP Applications to the Cloud

webappVM: Package Management

► Advanced dependency management► Deployment control► “Sysadmin-in-the-box” delivers events

Page 39: Onboarding PHP Applications to the Cloud

webappVM: Clustering

► Right-scale: Discover, join, unjoin► Load balancing► Virtual IP► Log management► Redundancy

Page 40: Onboarding PHP Applications to the Cloud

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

Page 41: Onboarding PHP Applications to the Cloud

webappVM: Enterprise Edition

► “Single-pane-of-glass” dashboard► Application performance management► End-to-end transaction monitoring► Method-level monitoring

► Alerting► Provisioning► Full correlation

Page 42: Onboarding PHP Applications to the Cloud

webappVM: Come Play With Us!

<[email protected]>

Page 43: Onboarding PHP Applications to the Cloud

webappVM: Preview

Looking for► PHP (and Java) applications► Standard modules► No odd binary requirements► No background tasks

<[email protected]>

Page 44: Onboarding PHP Applications to the Cloud

Q&A