Objectif cloud

Post on 14-Jan-2015

1,433 views 3 download

Tags:

description

Introduction to Cloud and PaaS the CloudBees way

transcript

Objectif : CloudNicolas De Loof

©2012 CloudBees, Inc. All Rights Reserved

2

<Me>

©2011 CloudBees, Inc. All Rights Reserved

@ndeloof

@ndeloof

3

• JUG-Leader and founder

• jDuchess France (support) member

• Conferenre organizer (as Dictator)

nicolas@breizhjug.org

In Java community

©2011 CloudBees, Inc. All Rights Reserved

4

• (ex) Apache committer

• contributor

• and few others…

nicolas@apache.org

In OSS

©2011 CloudBees, Inc. All Rights Reserved

Fonzie

5

Senior Engineer at

Customer support Conferences and Evangelisation Sales tech-assistance DEV contributor

nicolas.deloof@cloudbees.com

At work …

©2011 CloudBees, Inc. All Rights Reserved

6

</me>

©2011 CloudBees, Inc. All Rights Reserved

©2011 CloudBees, Inc. All Rights Reserved

What’s a Software Factory ?

8©2011 CloudBees, Inc. All Rights Reserved

Deployment

Build tool

SCM

Developer (IDE)

C.I.

Project Management

Requirements

Feature branches

Release process

Demo

Production

QA

Static analysis

History

Test Coverage

Dashboard

Tests

U.I Tests

TDD

BDD

FDD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

9©2011 CloudBees, Inc. All Rights Reserved

Deployment

Build tool

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

C.I.

Requirements

Feature branches TDD

QA

Static analysis

History

Release process

Demo

Production

Test CoverageDashboard

BDD

FDD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

10©2011 CloudBees, Inc. All Rights Reserved

Deployment

Build

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

C.I.

Requirements

Feature branches

QA

Static analysis

History

Release processDemo

Production

Test Coverage

Dashboard

*DD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

11©2011 CloudBees, Inc. All Rights Reserved

Deployment

Build tool

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

CI

Requirements

Feature branches

QA

Static analysis

History

Release process

Demo

Production

Test Coverage

Dashboard

*DD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

12©2011 CloudBees, Inc. All Rights Reserved

Deployment

Build tool

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

C.I.

Requirements

Feature branches

TDD

QA

Static analysis

History

Release process

Demo

Production

Test Coverage

DashboardBDD

FDD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

©2011 CloudBees, Inc. All Rights Reserved

Choose your SCM

14©2011 CloudBees, Inc. All Rights Reserved

Git !

What else ?

©2011 CloudBees, Inc. All Rights Reserved

Choose your Build tool

16©2011 CloudBees, Inc. All Rights Reserved

Standardized project layoutDependency management and

repositoryStandardized commands and

lifecycle

✗Ugly file format✗Close-minded lifecycle and project

model✗Damaged community

Maven ?

17©2011 CloudBees, Inc. All Rights Reserved

What else ?

©2011 CloudBees, Inc. All Rights Reserved

Choose your Automation tool

19©2011 CloudBees, Inc. All Rights Reserved

• 400+ plugins• Still growing dev community

Ruby, Python• Support all* build tools• More than continuous integration

DevOps

Jenkins !

20©2011 CloudBees, Inc. All Rights Reserved

Hudson / Jenkins : the fork

KK create Hudson as a Hobby

Hudson is adopted world wide

Oracle aquire SUN

Oracle register « Hudson » trademark

Issues with java.net infrastructure

Oracle uses trademark as a weapon

Vote to rename the project and move to GitHub

Jenkins defines it’s own process

Here we are

Sonatype join Oracle Hudson

Jenkins

moved to GitHub and proposed to EclipseHudson

©2011 CloudBees, Inc. All Rights Reserved

Choose your platform

22©2011 CloudBees, Inc. All Rights Reserved

• Available on demand ?• Cheap ?• Elastic ?• Simple (from a developer PoV) ?• Integrated with build tools ?

On-premises containers

23©2011 CloudBees, Inc. All Rights Reserved

Use a PaaS !

24©2011 CloudBees, Inc. All Rights Reserved

Paas ?

25©2011 CloudBees, Inc. All Rights Reserved

Cloud ?

me

26©2011 CloudBees, Inc. All Rights Reserved

Just some new Buzz-words ?

Let’s decrypt …

©2011 CloudBees, Inc. All Rights Reserved

Sample : my Software FactoryThe way I did it for 10 years …

©2011 CloudBees, Inc. All Rights Reserved

28

• Get a « big enough » server

• Install OS• Install JDK• Install SCM • Install Build tools• Install Jenkins• Install plugins• Setup security

• Install DataBase• Install Sonar• Configure repositories• Install repo manager• Configure proxies• Configure Jobs• Configure Sonar rules• Provision Demo server• …

Your Monday morning TODO-list

29©2011 CloudBees, Inc. All Rights Reserved

Option 1 : virtual machines + clone

Upgrades ?Maintenance ?

30©2011 CloudBees, Inc. All Rights Reserved

Option 2 : script-it

©2011 CloudBees, Inc. All Rights Reserved

31

• Get a « big enough » server• Run scripts• Configure Jobs

Your (revised) Monday morning TODO-list

©2011 CloudBees, Inc. All Rights Reserved

Elasticity

©2011 CloudBees, Inc. All Rights Reserved

33

What you would need

What you have(and pay for)

What you consume

©2011 CloudBees, Inc. All Rights Reserved

34

Project start Team

workingPublic

Hollidays Team working Release

!Bug fix Maintenance

What you would need

What you consume

35©2011 CloudBees, Inc. All Rights Reserved

In most cases, your CI looks like that :

Platform as a Service(not just the buzz)

©2011 CloudBees, Inc. All Rights Reserved

37

Traditional Software Stack

Servers

OS

VM

App Server

JVM

LB

User App

Install

Monitor

Patch

Upgrade

Validate Stack

YOU

©2011 CloudBees, Inc. All Rights Reserved

@Cloud

39

@Cloud

©2011 CloudBees, Inc. All Rights Reserved

On demand

Self Service

Broad Network Access

Rapid Elasticity

Measured Service

Resource pooling

RUN@Cloud

©2011 CloudBees, Inc. All Rights Reserved

41©2011 CloudBees, Inc. All Rights Reserved

Your application

Platform core services

IaaS Provider

42©2011 CloudBees, Inc. All Rights Reserved

43©2011 CloudBees, Inc. All Rights Reserved

Load balancer

Round robin Sticky session

44©2011 CloudBees, Inc. All Rights Reserved

Sessionreplicatio

n

45©2011 CloudBees, Inc. All Rights Reserved

Auto-scale

Why not simply use an IaaS ?

©2011 CloudBees, Inc. All Rights Reserved

47©2011 CloudBees, Inc. All Rights Reserved

« simply » you said ?

Why not use a SaaS ?

©2011 CloudBees, Inc. All Rights Reserved

49©2011 CloudBees, Inc. All Rights Reserved

50

Does it fit well ?

©2011 CloudBees, Inc. All Rights Reserved

51©2011 CloudBees, Inc. All Rights Reserved

Competitors

Ecosystem

©2011 CloudBees, Inc. All Rights Reserved

53©2011 CloudBees, Inc. All Rights ReservedPlugable services on demand

54©2011 CloudBees, Inc. All Rights ReservedPlugable services on demand

couchDB mongoDB

55©2011 CloudBees, Inc. All Rights ReservedPlugable services on demand

56©2011 CloudBees, Inc. All Rights ReservedPlugable services on demand

57©2011 CloudBees, Inc. All Rights ReservedPlugable monitoring on demand

58©2011 CloudBees, Inc. All Rights ReservedPlugable monitoring on demand

Killer Feature : DEV@CloudFull-lifecycle « platform » for Java Developers

©2011 CloudBees, Inc. All Rights Reserved

60©2011 CloudBees, Inc. All Rights Reserved

DEV@Cloud

61©2011 CloudBees, Inc. All Rights Reserved

62©2011 CloudBees, Inc. All Rights Reserved

Elasticity

63©2011 CloudBees, Inc. All Rights Reserved

64©2011 CloudBees, Inc. All Rights Reserved

65©2011 CloudBees, Inc. All Rights Reserved

66©2011 CloudBees, Inc. All Rights Reserved

67©2011 CloudBees, Inc. All Rights Reserved

Continuous Delivery !

68

Your Code Your Application

Full platform for Java developer

©2011 CloudBees, Inc. All Rights Reserved

PaaS

69

Higher vision of PaaS :

©2011 CloudBees, Inc. All Rights Reserved

applicationcode PaaS

70

@Cloud

©2011 CloudBees, Inc. All Rights Reserved

@Cloud

71

Stop with slides, let’s do it …

©2011 CloudBees, Inc. All Rights Reserved

72©2011 CloudBees, Inc. All Rights Reserved

Q&A

Thank you