91
#cloudcamp Sponsors Edinburgh, March 2013

CloudCamp

Embed Size (px)

Citation preview

#cloudcamp

Spon

sors

Edinburgh, March 2013

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

For startups… the cloud is a no-brainer,

they just do it.

(innovators and early adopters)

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…

What are the challenges they are going to face?

Who are the next success stories?

Clouds

For the Enterprise?

March 2013

Per Hammer

I N T E R N A L O N L Y1I N T E R N A L O N L Y

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?

Separation of duties

• No DevOps on Wall Street!

You must be command-line friendly!

A Plea

7

Thanks for listening, ask me questions during the unpanel!

Fin

8

Cloud Camp Edinburgh Tony Lucas, Founder, Flexiant 28 March 2013

Is Cloud…

Or Is Cloud…

Or Is Cloud…

Do You Hide from Cloud?

Do You ‘Cloudwash’ What You Already Have?

Do you change to take advantage?

www.flexiant.com Copyright © 2013, Flexiant

@flexiant @tonylucas

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"!

Cloudcamp Edinburgh 2013 !Slide 2!

Cloudcamp Edinburgh 2013 !Slide 3!

Cloudcamp Edinburgh 2013 !Slide 4!

Image credit: reputationenforcement.com!

Cloudcamp Edinburgh 2013 !Slide 5!

Image credit: www.isaca.org!

Cloudcamp Edinburgh 2013 !Slide 6!

www.cyprus-maps.com !

Image credit: www.cyprus-maps.com !

Cloudcamp Edinburgh 2013 !Slide 7!Image credit: goeurope.about.com!

Cloudcamp Edinburgh 2013 !Slide 8!

Image credit: prmeetsmarketing.wordpress.com!

Cloudcamp Edinburgh 2013 !Slide 9!Image credit: blogs.gartner.com!

Cloudcamp Edinburgh 2013 !Slide 10!

Image credit: www.patrina.com !

Cloudcamp Edinburgh 2013 !Slide 11!Image credit: blog.entitysolutions.com.au!

Cloudcamp Edinburgh 2013 !Slide 12!

Image credit: IBM!

Cloudcamp Edinburgh 2013 !Slide 13!

Image credit: www.hugthecloud.com!

Cloudcamp Edinburgh 2013 !Slide 14!

Image credit: O’Reilly!

Cloudcamp Edinburgh 2013 !Slide 15!

Enterprise “cloud-out” vs. “cloud-in” Philipp Huber Practice Head Cloud Computing March 2013

Back in 2007 things were easy

SaaS

PaaS

IaaS

5 years forward and …

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.

Thank You

[email protected]

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\"

,WV�D�MRXUQH\�6WDUW�VPDOO�� MXPS�LQ� FRPSHWH�JDLQ�FRQILGHQFH�

7KH�EXVLQHVV�FDVH�3HUFHSWLRQ�YV�UHDOLW\�

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\

(QWHUSULVH�VWUDWHJ\�7KH�&)2�DQG�&(2�ZLOO�ORYH�\RX�

.HHS�LW�FORXG\���#WRPZUD\

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(

SDN(“support”(Midonet(

•  In(master(branch,(expected(for(4.2(•  Announced(December(21st…(

Using cloud without losing control™ Autonomic computing and why you should care …

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

Using cloud without losing control™ Autonomic computing … in theory

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.

MongoDB @ Ballone Castle

28/03/2013 © 2013 Cloudsoft Corporation Page: 13

Using cloud without losing control™ Autonomic computing … in practice

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

Try it!

28/03/2013 © 2013 Cloudsoft Corporation Page: 22

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

Thank you for your time [email protected]

@duncanjw