ma forge++ : @cloud

48
Software factory … on the Cloud Nicolas De Loof ©2011 CloudBees, Inc. All Rights Reserved

Upload: nicolas-de-loof

Post on 14-Jan-2015

1.109 views

Category:

Education


0 download

DESCRIPTION

Follow-up for my 2010 JugSummerCamp session : hosting software factory on the cloud. Bonus : my opinion on the current state of Apache (?) Maven

TRANSCRIPT

Page 1: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

Software factory … on the Cloud

Nicolas De Loof

Page 2: Ma forge++ : @Cloud

2

#{me /}

Nicolas De loof

• Java-Boy • Senior Engineer at • (ex)Committer Maven (GWT)

• JUG-Leader

Page 3: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

What’s a Software Factory ?

Page 4: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

@see JugSummerCamp 2010

Page 5: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

5

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

Page 6: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

6

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

Page 7: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

7

Deployment

Build tool

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

C.I.

Requirements

Feature branches

QA

Static analysis

History

Release process

Demo

Production

Test Coverage

Dashboard

*DD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

Page 8: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

8

Deployment

Build tool

SCM

Developer (IDE)

Tests

U.I Tests

Project Management

C.I.

Requirements

Feature branches

QA

Static analysis

History

Release process

Demo

Production

Test Coverage

Dashboard

*DD

Maintenance

DevOps

Bug Tracker

BugFixBranches

Distribution

Page 9: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

9

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

Page 10: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

Choose your SCM

Page 11: Ma forge++ : @Cloud

11©2011 CloudBees, Inc. All Rights Reserved

Git !

What else ?

Page 12: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

Choose your Build tool

Page 13: Ma forge++ : @Cloud

13©2011 CloudBees, Inc. All Rights Reserved

• Maven 2 : no more developments• Maven3, what’s new ? … :-/

Maven ?

Page 14: Ma forge++ : @Cloud

14©2011 CloudBees, Inc. All Rights Reserved

Maven 3 – Still Apache ?

Sisu (sonatype / EPL)

Plexus (sonatype/ASL/obsolete)

Aether (sonatype / EPL)« Central » (sonatype / Prop.)

Maven-core (ASF)

Page 15: Ma forge++ : @Cloud

15©2011 CloudBees, Inc. All Rights Reserved

Mostly opensource M2eclipse integration Hudson integration OSGi & P2 support (tycho) New features (-> maven 3.0.4)

Sonatype Maven

Page 16: Ma forge++ : @Cloud

16©2011 CloudBees, Inc. All Rights Reserved

Sonatype-less PMC Learn Eclipse Aether internals Re-implement Plexus-utils Maintain plugins … find more contributors :-/ ?

Apache Maven

Page 17: Ma forge++ : @Cloud

17©2011 CloudBees, Inc. All Rights Reserved

Why ?

IP

Page 18: Ma forge++ : @Cloud

18©2011 CloudBees, Inc. All Rights Reserved

• Ensure you wont claim IP on contributed code

• Ok, what’s the license for, then ?• No garantee !

Did you sign the CLA ?

Page 19: Ma forge++ : @Cloud

19©2011 CloudBees, Inc. All Rights Reserved

Maven future @ ASF ?

Page 20: Ma forge++ : @Cloud

20©2011 CloudBees, Inc. All Rights Reserved

• Community first but invitation based• Meritocratic (how to evaluate « merit » ?)• Don’t encourage small contributions

• All self-hosted Late Jira support Still no Git support

• PMC discutions on private list• Rules on doing business with oss ?

Something wrong with Apache / Maven ?

Page 21: Ma forge++ : @Cloud

21©2011 CloudBees, Inc. All Rights Reserved

What else ?

?

Page 22: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

Choose your Automation tool

Page 23: Ma forge++ : @Cloud

23©2011 CloudBees, Inc. All Rights Reserved

• 250+ plugins• Still growing dev community• Support all* build tools• More than continuous integration

Jenkins !

Page 24: Ma forge++ : @Cloud

24©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 Eclipse FoundationHudson

Page 25: Ma forge++ : @Cloud

25©2011 CloudBees, Inc. All Rights Reserved

• Open to everybody (just ask)• Management != Technical lead• Highly modularized• Embrace small contributions

(thanks to GitHub pull requests)• « Release early, release often »• Don’t bother (too much) with legals :

no CLA for plugins, no license requirements

Jenkins « community first »

Page 26: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

Let’s do it

Page 27: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

27

• 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

Page 28: Ma forge++ : @Cloud

28©2011 CloudBees, Inc. All Rights Reserved

Option 1 : clone

Upgrades ?Maintenance ?

Page 29: Ma forge++ : @Cloud

29©2011 CloudBees, Inc. All Rights Reserved

Option 2 : script

Page 30: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

30

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

Your (revised) Monday morning TODO-list

Page 31: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

… on the Cloud

Page 32: Ma forge++ : @Cloud

32©2011 CloudBees, Inc. All Rights Reserved

• Self service• Rapid elasticity• Pooled resources• Pay per usage

Cloud

Page 33: Ma forge++ : @Cloud

33©2011 CloudBees, Inc. All Rights Reserved

• Jenkins « as a Service » hosted on AWS

• Multi level subscription• On demand executors

(Cloud Extension Point)• All plugins available (on demand)• Monitoring & Support

CloudBees DEV@Cloud

Page 34: Ma forge++ : @Cloud

34©2011 CloudBees, Inc. All Rights Reserved

Want more ?

Page 35: Ma forge++ : @Cloud

35©2011 CloudBees, Inc. All Rights Reserved

• Plug new functionalities to your SF• Centralized authentication & billing

ecosystem

Page 36: Ma forge++ : @Cloud

36©2011 CloudBees, Inc. All Rights Reserved

• Test on running application• Demo• Perfs / stress Tests• Production

Platform(s)

Page 37: Ma forge++ : @Cloud

©2011 CloudBees, Inc. All Rights Reserved

Choose your platform

Page 38: Ma forge++ : @Cloud

38©2011 CloudBees, Inc. All Rights Reserved

• Available on demand• Cheap• Scriptable (DevOps)• Resizable• Simple (from a developer PoV)• Integrated

Requirements

Page 39: Ma forge++ : @Cloud

39©2011 CloudBees, Inc. All Rights Reserved

• Available on demand• Cheap• ~ Scriptable • Resizable• Simple (from developer PoV)• Integrated

« Legacy » Java EE platforms

Page 40: Ma forge++ : @Cloud

40©2011 CloudBees, Inc. All Rights Reserved

• Available on demand• Cheap• Scriptable • Resizable• ? Simple (from developer PoV)• Integrated

« Modern » Java EE platforms

Page 41: Ma forge++ : @Cloud

41©2011 CloudBees, Inc. All Rights Reserved

• On demand• Elastic• Pay per usage• Monitored and Managed• Simplified technical view ?• Integration ?

Use a PaaS !

Page 42: Ma forge++ : @Cloud

42©2011 CloudBees, Inc. All Rights Reserved

• Multi-tenant Tomcat 6 on Cloud(JavaEE 6 Web Profile to come soon)

• Monitored High Availability, Autoscale, Clustering, Automated backup, …

in one click

Cloudbees RUN@Cloud

Page 43: Ma forge++ : @Cloud

43©2011 CloudBees, Inc. All Rights Reserved

From code to production

CloudBees vision o a PaaS : integration

More to be anounced …

Page 44: Ma forge++ : @Cloud

44©2011 CloudBees, Inc. All Rights Reserved

« Shit happens »

Page 45: Ma forge++ : @Cloud

45©2011 CloudBees, Inc. All Rights Reserved

• DEV/RUN@Cloud Private Edition

Run Cloudbees service on your own infra

• DEV@Cloud Jenkins migration plugin

Internet as « single point of failure »

Page 46: Ma forge++ : @Cloud

46©2011 CloudBees, Inc. All Rights Reserved

Demo

Page 47: Ma forge++ : @Cloud

47©2011 CloudBees, Inc. All Rights Reserved

@Cloud

Page 48: Ma forge++ : @Cloud

48©2011 CloudBees, Inc. All Rights Reserved

Q@A