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
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
320
SODA - FACT BOOK(JP)
sodainc
1
8.6k
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
1
120
Flutterで分数(Fraction)を表示する方法
koukimiura
0
140
Server Side Kotlin Meetup vol.16: 内部動作を理解して ハイパフォーマンスなサーバサイド Kotlin アプリケーションを書こう
ternbusty
3
230
iOSでSVG画像を扱う
kishikawakatsumi
0
150
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
120
bootcamp2025_バックエンド研修_WebAPIサーバ作成.pdf
geniee_inc
0
120
デミカツ切り抜きで面倒くさいことはPythonにやらせよう
aokswork3
0
250
フロントエンド開発のためのブラウザ組み込みAI入門
masashi
7
3.3k
Writing Better Go: Lessons from 10 Code Reviews
konradreiche
3
5.5k
CSC305 Lecture 09
javiergs
PRO
0
300
Featured
See All Featured
Scaling GitHub
holman
463
140k
Navigating Team Friction
lara
190
15k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.5k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Faster Mobile Websites
deanohume
310
31k
Why Our Code Smells
bkeepers
PRO
340
57k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
A better future with KSS
kneath
239
18k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.7k
Fireside Chat
paigeccino
40
3.7k
The Invisible Side of Design
smashingmag
302
51k
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