【今こそGAE】やっぱり AppEngine ja night #1　参加したからまとめた

[やっぱり AppEngine ja night #1](https://gaeja.connpass.com/event/51099/) by [GCPUG](http://gcpug.jp/)
@ [日経カンファレンスルーム](http://www.nikkei-hall.com/access/)

　
GAEのイベント行ってきたぽい？
メモがだいすきなフレンズなんだね！（とくいとはいっていない）
※ 適当にはしょりつつ加筆しつつ，再編もしてます

GAEの名前くらいしか知らない人は
[個人的に最強のPaaSプラットフォームGoogle App Engineの良い所を挙げてみる](http://qiita.com/yosukesuzuki/items/a347f6e89d7624d6f977)
↑　あたりを先に読んだほうが良いかもʕ•̀ω•́ʔ✧

#あじぇんだ
かずのりさん（@kazunori279）ご挨拶
GoogleAppEngineの今と昔 〜GAEの繁栄と衰退 そして復活へ〜　@soundTricker  さん
Namespace APIを用いたマルチテナント型Webアプリの実践　@tenntenn さん
最強のPaaS環境 Google App Engine　@yosukesuzuki  さん
ビアトーク
　GAEからVision API/Translation APIを使ってみる　[enakai00](http://enakai00.hatenablog.com/) さん
　GAEで勝手に地域貢献してみた　@tomorier さん
　GAE/GoでリバーシLINE Bot作った話　@orfeon さん
　GAE/Go + Cloud SQL は需要あるのか？　@kaneshin さん
　中国でGAEやってみた　@hayatoy さん
　ScalaでもGAE　@mtoyoshi さん

#かずのりさんご挨拶
[appengine ja night #1-#10 review](https://www.slideshare.net/googledevjp/cp4-sato-higa)
@kazunori279 さん

イベントのこれまでの流れとか
空間充填曲線がどうたらこうたら

#GoogleAppEngineの今と昔 〜GAEの繁栄と衰退 そして復活へ〜
https://docs.google.com/presentation/d/16t76KP7yWHcChK-8kAXSxnhgNDj86gl-1jLA4XmGF0U/edit
@soundTricker さん

###GAEのつよみ
**オートスケール，バージョニングがデフォルト**
　IaaSでやろうとすると大変！
**Googleインフラつかえる**

##れきし！
| 年 | 追加機能 | 補足 |
|-----------:|:------------|:------------|
| 2008  | （Campfire oneで発表） | 最初は制限多かったね|
| 2009    |    有料版<br>Memcache, Admin Console, image API,<br>**GAE/J**, Cron,<br>TaskQueue, XMPP, Blobstore | このころが一番人気<br>GAE/J<br>　slim3使われた<br>　Scala, Groovy, JRubyしちゃう勢出現　でもだいたいつらたん<br>Spring Roo, VMWare　→　どっちもなかったことに… |
| 2010       | Datastore Cursor, AppStats, Namespace |   |
| 2011       |  **GAE/Go**, backends,<br>High Reprication Datastore<br>料金改定（概ね値上げ） |  料金改定　CPU時間→インスタンス時間<br>　叩かれた．他PaaSに比べればそれでも安かったのに…<br>　衰退の一因  |
| 2012      | Channel API, **ndb**,<br>Go 1.0, Threads,<br>GCS, Search API, GCE |  [ndb](https://www.google.co.jp/search?q=ndb+gae)はグイド先生の傑作<br>結構発展してたね   |
| 2013  |  socket, php, cloud endpoint, <br>dedicated memcache, cloud playground |  [cloud playground](https://cloud-playground.appspot.com/)は手軽でいいぞ  |
|さいきん|制限緩和，料金改定（概ね値下げ），<br>project内での複数言語対応|[料金改定](https://cloudplatform-jp.googleblog.com/2016/04/google-cloud-datastore.html)<br>　Datastoreあまり悩まなくてよくなった<br>　考えるのはスピードいるときだけ|


##全盛期（-2011年）
安いし，クッソスケールするし，と一番遊ばれてた

####しかし問題点が浮き彫りに
スピンアップ　Javaおそい（Javaが一番使われてたから）
対応言語　
ロックイン
　ファイルシステムつかえない
　使えないAPIガー
からの料金改定（概ね値上げ） 

でも進化続けてた

##いい感じに安定してきた（2012年-）
HRD(High Replication Datastore)は障害全然ないね
制限は徐々に緩和方向（昔はDatastore 1000件までとか）
ドキュメントも増えてきた

###GCP全体として
SQLも使えるようになったし，ビッグクエリも流行
いろいろ謎テクノロジーしゅごい

GAE Flexible Environment　β
　自由度が上がるのはいいが，裏側いろいろ変わってるし，まだ安定性が
　もうGAEじゃないじゃん，みたいな（ほんそれ）


##時代がGAEに追いついた！（now）

コンテナ普及　ぐぐる「わしはそだててた」
オートスケールは常識化
フルマネージドいいよねの流れ　ロックインなにそれおいしいの（えっそうなんだｗ）
最近人気めのGoとの相性良い

##言語比較
（Standerd Edition内で）

| 言語   | スピンアップ |  ライブラリ  | 補足 |
|:-------|:------------|:------------|:-------------------|
| Python |     速      |     多・良   | [tasklet](https://cloudplatform-jp.googleblog.com/2015/10/google-app-engine.html)使うと並列化できる<br>Googleサンプルコードも多い |
| Go     |   爆速      |  それなり・遅め     | ごるーちん！<br>SDKバージョン一応追ってくれる |
| Java   |   遅        |  それなり     | 採用に困らない<br>IDEサポート受けやすい<br>slim3最近更新されない… |
| PHP    |     速      |  少なめ      | しらね(ﾟ⊿ﾟ) <br>鬼門とのうわさ |

##最近のGAE周り
古くなった情報が多いので注意
　ndb, HRD, Services（旧Modules）とかまぁ出てないし

GAE単体の発展はゆっくり．GCP全体で追おう
　機械学習系API, Stackdriver, Firebaseとか
**東京リージョン**ｋｔｋｒ
[ねくすと](https://cloudnext.withgoogle.com/)ｗｋｔｋ

Stackdriver系で開発楽に
　Debugger, Trace, Logging

なんでもDatastoreはよくない（古参がやりがち）
　知らない人にはつらいし，今ならCloud SQLあるし
　使うなら知見ある人に聞く．デザパタある，奥深い
　　**@sinmetalさんが[技術書典２](https://techbookfest.org/event/tbf02)のテクブ本に[書くらしい](https://twitter.com/sinmetal/status/837522065179566081)** よ？





#Namespace APIを用いたマルチテナント型Webアプリの実践
（複数サービスにまたがるバナー配信ツール）
https://www.slideshare.net/takuyaueda967/namespace-apiweb
@tenntenn さん

（参考）
　[アッテ開発の技術 : Golang と Google App Engine](https://speakerdeck.com/ttsuruoka/atutekai-fa-falseji-shu-golang-to-google-app-engine)


###要件
　メルカリアッテとメルカリで使う　言語がPHPとなんか
　　干渉やだ，サービスごと特有処理いれない
　非エンジニアも使う
　でばぐしやすい

###NamespaceAPI
　複数アプリから利用のため
　サービスごとの設定はデータ，コードにはかかない
　datastore, memcache, TaskQueue , Searchが対応

##じっそう

Contextをさしかえるだけ！
Namespace取得する関数はない（！）のでラップした

ミドルウェアでNamespaceきりかえ，datastoreに保存
URLのインスタンスの部分をNamespaceとして活用（数字以外は無視してくれるのを利用）

管理用Namespaceは統一しとく
管理用APIは管理者権限要求

###コンソール上の扱い
datastore　名前空間と種類
memcache　名前空間　ローカルだとどうするか…？

##まとめ

長所
　他サービスに影響なし
　開発環境もすぐつくれる
　　Namespaceつくればすぐ
短所
　Namespace間の設定移行のAPI必要
　ローカルのデバッグめんどう

**GAEでマルチテナント型かんたん**
**GAEで社内ツール作るとべんり**
　G suiteアカつかえる，アクセス制御らく

#最強のPaaS環境 Google App Engine
https://speakerdeck.com/yosukesuzuki/appengine-at-nikkei
@yosukesuzuki さん

（参考）
　[個人的に最強のPaaSプラットフォームGoogle App Engineの良い所を挙げてみる](http://qiita.com/yosukesuzuki/items/a347f6e89d7624d6f977)

日経電子版
有料会員50万人，月間3億あくせす

200リクエスト/sec　100万/dayくらい
　**利用料4−5万/月**　半分はインターネットアウト
来る時来ない時差が激しい　少ないと6人
　3-26インスタンス

**放置プレイでおｋ**　おっきい障害はこの5年で12年10月くらい

###AWS(Elastic Beanstalk)でやろうとすると…
青緑デプロイなし，コンテナ起動遅い
Jenkins，Rundeck，Sentry，New Relicとか必要（＝使える人も必要）

###今後の期待
py3まだー？
Search 微妙？スケールしない
CIからでぷろいしにくい

#ビアトーク
~~メモがだいすきなフレンズなのにメモってなかったなんて言えない~~
##GAEからVision API/Translation APIを使ってみる
https://github.com/GoogleCloudPlatform/appengine-photoalbum-example
[enakai00](http://enakai00.hatenablog.com/) さん

200行足らずでさくっとこんなん作れるんでぜひぜひ，とのこと

##GAEで勝手に地域貢献してみた
http://www.バ蒲田ニュース.jp/
@tomorier さん
　
うっかりツイッタで蒲田をバカにしようもんなら，ヒョローされて蒲田のステキ情報を目にせざるを得なくなるという，よにもおそろしいサービス

##GAE/GoでリバーシLINE Bot作った話
https://docs.google.com/presentation/d/1iJHJsRaSgLDU6d0Dqtcs-FVtKEzLzMlfji4MfLPC6NY/edit#slide=id.p
@orfeon さん

LINEのAPI　画像内にリンクとかいける
　無料版だと50箇所しかできないけど，打てる手だけでいいので足りた

##GAE/Go + Cloud SQL は需要あるのか？
https://github.com/kaneshin/playground/tree/master/gae/go-cloudsql
@kaneshin さん
（参考）
　[Go+App Engine+Cloud SQLで始めるGo言語Webアプリケーション開発](https://developers.eure.jp/tech/go-appengine-sql-waf/)

**Cloud SQL 2nd genのハマりどこ！**
app.yamlで`"project:region:instance"`の形式で指定
https://cloud.google.com/appengine/docs/standard/go/cloud-sql/#setting-up

##中国でGAEやってみた
https://www.slideshare.net/HayatoYoshikawa/how-to-make-gae-adapt-the-great-firewall
@hayatoy さん

その発想はなかった

##ScalaでもGAE
@mtoyoshi さん

いまがんばってるぞい！なところっぽい
吉報お待ちしております



#こじんてきまとめ

アクセスかなり多くても**結構安い**　
しかも**世話要らず**だし，やっぱGAEさいつよやんけ
（機能的にもコミュニティ的にも）**環境整ってきた**し今こそ感
　
テクブ本の**Datastoreデザパタ記事**は期待
　~~というか@sinmetalさんが登壇してなかったこと自体が意外~~

あと**ぴざごちそさまでした(๑´ڡ`๑)**

興味ある人はぜひユーザ会へ！　→　http://gcpug.jp/join

　
（GAE全般参考）
[2016年半ば現在のGoogle App Engine](http://write.kogus.org/articles/Y2Rtpp)
[個人的に最強のPaaSプラットフォームGoogle App Engineの良い所を挙げてみる](http://qiita.com/yosukesuzuki/items/a347f6e89d7624d6f977)
[GCP エッジキャッシュ](http://qiita.com/sinmetal/items/37c105a098174fb6bf77)