Upload
osfameron
View
4.033
Download
0
Embed Size (px)
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!
Citation preview
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 [email protected]@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 [email protected]@cpan.org