Oyster: an incubator for perls in the cloud

Post on 01-Jul-2015

4.032 views 0 download

description

My proposal for northwestengland.pm's Hackday. Oyster will be an opensource set of tools and modules to enable easy provisioning and deployment of Perl web-apps to the cloud. Oyster was selected as the main application for the Hackday on 20th December. During the day we'll also be working on Iain's "Hackday in a Box" application (which will be the first test application for Oyster!); triaging Perl bugs; and adding features to last year's project Ironman. Why Aim So Low indeed!

Transcript of Oyster: an incubator for perls in the cloud

http://www.fickr.com/photos/rainchurch/3163870154/http://www.fickr.com/photos/rainchurch/3163870154/

OysterOysteran incubator an incubator for Perls in for Perls in the cloudthe cloud

Pitch for NorthWestEngland.pm Hackday, 16Pitch for NorthWestEngland.pm Hackday, 16thth Sep 2010 Sep 2010osfameron@cpan.orgosfameron@cpan.org

Easy Deployment!Easy Deployment!● Write an Write an

appapp● Host it in Host it in

the cloud!the cloud!● Launch Launch

server by server by pushing to pushing to gitgit

Easy Deployment!Easy Deployment!● Write an Write an

appapp● Host it in Host it in

the cloud!the cloud!● Launch Launch

server by server by pushing to pushing to gitgit

● Why Ruby Why Ruby not Perl?not Perl?

Walled GardenWalled Garden● heroku heroku

manage manage Amazon Amazon instancesinstances

● Standard Standard buildsbuilds

Amazon Amazon EC2EC2

Walled GardenWalled Garden● heroku heroku

manage manage Amazon Amazon instancesinstances

● Standard Standard buildsbuilds

Amazon Amazon EC2EC2

$$$ discount pricing$$$ discount pricing

Walled GardenWalled Garden● heroku heroku

manage manage Amazon Amazon instancesinstances

● Standard Standard buildsbuilds

Amazon Amazon EC2EC2

Dyno build:Dyno build:gitgitrack apprack appmemcachedmemcachedPostgres onlyPostgres onlyrestrictions on modules restrictions on modules

http://www.fickr.com/photos/beautifulrust/3921191447

Oyster: incubator for PerlsOyster: incubator for Perls● EC2 standardEC2 standard

● Net::Amazon::EC2Net::Amazon::EC2● open-source copies open-source copies

available available (Ubuntu / Eucalyptus)(Ubuntu / Eucalyptus)

● Task::KenshoTask::Kensho● Catalyst/PlackCatalyst/Plack● Storage (EBS)Storage (EBS)

– DBIC+pgDBIC+pg– KiokuDBKiokuDB

● Other standardsOther standards– git / lighttpd / git / lighttpd /

memcachedmemcached

http://www.fickr.com/photos/beautifulrust/3921191447

Oyster: incubator for PerlsOyster: incubator for Perls● Client buildClient build

● standard package / standard package / VM buildVM build

● Server buildServer build● AMI instanceAMI instance

http://www.fickr.com/photos/beautifulrust/3921191447

Oyster: incubator for PerlsOyster: incubator for Perls● Client buildClient build

● standard package / standard package / VM buildVM build

● Server buildServer build● AMI instanceAMI instance

● Not walled garden!Not walled garden!● Speak to Amazon Speak to Amazon

yourselfyourself

http://www.fickr.com/photos/beautifulrust/3921191447

Oyster: incubator for PerlsOyster: incubator for Perls● Client buildClient build

● standard package / standard package / VM buildVM build

● Server buildServer build● AMI instanceAMI instance

● Not walled garden!Not walled garden!● Speak to Amazon Speak to Amazon

yourselfyourself● Set up your own cloud!Set up your own cloud!

– (community could do this?)(community could do this?)

http://www.fickr.com/photos/beautifulrust/3921191447

Oyster: incubator for PerlsOyster: incubator for Perls● Client buildClient build

● standard package / standard package / VM buildVM build

● Server buildServer build● AMI instanceAMI instance

● Not walled garden!Not walled garden!● Speak to Amazon Speak to Amazon

yourselfyourself● Set up your own cloud!Set up your own cloud!

– (community could do this?)(community could do this?)– (commercial ecosystem)(commercial ecosystem)

Walled Garden Walled Garden (optional)(optional)

Amazon Amazon EC2EC2

locallocalhosthost

git repogit repoDB DB

serverserverAmazon Amazon

EC2EC2

locallocalhosthost

git repogit repo

DB DB serverserver

http://www.fickr.com/photos/beautifulrust/3921191447

Oyster: incubator for PerlsOyster: incubator for Perls● Community servicesCommunity services

● Try Perl!Try Perl!– easy, no-easy, no-

commitment commitment provisioningprovisioning

– 1-4 hours for testing1-4 hours for testing– or 1-12 months for or 1-12 months for

incubation?incubation?

http://www.fickr.com/photos/beautifulrust/3921191447

Oyster: incubator for PerlsOyster: incubator for Perls● Community servicesCommunity services

● Try Perl!Try Perl!– easy, no-easy, no-

commitment commitment provisioningprovisioning

– 1-4 hours for testing1-4 hours for testing– or 1-12 months for or 1-12 months for

incubation?incubation?– … … free hosting for free hosting for

community projects?community projects?

http://www.fickr.com/photos/beautifulrust/3921191447

Oyster: incubator for PerlsOyster: incubator for Perls● Community servicesCommunity services

● Try Perl!Try Perl!– easy, no-easy, no-

commitment commitment provisioningprovisioning

– 1-4 hours for testing1-4 hours for testing– or 1-12 months for or 1-12 months for

incubation?incubation?– … … free hosting for free hosting for

community projects?community projects?● How?How?

– (sponsor EC2 costs?)(sponsor EC2 costs?)– (or build cloud?)(or build cloud?)

http://www.fickr.com/photos/docman/3197133846

TasksTasks● Create standard AMICreate standard AMI

● launch Catalyst app to EC2launch Catalyst app to EC2● launch Plack app to EC2launch Plack app to EC2

● frontend frontend ● Dist::Zilla?Dist::Zilla?● git?git?● Web?Web?

http://www.fickr.com/photos/docman/3197133846

TasksTasks● Names!Names!

● ““Oyster”Oyster”● Graphic design / interactionGraphic design / interaction

● project pagesproject pages● management panelsmanagement panels

● Investigate herokuInvestigate heroku● features to stealfeatures to steal● reputation / fundingreputation / funding

● Build a cloud!Build a cloud!● Standard client Standard client (developer VMware image)(developer VMware image)● Management toolsManagement tools

● meta-cloud?meta-cloud?● Technical integrationTechnical integration

● persist dependencies (local::lib)persist dependencies (local::lib)● git hooksgit hooks● DBIC/Kioku via EBSDBIC/Kioku via EBS

● look into sponsorshiplook into sponsorshiphttp://www.fickr.com/photos/docman/3197133846

Moar Tasks!Moar Tasks!

● 1. Proof of concept1. Proof of concept● 2. Batteries included 2. Batteries included

(website, VMs, easy (website, VMs, easy signup)signup)

● 3. Some support for 3. Some support for hosted service hosted service (incubation)(incubation)

● 4. Ecosystem of 4. Ecosystem of community / community / commercial oferings. commercial oferings. World domination! World domination!

http://www.fickr.com/photos/staylor336/2231280115/

PhasesPhases

● 1. Proof of concept1. Proof of concept● 2. Batteries included 2. Batteries included

(website, VMs, easy (website, VMs, easy signup)signup)

● 3. Some support for 3. Some support for hosted service hosted service (incubation)(incubation)

● 4. Ecosystem of 4. Ecosystem of community / community / commercial oferings. commercial oferings. World domination! World domination!

http://www.fickr.com/photos/staylor336/2231280115/

PhasesPhases

Benefts to CommunityBenefts to Community

● Ruby oneupmanship ;-)Ruby oneupmanship ;-)● Push Task::KenshoPush Task::Kensho● Better tools / lower frictionBetter tools / lower friction● Show we're not afraid of exciting, trendy Show we're not afraid of exciting, trendy

things like “the Cloud”things like “the Cloud”

http://www.fickr.com/photos/deaconmacmillan/2977657683http://www.fickr.com/photos/deaconmacmillan/2977657683

Scope for hackday?Scope for hackday?● FunFun● Tasks forTasks for

● developerdeveloper● sysadminsysadmin● non-technicalnon-technical

● PeriodPeriod● One day spikeOne day spike● Year-long projectYear-long project

http://www.fickr.com/photos/deaconmacmillan/2977657683http://www.fickr.com/photos/deaconmacmillan/2977657683

http://www.fickr.com/photos/rainchurch/3163870154/http://www.fickr.com/photos/rainchurch/3163870154/

Tanks!Tanks!any any

questions?questions?

Pitch for NorthWestEngland.pm HackdayPitch for NorthWestEngland.pm Hackdayosfameron@cpan.orgosfameron@cpan.org