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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
270
Hexes, Charms and Spells
jadeallenx
0
170
3 > 2
jadeallenx
0
1.1k
Idiomatic Erlang
jadeallenx
0
170
The Sharp Edges of Leaky Abstractions
jadeallenx
0
110
Sagas: Distributed Transactions Without Locks
jadeallenx
0
580
Before Unix: Early History of Time-Sharing
jadeallenx
0
230
Functional Programming Made Me a Better Perl Developer
jadeallenx
1
370
Assigning Meanings to Programs
jadeallenx
0
250
Other Decks in Programming
See All in Programming
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
750
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
今こそ知るべき耐量子計算機暗号(PQC)入門 / PQC: What You Need to Know Now
mackey0225
3
380
Package Management Learnings from Homebrew
mikemcquaid
0
230
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
AI時代の認知負荷との向き合い方
optfit
0
170
Claude Codeと2つの巻き戻し戦略 / Two Rewind Strategies with Claude Code
fruitriin
0
150
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
230
AIによる開発の民主化を支える コンテキスト管理のこれまでとこれから
mulyu
3
500
副作用をどこに置くか問題:オブジェクト指向で整理する設計判断ツリー
koxya
1
610
MUSUBIXとは
nahisaho
0
140
AI巻き込み型コードレビューのススメ
nealle
2
1.4k
Featured
See All Featured
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
130
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
350
Building Flexible Design Systems
yeseniaperezcruz
330
40k
エンジニアに許された特別な時間の終わり
watany
106
230k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.2k
Context Engineering - Making Every Token Count
addyosmani
9
670
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
170
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
71k
KATA
mclloyd
PRO
34
15k
Ruling the World: When Life Gets Gamed
codingconduct
0
150
The Curious Case for Waylosing
cassininazir
0
240
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