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
230
Hexes, Charms and Spells
jadeallenx
0
140
3 > 2
jadeallenx
0
830
Idiomatic Erlang
jadeallenx
0
130
The Sharp Edges of Leaky Abstractions
jadeallenx
0
92
Sagas: Distributed Transactions Without Locks
jadeallenx
0
550
Before Unix: Early History of Time-Sharing
jadeallenx
0
180
Functional Programming Made Me a Better Perl Developer
jadeallenx
1
340
Assigning Meanings to Programs
jadeallenx
0
180
Other Decks in Programming
See All in Programming
TypeScriptでもLLMアプリケーション開発 / LLM Application In Typescript
rkaga
5
1.3k
Powerfully Typed TypeScript
euxn23
3
1.5k
株式会社ゼネテック
genetec
0
120
Exploring the Implementation of “t.Run”, “t.Parallel”, and “t.Cleanup”
akarin
1
160
The grand strategy of Ruby Parser
yui_knk
5
280
ServerAction で Progressive Enhancement はどこまで頑張れるか? / progressive-enhancement-with-server-action
takefumiyoshii
6
510
Exploring Type-Informed Lint Rules in Rust based TypeScript Linters
unvalley
3
630
『Railsオワコン』と言われる時代に、なぜブルーモ証券はRailsを選ぶのか
free_world21
2
480
freeeのエンジニアが 就活で出そうな コーディングテストを 解説してみる
freee
1
160
Long journey of Ruby standard library RubyKaigi 2024
andpad
2
200
Native Federation: The Future of Micro Frontends in Angular
manfredsteyer
PRO
0
170
RailsConf 2024: Riffing on Rails: sketch your way to better designed code
kaspth
1
210
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
133
6.3k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
9
1.3k
Large-scale JavaScript Application Architecture
addyosmani
504
110k
Testing 201, or: Great Expectations
jmmastey
30
6.4k
Documentation Writing (for coders)
carmenintech
60
4k
Optimising Largest Contentful Paint
csswizardry
13
2.4k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
41
4.5k
Designing on Purpose - Digital PM Summit 2013
jponch
111
6.5k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
Designing for Performance
lara
601
67k
Building an army of robots
kneath
300
41k
What the flash - Photography Introduction
edds
64
11k
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