Top Banner
22

Developing applications for the cloud

Jan 15, 2015

Download

Technology

Bart Blommaerts

As we know, HP is all about "The New Style of IT". To achieve this, HP has highlighted 4 Big Bets: Cloud, Security, Mobility and Big Data. Bart Blommaerts, Expert Information Developer, is going to talk about “Developing applications for the Cloud“. Bart will focus on these questions:

Why do we want applications in the cloud?
Which applications do we want in the cloud?
What methodology do we need to use, to move to the cloud?
Does the cloud have implications on how applications should be developed?


Bart will demonstrate potential pitfalls, and explain the HP approach that aims to avoid issues on the performance, elasticity, resilience and security of Cloud applications. This brown bag session will be an incremental update of a presentation Bart did at HP Discover in Barcelona last year. It is about concepts and methodology, not about technical implementation.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Developing applications for the cloud
Page 2: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Developingapplications for the cloudBart Blommaerts – HP Enterprise ServicesBrussels – July 1, 2014

Page 3: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Why application development in the cloud?

New economics• Pay for what you use

• Shift from capex to opex

• Accelerate time to value

Speed• Faster deployment

• Reduced patching or maintenance

• Reliability and fault-tolerance

Agility & innovation• Enable new apps

and services

• Latest software for users

• Internet collaboration/ global reach

$

Page 4: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Applications in the cloud

Perception

“Cloud is about operations and infrastructure”

Reality

The business is concerned with user services (i.e. dev & ops together)

Cloud ROI depends on application DNA

“All applications make sense in the cloud”

Only apps with certain usage profiles are an economic fit for the cloud

“Apps can just be moved to the cloud for cloud benefits”

Cloud has implications for HOW applications should be built

Page 5: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

DevOps

IT Operations

Keys to bridge the gap:

“Build to run” “Regular releases reduce

risk”

Quality

Automation

Collaboration

Agile Delivery

Apps / Dev

Continuous Delivery

Page 6: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

“Developers, especially for home-grown applications, may do many nonstandard things (make calls to the hardware, make assumptions about the network infrastructure or environment it is running in, and so on).

You have to think differently if you are building applications that will run across wide-area networks or across data centers.”

– CIO, software vendor

Source: SandHill Group, Leaders in the Cloud, March 2010

Page 7: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

The key application considerations

Application ‘cloud-readiness’

Performance

Application elasticity drives cloud economics. Apps must be designed to scale up for agility AND down for cost savings.

An under-performing application can negate the savings promised by the cloud.

In the cloud, it is more important to anticipate and proactively handle failures.

Cloud brings new risks for apps in a shared environment. Security should be built-in, verified and monitored.

Elasticity

Resilience

Security

Page 8: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Cloud savings are dependent on a performing application

Performance: Impacts your savingsPerforma

nce

Wasted investment

in applicationvirtual images

$ Spent on virtual images

Bu

sin

ess

dem

an

d Perfo

rmance

-optimize

d

applicatio

n

Non performance-

optimized

Page 9: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Modular applications to enable virtual services

Performance: Our approachPerforma

nce

Module 1

Module 2

Module n

Application

Page 10: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Performance: new applicationsPerforma

nce“Architecting modularity in” from the beginning

Business• Think in services• Think beyond the current scope: future reuse? Multi-tenancy?

Development• Use language specific module technologies

– Packaging, Scalability, ..• Build services with own life cycle• Consider load-balancers

Page 11: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Performance: application transformation

Performance

Business• Identify services in existing applications• Think beyond the current scope: future reuse? Multi-tenancy?

Development• Iterative refactoring • Pay attention to service integration

Page 12: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Elasticity

Elasticity and cloud benefits In

frastr

uctu

re c

ost

Forecasted Demand

Time

Traditional ApproachFully Elastic

Actual Demand

A ‘cloud-optimized’ application allows much closer alignment of costs with actual demand

Page 13: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Workload patterns suited for cloud

UsageCom

pu

te

Time

Average

Inactivity

Period

“On and off”

• On and off workloads (e.g. batch job)

• Over provisioned capacity is wasted

• Time to market can be cumbersome

Com

pu

te

Time

“Unpredictable bursting”

Average Usage

• Unexpected/unplanned peak in demand

• Sudden spike impacts performance • Can’t over provision for extreme

cases

Average Usage

Com

pu

te

Time

“Growing fast”

• Successful services needs to grow/scale

• Keeping up w/ growth is big IT challenge

• Complex lead time for deployment

Com

pu

te

Time

“Predictable bursting”

• Services with micro seasonality trends • Peaks due to periodic increased

demand• IT complexity and wasted capacity

Average Usage

Elasticity

Page 14: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

ES Service Platform (SP)

Elasticity: Our approachElasticity

SP Creation Services• Integrated set of application development tools and services

SP Runtime Services• Complete suite of runtime tools (middleware, monitoring) as-a-Service

SP Controller• Control services: creation, change, termination, service discovery

Mission: Accelerate the creation, evolution and operation of high quality application services through a reusable cloud platform.

HP SP

Page 15: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Elasticity: modules / services

“Architecting elasticity in”

Business• Feature• Selling point

Development• Module templating

– Eg. OnCreate, OnDestroy, ..

Elasticity

Page 16: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Resilience

“Early customers of [leading cloud provider] found this out the hard way when the service had a short outage. When it returned, many customer’s applications didn’t.” - Forrester

Source: Forrester Research, Inc., Best Practices: Infrastructure as a Service, September 2009

Resilience: elevated in importance

Less control and visibility of the environment• Network & disk performance variance due to multi-tenancy of cloud

Must design, implement, & test for auto-recovery from failure• Assume hardware will fail; assume outages will occur; assume your application

will fail

Page 17: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Resilience: Our approachResilienc

eOperation Model

Infrastructure: SLO dependent• Choose the correct Cloud infrastructure configuration

Application: Define behavior as operations• Create• Shutdown• Restart / restore

Page 18: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Resilience: Our approachResilienc

eOperation Model

Business• Integral part of business: think, describe, test, ..

Development• Not an after tought !

Page 19: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Security: key cloud problems

Lowest common denominator

Cloud is a shared environment

Attackers seek access though weaker, adjacent apps

Limited control & knowledge of public cloud infrastructure

Hypervisors, guest and host OSs have vulnerabilities

Data needs to be encrypted for security & compliance

Cloud apps often rely on 3rd party components

You don’t have assurance they are secure unless you test

Web services are rarely effectively security tested

Low control of environment

3rd party components

Security

Page 20: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Security: Our approachSecurity

“Architecting security in” from the beginning

Early and continuous• Address all phases of the application lifecycle• Automate application security testing

Different tools available for specific customer requirements• HP Fortify

– Static testing, mobile testing, penetration testing, ..• HP WebInspect

Page 21: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Learn more about this topic

1 HP Helion Assessment: http://www8.hp.com/us/en/business-solutions/cloud-assessment/index.html

2 Visit the ES Service Platform Connections website: https://connections.houston.hp.com/groups/es-service-platform

3 Download the Cloud Accelerator Pack www.hp.com/go/acceleratorpack

5 Follow us @hpcloud on Twitter

4Asses your application for cloud computing: https://www.hp-appstogo.com/at2c

Page 22: Developing applications for the cloud

© Copyright 2014 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice.

Thank you