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
PaaSとGoogleサービスとアルクマで遊ぶ
Search
thinkAmi
February 16, 2013
Programming
0
540
PaaSとGoogleサービスとアルクマで遊ぶ
NSEG #36にて発表したときのスライドです。
thinkAmi
February 16, 2013
Tweet
Share
More Decks by thinkAmi
See All by thinkAmi
知ろう!使おう!HDF5ファイル!/pycon-jp-2019-talk
thinkami
4
10k
Djangoでのメール送信 - 設定からテストまで/djangocongress-jp-2019-talk
thinkami
1
12k
Django・WSGIミドルウェア入門/django-congress-jp-2018-talk
thinkami
4
5.1k
自分のための機械学習をしてみた話
thinkami
0
610
Xamarinで作るAndroid Wearアプリ
thinkami
1
2.7k
FluentMigratorでDBマイグレーション
thinkami
0
2.1k
デプロイボタンを使ってみた
thinkami
0
990
Vagrant + Berkshelf でお手軽写経環境構築
thinkami
1
1.3k
Twilio入門
thinkami
0
1.6k
Other Decks in Programming
See All in Programming
やっと腹落ち「スプリント毎に動くモノをリリースする」〜ゼロから始めるメガバンクグループのアジャイル実践〜
sasakendayo
0
150
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
430
CloudRun, Spanner に対する負荷試験の反省と オブザーバビリティによるアプローチ
oyasumipants
1
170
はじめての Go * WASM * OCR
sgash708
1
120
Jakarta EE meets AI
ivargrimstad
0
660
Boos Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
630
iOSでQRコード生成奮闘記
ktcryomm
2
130
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
260
CloudNativePGを布教したい
nnaka2992
0
120
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
250
変化の激しい時代における、こだわりのないエンジニアの強さ
satoshi256kbyte
0
110
Go 1.24でジェネリックになった型エイリアスの紹介
syumai
2
300
Featured
See All Featured
Scaling GitHub
holman
459
140k
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Speed Design
sergeychernyshev
28
820
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
Writing Fast Ruby
sferik
628
61k
The Pragmatic Product Professional
lauravandoore
32
6.4k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
440
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
227
22k
The Cost Of JavaScript in 2023
addyosmani
47
7.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Transcript
PaaS と Google サービスと アルクマで遊ぶ NSEG #36 2013.2.16 @thinkAmi
自己紹介 > @thinkAmi > hatena id:thinkAmi > 信州 > C#,
Python, Ruby > 自社インフラ管理 > NSEG, GDG 信州
アルクマ > いいですね!
アルクマのいいところ > スケジュールが公開されている > どこにいるかも公開されている > いろいろと遊べそう
2012 年、年末 > アルクマで、 3 回遊びました > Google サービス縛り >
Advent Calendar in 信州松本(だけじゃなくて もいいよ) http://atnd.org/event/ac2012matsumoto
遊び方 > アルクマのスケジュールをもとに、 位置を Google マップ上にマッピング > アルクマの画像使用ライセンスが 不明なため、シナノゴールド で代替
遊んだ時に使ったもの > Google App Engine (GAE) for Python(webapp2) > Google
Apps Script (GAS) > Google Calendar > Google Cloud SQL > Google Drive > Google Map
構成 - その 1 > GAS の Xml で、スケジュール解析・保存 >
GAE で、 GAS の ContentService と JSONP
結果 - その 1 >
構成 - その 2 > GAE(Python の lxml) で、 スケジュール解析して
CloudSQL へ保存 > GAS で、 CloudSQL よりデータ取り出し > GAS の HTMLService で、表示
結果 - その 2 > 公開停止中! > Google Cloud SQL
の課金が始まる前に、 忘れないように停止させました > すみません ...
構成 - その 3 > GAE で、 Google Calendar よりデータ取得
> GAE で、 Google Drive API を使って、 Google Drive に HTML ファイルを作成 > Google Drive の HTML ファイルを公開
結果 - その 3 > マーカーが ...( 以前はできてたはず ...)
詳しくは > 以下でソースコードを公開しています > https://github.com/thinkAmi/ac2012matsumoto
2013 年 > 他の PaaS > 新しい言語 > で、やってみたい
PaaS で有名なところ > Google App Engine > Heroku > Windows
Azure > Engine Yard > ...
NSEG #21 クラウド
個人でも遊びやすい PaaS > 個人でも使いやすい価格 ( ある程度までは、フリー ) > フリーでも、いわゆる DB
が使える > フリーでも、独自ドメインが使える > 独自ドメインでなくても、 SSL が使える > デプロイが簡単 > いろいろとアドオンあり
取り上げる PaaS > Google App Engine > Heroku > cloudControl
> AppFog
Google App Engine > https://appengine.google.com/ > 言語: Java,Python,Go > フリーの
DB: BigTable > インフラ: Google > 日本語の情報:多い > Google のサービスを利用しやすい
Google App Engine - Dashboard
Google App Engine - デプロイ > ランチャー (GUI) で「 Deploy
」 * コマンドラインからも可能です
Heroku > http://www.heroku.com/ > 言語: Java,Python,Ruby,JRuby,Node,Clojure,Scala > フリーの DB: PostgreSQL
> インフラ: Amazon Web Service (AWS) > アドオン : 外部提供 > 日本語の情報:多い
Heroku - Dashboard
Heroku - デプロイ > Git を使う git push heroku master
cloudControl > https://www.cloudcontrol.com > 言語: Java,Python,Ruby,PHP > フリーの DB: MySQL
> インフラ: AWS > アドオン : 外部提供 > 日本語の情報:少ない (PHP メイン )
cloudControl - Dashboard
cloudControl - デプロイ > まず、 Git リポジトリを作成 > 次に、専用ツールにて cctrlapp
<your app>/<deployment> push cctrlapp <your app>/<deployment> deploy
AppFog > https://www.appfog.com/ > 言語: Java,Python,Ruby,Node,PHP, .NET > フリーの DB:
MySQL,PostgreSQL,MongoDB,RabbitMQ,Redis > インフラ : (Cloud Foundry) AWS,HP OpenStack,WindowsAzure,Rackspace > アドオン : 外部提供 > 日本語の情報:少なめ (PHP メイン )
AppFog - Dashboard
AppFog - デプロイ > 専用ツール af より af push <your
app> > Git なし
今回のデプロイ先 > cloudControl > AppFog
cloudControl と AppFog 共通の言語 > 2012 年でやった、 Python 以外 >
選択肢 Java, Ruby, PHP
今回の言語 > Ruby
はじめる前に ... > 今までは、 GAE や GAS を動かしている Google アカウントで、
Google API を利用 > 何が問題か?
アカウント認証の問題 > Google の API を利用するため、 PaaS に Google アカウント情報を渡す
↓ いろいろと心配 ↓ なにか良い方法はないか ...
どうしたか > API 利用に、 Service account を使う > 参考: すぎゃーんメモ -
Heroku 上から Service Account 認証で Google API にアクセスする http://d.hatena.ne.jp/sugyan/20130112/1357996092
構成 > Ruby + Sinatra > アルクマカレンダーを解析 Nokogiri > Google
カレンダーへの保存・取得 google-api-ruby-client
できたもの - cloudControl 版 > http://arukumapnseg.cloudcontrolled.com/
できたもの - AppFog 版 > http://arukumapnseg.aws.af.cm/
まとめ > PaaS はいろいろある > 個人でもいろいろと遊べる > アルクマ画像の利用 ...