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
550
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
11k
Djangoでのメール送信 - 設定からテストまで/djangocongress-jp-2019-talk
thinkami
1
13k
Django・WSGIミドルウェア入門/django-congress-jp-2018-talk
thinkami
4
5.3k
自分のための機械学習をしてみた話
thinkami
0
640
Xamarinで作るAndroid Wearアプリ
thinkami
1
2.7k
FluentMigratorでDBマイグレーション
thinkami
0
2.2k
デプロイボタンを使ってみた
thinkami
0
1k
Vagrant + Berkshelf でお手軽写経環境構築
thinkami
1
1.4k
Twilio入門
thinkami
0
1.6k
Other Decks in Programming
See All in Programming
Flutterで分数(Fraction)を表示する方法
koukimiura
0
130
Android16 Migration Stories ~Building a Pattern for Android OS upgrades~
reoandroider
0
110
Catch Up: Go Style Guide Update
andpad
0
230
Foundation Modelsを実装日本語学習アプリを作ってみた!
hypebeans
0
110
2分台で1500examples完走!爆速CIを支える環境構築術 - Kaigi on Rails 2025
falcon8823
3
3.7k
Domain-centric? Why Hexagonal, Onion, and Clean Architecture Are Answers to the Wrong Question
olivergierke
3
900
株式会社 Sun terras カンパニーデック
sunterras
0
320
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
170
kiroとCodexで最高のSpec駆動開発を!!数時間で web3ネイティブなミニゲームを作ってみたよ!
mashharuki
0
570
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
130
CSC305 Lecture 05
javiergs
PRO
0
220
Swift Concurrency - 状態監視の罠
objectiveaudio
2
530
Featured
See All Featured
Optimising Largest Contentful Paint
csswizardry
37
3.5k
Build your cross-platform service in a week with App Engine
jlugia
232
18k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
33
2.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Practical Orchestrator
shlominoach
190
11k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Thoughts on Productivity
jonyablonski
70
4.9k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
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 はいろいろある > 個人でもいろいろと遊べる > アルクマ画像の利用 ...