carrier paas - cloudstack collaboration event 2012
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
Building Carrier Grade PaaS with CloudStack
Uri Cohen @uri1803 | github.com/uric
Head of Product @ GigaSpaces#CCC12
Some of You Have
Been through
This
And You All
Watched This
Where (lots of) the Data
Came From
Multiple Channels
TV, smartphone apps, tablet apps, live streaming, print, radio, and APIs
Sounds Trivial?
Let’s look at some numbers
1,000%The Weather Company’s traffic increase during hurricane Sandy
110The amount of data, in GB, served every second during Sandy
170,000Peak number of simultaneous streams of video served during Sandy
1The amount of data centers that went bust during the storm
99%
Availability of weather services from the Weather Company during Sandy
How Did They Do
It?
13 Data Centers managed by Verizon across North America, with load balancing between them
How Did They Do
It?
Gigabytes of network capacity added in real time by Verizon during the storm
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
The Weather Company
is Just One Example
When it comes to massive-scale, business critical apps, you have a many more
Verizon Runs Many Other
Services w/Similar Concerns
• Cell and network services (DHCP, DNS, …)
• Content serving (SMS, MMS, …)
• Activation services• CRM, call centers…
Telco Services
FTW
• Critical to the business• Massive scale• Usage spikes• Complex architectures• Location sensitivity
A.K.A “Carrier Grade”
Can You Host This
on a Vanilla
IaaS Cloud?
What Carrier Grade Apps
Require
Networking: • Isolation • Controllable
bandwidth• Controllable latency
What Carrier Grade Apps
Require
Location awareness: • Deploy closer to users • Prefer specific data
centers • Constrain physical
location (affinity & anti affinity)
What Carrier Grade Apps
Require
Cross cloud / data center deployments: • Redundancy • Global affinity / anti
affinity • Bursting
What Carrier Grade Apps
Require
Testability:• Identical testing,
staging and production environments
What Carrier Grade Apps
Require
Compliance: • Data security • Local regulations • Standards: PCI,
HIPAA, …
Why Cloud?
Traditional Telco apps are appliance based• Hard to maintain
(very heterogeneous env.)
• Scaling capacity means buying more appliances ( == $$$, time)
From Telco to vTelco
Benefits: • Unified
infrastructure• Lower TCO • Fast testing and
rollout of new products
• Real elastic scaling
Why CloudStack?
• It works!• It’s robust • Open source • Extensible • Strong community
Can You Host This
on a Vanilla
IaaS Cloud?
Maybe, but It
Won’t Be Easy
Carrier Cloud & Carrier PaaS
What Makes a Carrier Cloud
Different
It’s all about service levels...
HW, Network, Storage, Geography, Regulation
What’s a Carrier PaaS?
A platform that will let Telco apps easily leverage the carrier cloud services
Introducing CloudBand
A carrier cloud platform, with carrier grade IaaS and PaaS baked right in
Leverages CloudStack & Cloudify
Introducing CloudBand
Policy Driven IaaS and PaaS:• Define provisioning,
networking and scaling policies
• Define application stack
• Deploy
Network Definition
Network & Business Policies
Telco Applications Market Place
The Building Blocks
The Building Blocks
• Bridging the network and the cloud
• Resource constraints• Business policies
The Building Blocks
• Different types of Cloud Nodes
• Basic Compute, Storage & Networks services
The Building Blocks
The Building Blocks• Application level SLA• Application life cycle automation
Open source framework for deploying, managing, healing and scaling any app, on any cloud
Integrated with CloudStack, so you can build your own kick-ass PaaS!
Your App, Your Recipe
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
46
service { name "mysql" icon "mysql.png" type "DATABASE"
...}
How It Works
® 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
® 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
Get it today, at cloudifysource.org
References: https://github.com/CloudifySourcehttps://github.com/CloudifySource/cloudify-cloud-drivers/tree/master/cloudstack http://www.alcatel-lucent.com/new-thinking/market-growth/cloud.html http://venturebeat.com/2012/11/02/how-the-weather-company-survived-a-1000-traffic-spike-during-hurricane-sandy/
Thank You!