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
250
Hexes, Charms and Spells
jadeallenx
0
150
3 > 2
jadeallenx
0
960
Idiomatic Erlang
jadeallenx
0
150
The Sharp Edges of Leaky Abstractions
jadeallenx
0
97
Sagas: Distributed Transactions Without Locks
jadeallenx
0
560
Before Unix: Early History of Time-Sharing
jadeallenx
0
210
Functional Programming Made Me a Better Perl Developer
jadeallenx
1
350
Assigning Meanings to Programs
jadeallenx
0
210
Other Decks in Programming
See All in Programming
SwiftUI Viewの責務分離
elmetal
PRO
2
270
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
900
Multi Step Form, Decentralized Autonomous Organization
pumpkiinbell
1
860
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
200
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
自力でTTSモデルを作った話
zgock999
0
100
機能が複雑化しても 頼りになる FactoryBotの話
tamikof
0
150
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
160
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
3
520
データの整合性を保つ非同期処理アーキテクチャパターン / Async Architecture Patterns
mokuo
54
19k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
It's Worth the Effort
3n
184
28k
StorybookのUI Testing Handbookを読んだ
zakiyama
28
5.5k
The World Runs on Bad Software
bkeepers
PRO
67
11k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
The Cult of Friendly URLs
andyhume
78
6.2k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
How STYLIGHT went responsive
nonsquared
98
5.4k
Practical Orchestrator
shlominoach
186
10k
Producing Creativity
orderedlist
PRO
344
40k
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