carrier paas - cloudstack collaboration event 2012

50
Building Carrier Grade PaaS with CloudStack Uri Cohen @uri1803 | github.com/uric Head of Product @ GigaSpaces #CCC12

Upload: uri-cohen

Post on 15-Jan-2015

2.252 views

Category:

Technology


1 download

DESCRIPTION

A Carrier grade PaaS aims to bring the network and application together. That means that application can easily deployed on multiple sites on different physical location as if it was one big data centre. Unlike regular cloud environment where application need to explicitly handle multi-zone deployments with Carrier PaaS the application workload and availability is handled through policy driven approach. The policy describes the desired application SLA and the Carrier PaaS maps the deployment of the application resources on the cloud node that best fit the latency, load or availability requirements.

TRANSCRIPT

Page 1: Carrier Paas - CloudStack Collaboration Event 2012

Building Carrier Grade PaaS with CloudStack

Uri Cohen @uri1803 | github.com/uric

Head of Product @ GigaSpaces#CCC12

Page 2: Carrier Paas - CloudStack Collaboration Event 2012

Some of You Have

Been through

This

Page 3: Carrier Paas - CloudStack Collaboration Event 2012

And You All

Watched This

Page 4: Carrier Paas - CloudStack Collaboration Event 2012

Where (lots of) the Data

Came From

Page 5: Carrier Paas - CloudStack Collaboration Event 2012

Multiple Channels

TV, smartphone apps, tablet apps, live streaming, print, radio, and APIs

Page 6: Carrier Paas - CloudStack Collaboration Event 2012

Sounds Trivial?

Let’s look at some numbers

Page 7: Carrier Paas - CloudStack Collaboration Event 2012

1,000%The Weather Company’s traffic increase during hurricane Sandy

Page 8: Carrier Paas - CloudStack Collaboration Event 2012

110The amount of data, in GB, served every second during Sandy

Page 9: Carrier Paas - CloudStack Collaboration Event 2012

170,000Peak number of simultaneous streams of video served during Sandy

Page 10: Carrier Paas - CloudStack Collaboration Event 2012

1The amount of data centers that went bust during the storm

Page 11: Carrier Paas - CloudStack Collaboration Event 2012

99%

Availability of weather services from the Weather Company during Sandy

Page 12: Carrier Paas - CloudStack Collaboration Event 2012

How Did They Do

It?

13 Data Centers managed by Verizon across North America, with load balancing between them

Page 13: Carrier Paas - CloudStack Collaboration Event 2012

How Did They Do

It?

Gigabytes of network capacity added in real time by Verizon during the storm

Page 14: Carrier Paas - CloudStack Collaboration Event 2012

How Did They Do

It?

It’s always good to have big friends: • Akamai did its CDN

part • YouTube made sure

live stream stayed available

Page 15: Carrier Paas - CloudStack Collaboration Event 2012

The Weather Company

is Just One Example

When it comes to massive-scale, business critical apps, you have a many more

Page 16: Carrier Paas - CloudStack Collaboration Event 2012

Verizon Runs Many Other

Services w/Similar Concerns

• Cell and network services (DHCP, DNS, …)

• Content serving (SMS, MMS, …)

• Activation services• CRM, call centers…

Page 17: Carrier Paas - CloudStack Collaboration Event 2012

Telco Services

FTW

• Critical to the business• Massive scale• Usage spikes• Complex architectures• Location sensitivity

A.K.A “Carrier Grade”

Page 18: Carrier Paas - CloudStack Collaboration Event 2012

Can You Host This

on a Vanilla

IaaS Cloud?

Page 19: Carrier Paas - CloudStack Collaboration Event 2012

What Carrier Grade Apps

Require

Networking: • Isolation • Controllable

bandwidth• Controllable latency

Page 20: Carrier Paas - CloudStack Collaboration Event 2012

What Carrier Grade Apps

Require

Location awareness: • Deploy closer to users • Prefer specific data

centers • Constrain physical

location (affinity & anti affinity)

Page 21: Carrier Paas - CloudStack Collaboration Event 2012

What Carrier Grade Apps

Require

Cross cloud / data center deployments: • Redundancy • Global affinity / anti

affinity • Bursting

Page 22: Carrier Paas - CloudStack Collaboration Event 2012

What Carrier Grade Apps

Require

Testability:• Identical testing,

staging and production environments

Page 23: Carrier Paas - CloudStack Collaboration Event 2012

What Carrier Grade Apps

Require

Compliance: • Data security • Local regulations • Standards: PCI,

HIPAA, …

Page 24: Carrier Paas - CloudStack Collaboration Event 2012

Why Cloud?

Traditional Telco apps are appliance based• Hard to maintain

(very heterogeneous env.)

• Scaling capacity means buying more appliances ( == $$$, time)

Page 25: Carrier Paas - CloudStack Collaboration Event 2012

From Telco to vTelco

Benefits: • Unified

infrastructure• Lower TCO • Fast testing and

rollout of new products

• Real elastic scaling

Page 26: Carrier Paas - CloudStack Collaboration Event 2012

Why CloudStack?

• It works!• It’s robust • Open source • Extensible • Strong community

Page 27: Carrier Paas - CloudStack Collaboration Event 2012

Can You Host This

on a Vanilla

IaaS Cloud?

Page 28: Carrier Paas - CloudStack Collaboration Event 2012

Maybe, but It

Won’t Be Easy

Page 29: Carrier Paas - CloudStack Collaboration Event 2012

Carrier Cloud & Carrier PaaS

Page 30: Carrier Paas - CloudStack Collaboration Event 2012

What Makes a Carrier Cloud

Different

It’s all about service levels...

HW, Network, Storage, Geography, Regulation

Page 31: Carrier Paas - CloudStack Collaboration Event 2012

What’s a Carrier PaaS?

A platform that will let Telco apps easily leverage the carrier cloud services

Page 32: Carrier Paas - CloudStack Collaboration Event 2012

Introducing CloudBand

A carrier cloud platform, with carrier grade IaaS and PaaS baked right in

Leverages CloudStack & Cloudify

Page 33: Carrier Paas - CloudStack Collaboration Event 2012

Introducing CloudBand

Policy Driven IaaS and PaaS:• Define provisioning,

networking and scaling policies

• Define application stack

• Deploy

Page 34: Carrier Paas - CloudStack Collaboration Event 2012

Network Definition

Page 35: Carrier Paas - CloudStack Collaboration Event 2012

Network & Business Policies

Page 36: Carrier Paas - CloudStack Collaboration Event 2012

Telco Applications Market Place

Page 37: Carrier Paas - CloudStack Collaboration Event 2012

The Building Blocks

Page 38: Carrier Paas - CloudStack Collaboration Event 2012

The Building Blocks

• Bridging the network and the cloud

• Resource constraints• Business policies

Page 39: Carrier Paas - CloudStack Collaboration Event 2012

The Building Blocks

• Different types of Cloud Nodes

• Basic Compute, Storage & Networks services

Page 40: Carrier Paas - CloudStack Collaboration Event 2012

The Building Blocks

Page 41: Carrier Paas - CloudStack Collaboration Event 2012

The Building Blocks• Application level SLA• Application life cycle automation

Page 42: Carrier Paas - CloudStack Collaboration Event 2012

Open source framework for deploying, managing, healing and scaling any app, on any cloud

Page 43: Carrier Paas - CloudStack Collaboration Event 2012

Integrated with CloudStack, so you can build your own kick-ass PaaS!

Page 44: Carrier Paas - CloudStack Collaboration Event 2012

Your App, Your Recipe

Page 45: Carrier Paas - CloudStack Collaboration Event 2012

45

application {name="petclinic"service { name = "mongod" }service { name = "mongoConfig" }service { name = "apacheLB" }service { name = "mongos" dependsOn = ["mongoConfig",

"mongod"]}service { name = "tomcat" dependsOn = ["mongos","apacheLB"]

}}

How It Works

Page 46: Carrier Paas - CloudStack Collaboration Event 2012

46

service { name "mysql" icon "mysql.png" type "DATABASE"

...}

How It Works

Page 47: Carrier Paas - CloudStack Collaboration Event 2012

® Copyright 2012 GigaSpaces Ltd. All Rights Reserved

47

monitors {

def ctxPath = ("default" == context.applicationName)?"":"${context.applicationName}“

def metricNamesToMBeansNames = [ "Current Http Threads Busy": ["Catalina:type=ThreadPool,name=\"http-bio-${currHttpPort}\"", "currentThreadsBusy"], "Current Http Thread Count": ["Catalina:type=ThreadPool,name=\"http-bio-${currHttpPort}\"", "currentThreadCount"],

return getJmxMetrics("127.0.0.1",currJmxPort,metricNamesToMBeansNames)}

How It Works

Page 48: Carrier Paas - CloudStack Collaboration Event 2012

® Copyright 2012 GigaSpaces Ltd. All Rights Reserved

48

scalingRules ([ scalingRule { serviceStatistics { metric "Total Requests Count" statistics Statistics.maximumThroughput movingTimeRangeInSeconds 20 } highThreshold { value 1 instancesIncrease 1 } lowThreshold { value 0.2 instancesDecrease 1 } }])

How It Works

Page 50: Carrier Paas - CloudStack Collaboration Event 2012

Thank You!