33
Launchpad The Ubuntu collaboration platform Presentation by Raphaël Badin [email protected] www.canonical.com RMLL 2011

Launchpad - RMLL2011.rmll.info/IMG/pdf/Launchpad_RMLL-2011.pdf · Launchpad The Ubuntu collaboration platform ... Postgresql Slony-I Ubuntu Xen Python Twisted ... Recent Infrastructure

Embed Size (px)

Citation preview

LaunchpadThe Ubuntu collaboration platform

Presentation by

Raphaël Badin

[email protected]

www.canonical.com

RMLL 2011

2 Presentation by Raphaël Badin

Outline

● What is Launchpad?● Technology Stack● Fact Sheet● Ubuntu-related Features● Recent/Future Developments● Questions

3 Presentation by Raphaël Badin

Outline

● What is Launchpad?● Technology Stack● Fact Sheet● Ubuntu-related Features● Recent/Future Developments● Questions

4 Presentation by Raphaël Badin

Launchpad is a unique collaboration and hosting platform for software projects.

https://launchpad.net/+tour

5 Presentation by Raphaël Badin

A simple program

6 Presentation by Raphaël Badin

A “simple” program

Code

7 Presentation by Raphaël Badin

A “simple” program

Code

Bugs

8 Presentation by Raphaël Badin

A “simple” program

Code

Translations

Bugs

9 Presentation by Raphaël Badin

A “simple” program

Code

Translations

Bugs

Communication

10 Presentation by Raphaël Badin

A “simple” program

Code

Translations

Bugs

Communication

Specs

11 Presentation by Raphaël Badin

A “simple” program

Code

Translations

Bugs

Communication

Specs

Packaging

12 Presentation by Raphaël Badin

CodeCode hostingCode importsCode reviewTranslations

Import from filesImport from branches

Edit from Web UI

BugsBug tracking

Syncing with externaltrackers

Community MgmtMailing listsQuestions

SpecsBlueprints

PackagingBuild from source

Recipe builds

13 Presentation by Raphaël Badin

Who is Launchpad for?

● Software developers● Expert users of software● End users of software● Translators● Managers

14 Presentation by Raphaël Badin

Plan

● What is Launchpad?● Technology Stack● Fact Sheet● Ubuntu-related Features● Recent/Future Developments● Questions

15 Presentation by Raphaël Badin

Technology Stack

Client

Client side

Web ServerPublic-facing

services/technologies

BackendNon public-facing

services/technologies

(Web)

HTML/CSS

YUI 3

(Client)

Bzr

Launchpad lib

SFTP

Apache

Squid

Zope 3

Python

Twisted

REST (API)

Bzr server

Postgresql

Slony-I

Ubuntu

Xen

Python

Twisted

RabbitMQ

16 Presentation by Raphaël Badin

Technology Stack

Client

Client side

Web ServerPublic-facing

services/technologies

BackendNon public-facing

services/technologies

(Web)

HTML/CSS

YUI 3

(Client)

Bzr

Launchpad lib

SFTP

Apache

Squid

Zope 3

Python

Twisted

REST (API)

Bzr server

Postgresql

Slony-I

Ubuntu

Xen

Python

Twisted

RabbitMQ

17 Presentation by Raphaël Badin

Technology Stack

Client

Client side

Web ServerPublic-facing

services/technologies

BackendNon public-facing

services/technologies

(Web)

HTML/CSS

YUI 3

(Client)

Bzr

Launchpad lib

SFTP

Apache

Squid

Zope 3

Python

Twisted

REST (API)

Bzr server

Postgresql

Slony-I

Ubuntu

Xen

Python

Twisted

RabbitMQ

18 Presentation by Raphaël Badin

Technology Stack

Client

Client side

Web ServerPublic-facing

services/technologies

BackendNon public-facing

services/technologies

(Web)

HTML/CSS

YUI 3

(Client)

Bzr

Launchpad lib

SFTP

Apache

Squid

Zope 3

Python

Twisted

REST (API)

Bzr server

Postgresql

Slony-I

Ubuntu

Xen

Python

Twisted

RabbitMQ

19 Presentation by Raphaël Badin

Outline

● What is Launchpad?● Technology Stack● Fact Sheet● Ubuntu-related Features● Recent/Future Developments● Questions

20 Presentation by Raphaël Badin

Fact Sheet 1/4

● AGPL3 (https://dev.launchpad.net)● Project started in 2005● 20 devs● 420K SLOC (mostly Python)

21 Presentation by Raphaël Badin

Fact Sheet 2/4

● ~23K Active Projects● ~9K Active PPAs● ~800K Bugs● ~415K Branches● ~1.3M Registered Users (~10K Teams)● ~1.9K Active Mailing Lists

22 Presentation by Raphaël Badin

Fact Sheet 3/4: Database servers

● PostgreSQL 8.4 / Slony-I 1.2● ~150G● 3 Servers: 4 x dual core

Opteron, 128GB RAM

23 Presentation by Raphaël Badin

Fact Sheet 4/4: A day in Launchpad

● ~11M Requests/day● ~5M API Requests/day● ~15 Projects registered/day● ~5500 Packages built/day

24 Presentation by Raphaël Badin

Outline

● What is Launchpad?● Technology Stack● Fact Sheet● Ubuntu-related Features● Recent/Future Developments● Questions

25 Presentation by Raphaël Badin

Distribution Modellinghttps://help.launchpad.net/Bugs/MultiProjectBugs

● Bugs can affect multiple projects / distributions

26 Presentation by Raphaël Badin

Personal Package Archive (PPA)https://help.launchpad.net/Packaging/PPA

● Private archive / build system (x86/AMD64)● Used for

● Projects not in Ubuntu● Custom versions of software packages● Backports● Development versions / daily build

27 Presentation by Raphaël Badin

Recipeshttps://help.launchpad.net/Packaging/SourceBuilds/Recipes

● Create Ubuntu source packages with Bzr● Combine Bzr branches to create source packages# bzr-builder format 0.3 deb-version 1.0+{revno}

lp:bzr

merge fix-build lp:~bzr/bzr/fix-build

[...]

28 Presentation by Raphaël Badin

Outline

● What is Launchpad?● Technology Stack● Fact Sheet● Ubuntu-related Features● Recent/Future Developments● Questions

29 Presentation by Raphaël Badin

Recent Infrastructure Work 1/2

● Performance work: avg rendering time from 8s to 3s (since January 2011).

30 Presentation by Raphaël Badin

Recent Infrastructure Work 2/2

● Bug subscriptionhttps://dev.launchpad.net/LEP/

BetterBugSubscriptionsAndNotifications

31 Presentation by Raphaël Badin

Ubuntu Distributed Development (UDD)https://wiki.ubuntu.com/DistributedDevelopment

● Goal● Ease Ubuntu Development

● Means● Add more packaging capabilities to Bzr● Use Bzr for packaging data

32 Presentation by Raphaël Badin

Personal Dashboardhttps://dev.launchpad.net/Wishes/PersonalDashboard

● Right now Launchpad is project centric● Goal: give an overview of all the tasks for

a particular user

Thanks you!Questions?

Raphaël Badin

[email protected]

www.canonical.com