22
Your Name Cloud and agile software projects Overview and Benefits Alain Delafosse @adelafosse Guillaume Berche @gberche

Cloud and agile software projects: Overview and Benefits

Embed Size (px)

Citation preview

Your Name

Cloud and agile software projects

Overview and BenefitsAlain Delafosse @adelafosseGuillaume Berche @gberche

Welcome !

Guillaume Berche

• Orange, Y!, Kelkoo

• Cloud, PAAS, Dev

Alain Delafosse

• Capgemini, Kelkoo

• Cloud, IAAS, DevOps

• Session Contract:

Synthesis on leveraging Cloud for your agile

dev project

• Level: Beginner -> Experienced

• Audience : developers, projects managers,

architects

•Session Outline:

- Introduction

- Leveraging SAAS for software build

- Demo 1

- Running your software in the cloud

- Demo 2

- Conclusion

20 Nov 2014 2Introduction

Agile software projects challenges

Software development tooling

• Getting complex

• Expensive to deploy and maintain

Team is agile, infrastructure is not

• Provisionning delays

• Architecture is evolving along with the business requirements changes

Agile Product definition

• Iterative requires strong collaboration

• Sometimes distributed team

• Frequent tests run

123

20 Nov 2014 3Introduction

Cloud basics

SAASPAASIAAS

20 Nov 2014 4Introduction

Cloud attributes

• Self-service & rapid provisionning

• Pay per use

• Rapid elasticity: illusion of infinitecapacity

• Network based, location independence

• Cloud APIs

• Measured service, SLAs

Cloud and Agile software projects

Self-organizing teams •

Continuous attention to technical •

excellence and good design--

Working software is delivered •

frequently (weeks rather than--months)--

Regular adaptation to changing •

circumstances--

Welcome changing requirements •

even late in development--

Agile principles

20 Nov 2014 5Introduction

Leverage Saas for software build

• Description: Provision a software factory in the cloud

• Pro:

• Lead time, you have a software factory within minutes

• Try it with your credit card, show the benefits.

• Con

• Watch for confidentiality issues if your app is sensitive.

Scenario 1: develop in the cloud

• Description: Integrate SAAS tools into your on-premise software factory

• Pro:

• Some tools enables real-time collaboration for remote teams while mostproducts available for private installation don’t.

• Tools remains up-to-date and patched.

• Con

• Assess integration costs and lock-in risk versus in house deployment

Scenario 2: integrate cloud/web SAAS solutions

Leverage the SaaS ecosystem can speed up agile teams bootstrap, and give access to best in class tools during the build phase.

20 Nov 2014 6Leverage SAAS for software build

Case study : Cross browser testing

• Currently manually testing myweb product on variousbrowsers, both desktop and mobile

• http://www.gatewickairport.com/

• Need to automatically runautomated tests on multiple browsers

Context

• Leverage Sauce labs offer !

• Features: systematic videorecording, debugging tools. tunnelled accesses to privateservers

Solution

DEMO Time !

20 Nov 2014 7Leverage SAAS for software build

demo recording:

https://drive.google.com/file/d/0B_RQz82RzSUnNi1fenJ6VFZTeE0/view?usp=sharing

SaaS development tooling landscape

Load TestBrowser testing

Productdefinition

Design Code / Build ReleaseTestsCoordinate

Security testing

CI/CD

Collaboration

Specifications

SCM

Drawing

Bin Repositories

This is a selection as there are many more……

20 Nov 2014 8Leverage SAAS for software build

Benefits Constraints

Running your software in the cloud

Other structuring choices: Iaas vs Paas Public/ private / hybrid

20 Nov 2014 9Running your software in the cloud

Cloud landscape

20 Nov 2014 Running your software in the cloud 10

Open PaasLinuxContainers

Iaas

Kubernetes

Google Container Engine

True Paas

Maturity /Adoption

Different models, different abstraction levels

Iaas Linux container Paas

compute& appdelivery

x86 vm image (AMI, OVF)

+ VM parameters (accessible

thru REST metadata service,

vmwaretools)

os image (docker image)

+ ENV vars

app source or binaries:

(*.php, *.jar, *.js)

+ ENV vars

networking

L2 virtual networking: virtual nic (eth,

mac addr), public/private IP, virtual

network (CIDR)

Load Balancer (TCP, HTTP)

Managed DNS (Route 53 API)

L4 TCP port binding L7 HTTP(S) virtual host

storage

Device block (attached device),

epheremal + persistent

Data volumes ( file system) Ephemeral file system

Object store (S3)

additionalservices

blob store, long term archival

CDN

RDB, NoSql, Cache, Analytics...

idem idem

20 Nov 2014 11Running your software in the cloud

Case study: CloudFoundry paas deployment

• compile app: travel.war

• download CLI

• login

• create newrelic

• create redis

• create mysql

• push app binaries

(travel.war)

– with route, ram,

• watch logs

• watch metrics

• scale 5

DEMO Time !

20 Nov 2014 12Running your software in the cloud

demo recording:

https://drive.google.com/file/d/0B_RQz82RzSUnRndqdjQyZ1FxWlk/view?usp=sharing

Iaas or PaasConsider IAAS if you have Consider PAAS if you have

TechnologyAtypical/specific needs

(protocols, language, middlewares)

Standardized software stack and

programming model

• An existing wide technical

expertise (from build, qa, run) to

manage the whole stack

• A capacity to select, integrate,

maintain many individual

heterogeneous components

Skills

A preference for reduced

complexity and a focus customer

needs rather than tech plumbing

Team

A team with tight collaboration

among dev and ops withshared

ownership of infrastructure

automation

A dev oriented team with few

competencies across the full

stack

Benefit

Risk Iaas services lock-in

Effort to maintain platformPaas platform lock-in

Freedom, good control on platformProductivity,

Time to market

20 Nov 201413

Cloud architecture

• Design for failure , for scalability , hence stateless

• No local data on servers, servers storage is ephemeral => move all state to services

• Data: cipher you “critical” data when running in the cloud: HTTPS, ciphered payload (CPU is not expensive)

• Separate read and writes services (CQRS pattern)

• Hybrid patterns

• Cloud overflow

• Web UI in the cloud, Core web services on premise

Cloud lock-in

• Encapsulate API usage of externalservices

• Balance usage of added value services versus lock-in. Automation: use the maximum of multicloud APIs: jclouds, fog, libcloud,

Developing and running: The key points

20 Nov 2014 14Conclusion

• Conclusion: Try it during build or run• Questions ?• ROTI (Return on time invested)

– don’t forget to give your feedback• Slides to be shared, check out our twitter accounts

• Let’s meet tomorrow at Agile Innovation

• Share your own cloud adoption experience #AG14 #cloud

@gberche @alaindelafosse

20 Nov 2014 15Conclusion

Backup slides for Q&A

20 Nov 2014 16

Public / Hybrid / Private infrastructure

•Controlable model but more

integration work required

•Private for dev and public

for run (or the opposite!)

•Mixed run mode (private for

webservices and critical

data, cloud for front-end

and CDN)

•Overflow/bursting to Cloud

•Cost might not be that effective

if you’re using basic infra

(automation is key)

•Have to deal with

confidentiality and security

•Risk of lock-in

•Reversibility to

private/dedicated hosting

• Enable access to a large

ecosystem: monitoring, logs

PUBLIC

More mature and more

comprehensive

HYBRID

Take the best of both

worlds

•Significant investments and

maintenance costs

•Much restricted offering

•Products are still maturing for

basic offers (Iaas, Paas)

•Fewer products for

specialized services

(RDBMS, NoSql, Caches,

Logs, Analytics, BigData…)

PRIVATE

Deploy a IAAS of

PAAS framework on

your premises

20 Nov 2014 17Running your software in the cloud

Cloud benefits increase with team maturity and

automation practices

FullAutomated

devops

AutoScalingAutomated

Fault tolerance ...

Team maturity

Value

CI= jenskin ds le cloud

cd: provisionner des vm pour les test

SaaS (CMS,

mockups,

tracker, GIT

….)20 Nov 2014 18

Team Impact of cloud usage ??

Cloud impact on roles distribution within an agile team:

organization transformation: moves the lines between dev and ops

20 Nov 2014 19

Q&A: What about you?

What’s your experience so far ?

• Interactive part

– more audience survey: SMB vs large enterprise

– split according to survey results

– share your experience using your post-its and organize them into clusters:

• challenges/issues (orange post-it)

• success/solutions (green post-its)

20 Nov 2014 20

Cloud automation enables social coding

Automation with Cloud boosts opensourcereuse/sharing/social coding => more productive

e.g. netflix opensource components

distribution of opensource or cots as

AMIs/appliances/ docker images / paas apps

20 Nov 2014 21

Use of templates

You are free to use these templates for your personal

and business presentations.

Do Use these templates for your

presentations

Display your presentation on a web

site provided that it is not for the

purpose of downloading the template.

If you like these templates, we would

always appreciate a link back to our

website. Many thanks.

Don’t Resell or distribute these templates

Put these templates on a website for

download. This includes uploading

them onto file sharing networks like

Slideshare, Myspace, Facebook, bit

torrent etc

Pass off any of our created content as

your own work

You can find many more free PowerPoint templates on the Presentation Magazine website

www.presentationmagazine.com

We have put a lot of work into developing all these templates and retain the copyright

in them. You can use them freely providing that you do not redistribute or sell them.

20 Nov 2014 22