Upload
rightscale
View
348
Download
1
Tags:
Embed Size (px)
Citation preview
Schedule Time Event 18:45-19:45 Lightning talks Use your red cards to stop sales pitches 19:45-20:15 Unpanel Use your red cards to change the panel 20:15-21:15 Pizza, beer and networking
1. Ali Khajeh-Hosseini, PlanForCloud/RightScale 2. Per Hammer, JP Morgan Chase 3. Tony Lucas, Flexiant 4. Ian Sommerville, University of St Andrews 5. Philipp Huber, Exception 6. Tom Ray, Cloudreach 7. Sebastien Goasguen, Citrix 8. Duncan Johnston-Watt, Cloudsoft
Lightning talks
The cloud has gone mainstream... but what does cloud adoption mean for
Enterprise IT and how does the cloud fit into the wider Enterprise IT strategy?
Ali Khajeh-Hosseini
@AliKhajeh
Tech challenges Auto scaling Moving apps between public/private clouds High Availability and Disaster Recovery
We’ve made good progress in addressing these challenges…
And increasingly enterprises are interested in using clouds BUT…
1. Who Am I?
2. Why Clouds Challenge ‘the Enterprise’
3. How and Why J.P. Morgan Uses Clouds
4. An Untapped Market
5. A Plea
Introduction
2
Per Hammer
• Software architect
• J.P. Morgan (aka JPMorganChase)
What do I mean by ‘Cloud’ anyway?
• Platform-as-a-Service
I am a Cloud Customer
• Mid-size team
• 80 people (60 developers)
Who Am I?
3
• 80 people (60 developers)
• Global distribution
• Mid-size application
• 100+ components
• 50+ “logical” JVMs
• 200+ JVM instances
“All that data in the Cloud? It’s not in the cloud. It’s on the ground somewhere, probably in
Virginia.”
Things We Worry About:
• Transborder Data Flow
• Data Privacy / PII
• Latency (Co-location)
Clouds Challenge the Enterprise
4
Not just one Cloud:
• VSI (Virtual Server Infrastructure, Iaas)
• CBB (Compute Back-bone)
• 8,000+ x86 servers, 25,000+ CPU cores
• 6,000+ Windows desktops for idle cycle scavenging
• 228 TeraFLoPs, #16 on Top 500 Supercomputers (May 2010)
• Compute tasks
• Portfolio models – large memory
• Derivatives – complex products
• Risk analysis – stress testing
• ABB (Application Back-bone)
How J.P. Morgan Uses Clouds
5
• ABB (Application Back-bone)
• Virtual Application servers
• Scale horizontally (elastic), and vertically (inelastic)
• Multiple data-centres
• ATC (Application Testing Cloud)
• Virtual Windows desktops on demand!
On J.P. Morgan’s Application Back-Bone
• 2000+ Enterprise Applications
• 500+ Development Teams
• Every Line of Business represented
• Average application time-to-market improvement of nearly 60 days
• 175% increase in infrastructure utilisation, 45% drop in infrastructure costs
• 700% boost in developer productivity
What about the other financial institutions? What about other industries where traditional
(“external”) Clouds are challenging?
An Untapped Market
6
(“external”) Clouds are challenging?
Cloudcamp Edinburgh 2013 !Slide 1!
Clouds for the enterprise: "It’s not just about the money!!
Ian Sommerville"School of Computer Science "
University of St Andrews"!
The Enterprise context
! Gartner predicts a 41.3% compound growth
for IaaS through to 2016.
! Biggest growth area in larger Enterprises.
Enterprise IaaS – the two key options
SaaS
PaaS
IaaS
“cloud-out”
(VMware)
vs.
“cloud-in”
(Amazon)
Lydia Leong, Gartner
The IaaS Enterprise options
There are two primary ecosystems developing in the world: VMware and Amazon.
Other possibilities, like Microsoft and OpenStack, are completely secondary to those two. You can think of VMware as “cloud-out”
and Amazon as “cloud-in” approaches.
Lydia Leong, April 2012, Gartner
Enterprise IaaS – the two key options
SaaS
PaaS
IaaS
Orchestration / Policy based Cloud (VMware)
vs. Designed for fail Clouds
(Amazon)
Massimo Re Ferre, VMware
How are they built
Orchestrated/Policy Cloud ! Mostly private ! Often enterprise hardware ! Enterprise storage ! Resilience built into HW/CMP ! Complex management layer ! Rather complex to setup
Designed for fail Cloud ! Public (mostly) and private ! Build on homogeneous x86
commodity hardware ! Very simple DAS storage model ! Very little HW resilience ! Relatively easy to setup
Characteristics
Orchestrated/Policy Cloud ! Protects existing investment ! Runs legacy Apps unchanged ! Complete life-cycle
management of resources ! Protect existing processes ! Flexible and extensible ! Feature rich APIs and Admin ! ITIL oriented ! Relatively scalable ! Highest unit costs
Designed for fail Cloud ! Top-down design as service
levels determine requirements ! Re-architect applications to …
! benefit from cloud paradigm
! scale at an unprecedented level
! offer protection of failed components
! Simple APIs and self-service ! Basic lifecycle management ! DevOps oriented ! Massively scalable ! Lowest unit cost
What does it mean for me
! There is no right or wrong answer
! Your IT legacy will drive you strategy ! Establish you key business drivers –
! cost? scale? global reach? agility?
! Consider a 2-way strategy for IaaS
! Enterprise Cloud (VMware, HP, IBM, Microsoft) AND Elastic Cloud (OpenStack, CloudStack, Eucalyptus)
! Benefits: Best of both worlds, low risk, controlled
transition, integrates well into public Cloud
How we help
! Exception can assist organisations in establishing a strategic approach to Cloud adoption through a completely vendor neutral lens.
7KH�FORXG�KDV�JRQH�PDLQVWUHDP���EXW�ZKDW�GRHV�FORXG�DGRSWLRQ�PHDQ�IRU�
(QWHUSULVH�,7�DQGKRZ�GRHV�WKH�FORXG�ILW�LQWR�WKH�ZLGHU�(QWHUSULVH�
,7�VWUDWHJ\"
7RP�5D\��&ORXGUHDFK
7KH�FORXG�KDV�JRQH�PDLQVWUHDP���EXW�ZKDW�GRHV�FORXG�DGRSWLRQ�PHDQ�IRU�
(QWHUSULVH�,7�DQGKRZ�GRHV�WKH�FORXG�ILW�LQWR�WKH�ZLGHU�(QWHUSULVH�
,7�VWUDWHJ\"
0HGLD*RRJOH�$SSV�IRU�%XVLQHVV&ROODERUDWLRQ���&RPPXQLFDWLRQV�6WUDWHJ\!�,PSURYHG�EXVLQHVV�SURFHVV
H�FRPPHUFH$PD]RQ�:HE�6HUYLFHV(ODVWLFLW\�DQG�FRVW�VDYLQJV
!�,QQRYDWLRQ�
,QVXUDQFH*RRJOH�$SSV�IRU�%XVLQHVV&ROODERUDWLRQ���&RPPXQLFDWLRQV�6WUDWHJ\!0RELOLW\
3XEOLF�6HFWRU*RRJOH�$SSV�IRU�%XVLQHVV&RVW�VDYLQJV
!�&ROODERUDWLRQ��UHIRFXVHG�,7�UHVRXUFHV
'ULQNV�*RRJOH�$SSV�IRU�%XVLQHVV&RVW�VDYLQJV��UHGXFLQJ�ULVN
!�&ROODERUDWLRQ��PRELOLW\�DQG�LPSURYHG�EXVLQHVV�SURFHVV
+RWHOV$PD]RQ�:HE�6HUYLFHV&RVW�VDYLQJV
!,QQRYDWLRQ���UHIRFXVHG�,7���LPSURYHG�UHOLDELOLW\
So#ware(Defined(Networking((in(CloudStack(
Sebas8en(Goasguen(Citrix,(Apache(CloudStack(commi@er(
and(PMC(member(@sebgoa(
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Pod(1(
….(
Cluster(N(
Access Layer
Host 2
Cluster(1(
CloudStack(
Host 1 Primary(Storage(
Zone(1(
….(
L3 core
(Secondary(Storage(
Pod(N(
CloudStack(Management(
Server(
Internet(
Towards:(“So#ware(Defined(Data(Centers”(
(API!exposes!
management!of!servers,!storage!and!network!
(
SDN(
• Server(Virtualiza8on(– Hypervisors(
• Storage(Virtualiza8on(– Distributed(object(store(– Automa8c(replica8on(
• Network!Virtualiza<on!– Isolated!guest!network!– Move!transparently!across!data!centers!– Op<mize!traffic!
SDN(in(CloudStack(
• Na8ve(in(CloudStack((OVS(controller)(– GRE(isola8on(type(
• No(OpenFlow(but(a(CloudStack(controller(– Programs(the(Open(Vswitch(– Supported(in(XenServer(– Creates(L2(overlays(within(the(datacenter(– Creates(L2(overlays(across(Zones(
Create(Overlay(L2(Networks(
Host(1(
Host(2(
Host(3(
Host(4(
! Create(Full(Mesh(of(GRE(tunnels((if(they(don't(already(exist)(between(hosts(on(which(VMs(are(deployed(
! CloudStack(SDN(controller(programs(the(Open(vSwitch((OVS)(on(XenServer(to(configure(GRE(tunnels(
! Assign('Tenant'(key(to(the(customer(that(allows(traffic(isola8on(from(other(tenants(
! New(customers(can(share(the(established(GRE(tunnels(with(separate(tenant(keys(
GRE(Tunnel(
GRE(Tunnel( GRE(Tunnel(
VM(1(
VM(2(
VM(3(
VR(
VM(1(
VM(2(
VM(3(
VR(
Tenant1(Tenant2(
SDN(“support”:(Nicira(
• Nicira(NVP(Plugin(– Xen(– NVP(versions:(2.1.0,(2.2.0(and(2.2.1(
– In(4.0.(– KVM(support(and(UI(planned(for(4.1(
Future(SDN(“support”(
• Development(underway(from(Big(Switch(– Will(support(BigSwitch(products(– Floodlight(Open(Source(Open(Flow(controller(– In(master(branch,(planned(for((4.2(release(
AMP Features & Bene!ts
• Cloudsoft’s Application Management Platform (AMP) … • Enterprise version of the brooklyn open source project • See http://brooklyncentral.github.com/
• Automates Application Deployment and Con!guration • Implementation details are abstracted into reusable blueprints • Streamlines and enhances existing tooling
• Optimizes Application Runtime Management • Driven by your technical and business policies • Autonomic control plane
• Ensures Application Portability • Frees the business to exploit a multi-provider strategy • Avoids vendor lock-in
28/03/2013 © 2013 Cloudsoft Corporation Page: 2
AMP Key Concepts
• Entity • Always exposes a sensor / e!ector interface • Abstract – AMP speci"c construct e.g. Cluster, Fabric • Concrete – Proxy for real world construct e.g. JBoss7Server, MySQL
• Driver • Pluggable (often customer speci"c) mechanism for implementing
concrete entity e.g. software component
• Sensors & E!ectors • Sensors publish attributes of an entity (either periodically or on change) • E!ectors invoke operations on an entity (to change it in some way) • Existing metrics and APIs are used to ensure non-intrusive (agentless)
integration and management of a concrete entity
28/03/2013 © 2013 Cloudsoft Corporation Page: 4
AMP Key Concepts
• Topology • Entity wiring, groupings and management hierarchy
• Policy • Governs an application’s behaviour e.g. horizontal scaling within a tier
• Blueprint • Captures an application’s initial topology plus policies that will change
this over time
• Location • Target environment for blueprint instantiation
28/03/2013 © 2013 Cloudsoft Corporation Page: 5
28/03/2013 Page: 6 © 2013 Cloudsoft Corporation
Autonomic Management (M-A-P-E)
Monitor
Analyze Plan
Execute State
Sensors E!ectors
Enrich Delegate
Autonomic Manager*
Sensors E!ectors
Escalate
Managed Element
*An autonomic manager can be a managed element
28/03/2013 Page: 7 © 2013 Cloudsoft Corporation
Hierarchical Autonomic Management
Granularity can be anything from individual application to overall control plane
Strictly Con!dential © 2013 Cloudsoft Corporation
Multi-Tier Application
Load Balanced Cluster
Cluster
Multi-Tier Application
28/03/2013 Page: 8
OS
MySQL
OS
NGINX
OS
JBoss7Server
OS
JBoss7Server …
Need to update targets to match cluster
Need to publish MySQL URL for cluster
Need to specify autoscaling policy
There has to be a better way than scripting …
MyWebCluster – Topology
28/03/2013 © 2013 Cloudsoft Corporation Page: 9
…
MyWebCluster
ControlledDynamicWebAppCluster
DynamicWebAppCluster
JBoss7Server
NGINX
MySQL
JBoss7Server
Concrete Entities
Abstract Entities
Managed Elements - AMP proxies for real world components
Autonomic Managers - AMP speci!c constructs or building blocks
Here we explicitly model the app’s organizational structure
MySQL and NGINX could be swapped out for their clustered variants
MyWebCluster – Blueprint
28/03/2013 © 2013 Cloudsoft Corporation Page: 10
Auto Scaler Policy [targets]
…
MyWebCluster
ControlledDynamicWebAppCluster
DynamicWebAppCluster
JBoss7Server
NGINX
MySQL
JBoss7Server
Policies Attached to entities they e!ect but can subscribe to any sensor
[targets] is a built in policy whereas the auto scaling policy is explicitly added
An application blueprint is completely portable
MyWebCluster – Customization
28/03/2013 © 2013 Cloudsoft Corporation Page: 11
… JBoss7Server
NGINX
MySQL
JBoss7Server
Auto Scaler Policy [targets]
…
MyWebCluster
ControlledDynamicWebAppCluster
DynamicWebAppCluster
JBoss7Server
NGINX
MySQL
JBoss7Server
Drivers Customer speci!c implementations (Bash, Puppet, Chef etc.)
The pluggable driver mechanism is an elegant way to customize a blueprint for a particular environment
MyWebCluster – Instantiation
28/03/2013 © 2013 Cloudsoft Corporation Page: 12
Location
OS
OS
OS
… OS
… JBoss7Server
NGINX
MySQL
JBoss7Server
+
Auto Scaler Policy [targets]
…
MyWebCluster
ControlledDynamicWebAppCluster
DynamicWebAppCluster
JBoss7Server
NGINX
MySQL
JBoss7Server
Instances Location dependent – can be virtual machine, LXC etc.
28/03/2013 © 2013 Cloudsoft Corporation Page: 15
De!ne New Blueprint
public class MyWebCluster extends AbstractApplication implements MyWebClusterConstants { // TODO build the application}
This provides basic lifecycle management
28/03/2013 © 2013 Cloudsoft Corporation Page: 16
Create App Tier
public class MyWebCluster extends AbstractApplication implements MyWebClusterConstants { def web = new JBoss7Server(this, war: WAR_PATH); { web.configure(httpPort: "8080+"); }}
Use the !rst available port 8080 or above
28/03/2013 © 2013 Cloudsoft Corporation Page: 17
Add DB Tier
public class MyWebCluster extends AbstractApplication implements MyWebClusterConstants { def web = new JBoss7Server(this, war: WAR_PATH); MySqlNode mysql = new MySqlNode(this, creationScriptUrl: DB_SETUP_SQL_URL); { web.configure(httpPort: "8080+"); }}
Now we need to wire up these two tiers
28/03/2013 © 2013 Cloudsoft Corporation Page: 18
Wire up App and DB Tiers
public class MyWebCluster extends AbstractApplication implements MyWebClusterConstants { def web = new JBoss7Server(this, war: WAR_PATH); MySqlNode mysql = new MySqlNode(this, creationScriptUrl: DB_SETUP_SQL_URL); { web.configure(httpPort: "8080+"). configure(javaSysProp("brooklyn.example.db.url"), valueWhenAttributeReady(mysql, MySqlNode.MYSQL_URL, this.&makeJdbcUrl)); }}
Soft wiring using sensor event
Stored as a Java future so no explicit join
28/03/2013 © 2013 Cloudsoft Corporation Page: 19
Introduce Elasticity in App Tier
public class MyWebCluster extends AbstractApplication implements MyWebClusterConstants { def web = new ControlledDynamicWebAppCluster(this, war: WAR_PATH); MySqlNode mysql = new MySqlNode(this, creationScriptUrl: DB_SETUP_SQL_URL); { web.factory.configure(httpPort: "8080+"). configure(javaSysProp("brooklyn.example.db.url"), valueWhenAttributeReady(mysql, MySqlNode.MYSQL_URL, this.&makeJdbcUrl)); }}
Substitute cluster as it has same signature
Now con!gure WebAppServer factory
28/03/2013 © 2013 Cloudsoft Corporation Page: 20
Manage Elasticity in App Tier
public class MyWebCluster extends AbstractApplication implements MyWebClusterConstants { def web = new ControlledDynamicWebAppCluster(this, war: WAR_PATH); MySqlNode mysql = new MySqlNode(this, creationScriptUrl: DB_SETUP_SQL_URL); { web.factory.configure(httpPort: "8080+"). configure(javaSysProp("brooklyn.example.db.url"), valueWhenAttributeReady(mysql, MySqlNode.MYSQL_URL, this.&makeJdbcUrl)); web.cluster.addPolicy( new AutoscalerPolicy(DynamicWebAppCluster.AVERAGE_REQUESTS_PER_SECOND). setSizeRange(1, 5). setMetricRange(10, 100)); }} Autonomic policy
attached to Cluster
MyWebCluster – Blueprint
28/03/2013 © 2013 Cloudsoft Corporation Page: 21
Auto Scaler Policy [targets]
…
MyWebCluster
ControlledDynamicWebAppCluster
DynamicWebAppCluster
JBoss7Server
NGINX
MySQL
JBoss7Server
Policies Attached to entities they e!ect but can subscribe to any sensor
[targets] is a built in policy whereas the auto scaling policy is explicitly added
An application blueprint is completely portable
Using Cloud Without Losing Control™
28/03/2013 Strictly Con!dential © 2012 Cloudsoft Corporation Page: 23
Useful links
• http://brooklyncentral.github.com/
• http://www.youtube.com/watch?v=XkwQ6EjLdMQ
• http://www.youtube.com/watch?v=kzw1_2b-I7A
28/03/2013 Strictly Con!dential © 2013 Cloudsoft Corporation Page: 24