Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Perl Platform as a Service Shootout
Search
Jade Allen
June 14, 2012
Programming
1
480
Perl Platform as a Service Shootout
Comparing and contrasting various platform as a service provider's Perl support
Jade Allen
June 14, 2012
Tweet
Share
More Decks by Jade Allen
See All by Jade Allen
All About Regular Expressions
jadeallenx
1
260
Hexes, Charms and Spells
jadeallenx
0
160
3 > 2
jadeallenx
0
1k
Idiomatic Erlang
jadeallenx
0
160
The Sharp Edges of Leaky Abstractions
jadeallenx
0
110
Sagas: Distributed Transactions Without Locks
jadeallenx
0
570
Before Unix: Early History of Time-Sharing
jadeallenx
0
220
Functional Programming Made Me a Better Perl Developer
jadeallenx
1
360
Assigning Meanings to Programs
jadeallenx
0
230
Other Decks in Programming
See All in Programming
MCPとデザインシステムに立脚したデザインと実装の融合
yukukotani
2
1k
実用的なGOCACHEPROG実装をするために / golang.tokyo #40
mazrean
1
130
CloudflareのChat Agent Starter Kitで簡単!AIチャットボット構築
syumai
1
310
TanStack DB ~状態管理の新しい考え方~
bmthd
2
390
Microsoft Orleans, Daprのアクターモデルを使い効率的に開発、デプロイを行うためのSekibanの試行錯誤 / Sekiban: Exploring Efficient Development and Deployment with Microsoft Orleans and Dapr Actor Models
tomohisa
0
220
Laravel Boost 超入門
fire_arlo
2
170
為你自己學 Python - 冷知識篇
eddie
1
310
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
300
AI時代のUIはどこへ行く?
yusukebe
7
3.1k
ProxyによるWindow間RPC機構の構築
syumai
1
290
兎に角、コードレビュー
mitohato14
0
170
Google I/O recap web編 大分Web祭り2025
kponda
0
2.9k
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
It's Worth the Effort
3n
187
28k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
A Tale of Four Properties
chriscoyier
160
23k
Balancing Empowerment & Direction
lara
3
610
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Designing for humans not robots
tammielis
253
25k
Automating Front-end Workflow
addyosmani
1370
200k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Optimising Largest Contentful Paint
csswizardry
37
3.4k
Transcript
Perl Platform as a Service Shootout Mark Allen
[email protected]
https://github.com/mrallen1
https://metacpan.org/author/MALLEN
"Platform as a Wha?" Coders don't have to be system
administrators • Deploy your code • Magic happens • Your application is live • Web applications • Now queue workers too
Platform as a service shootout Most PaaS providers support python,
php, ruby or node.js "natively" A few support Perl deployments. How magical is Perl support?
Test application: geotz Given a JSON encoded list of IP
addresses, return the UTC offset for each IP's timezone. Input: ["24.24.24.24"] Output: { "24.24.24.24" : { "country_name": "United States", "region_name": "New York", "city": "Buffalo", "time_zone": "America/New_York", "utc_offset": -14400 } }
Implementations Perl • Dancer • Mojolicious Python • Flask Erlang
• Webmachine
Perl Dependencies Dancer • Try::Tiny • Regexp::Common • DateTime • DateTime::TimeZone • JSON • Geo::IP <=
hard to automate
Perl Dependencies Mojolicious::Lite • Mojo::JSON • Try::Tiny • Regexp::Common • DateTime • DateTime::TimeZone • Geo::IP <=
hard to automate
Python Dependencies • Flask (and Werkzeug, Jinja2) • PyTZ (core python tz
support sucks) • pygeoip
Erlang Dependencies • webmachine • mochiweb • egeoip
Providers • Heroku • dotCloud • Stackato (my 45 day
trial ended) • OpenShift (Red Hat) • flexflux.com (closing) • Juju (Ubuntu)
Evaluation Criteria • Ease of deployment • Performance? • Cost?
• How "magical" Perl support is relative to other supported languages. (First class or hacked together?)
Evaluation Criteria • Ease of deployment • Performance? • Cost?
• How "magical" Perl support is relative to other supported languages. (First class or hacked together?)
Findings • Getting PSGI compliant Perl web apps (with sensible dependencies)
into PaaS environments is generally pain free. • But python is still less painful. • Erlang is a unicorn. (Some PaaS providers have alpha quality support.)
Resources https://github.com/mrallen1/perl-PaaS-Shootout https://speakerdeck.com/u/mrallen1/p/Perl- Platform-as-a-Service-Shootout Try the service: http://dancerperlpaas-mrallen1.dotcloud.com/ http://flaskperlpaas-mrallen1.dotcloud.com/ http://blazing-sky-3007.herokuapp.com
(mojo) curl -s -X POST -d'["24.24.24.24"]' URL | json_pp