28
俺と ha4go と さくらクラウド ふぁらお加藤 2017-04-29 KIT-LT #2

俺と Ha4go と さくらクラウド

Embed Size (px)

Citation preview

Page 1: 俺と Ha4go と さくらクラウド

俺と ha4go とさくらクラウド

ふぁらお加藤2017-04-29 KIT-LT #2

Page 2: 俺と Ha4go と さくらクラウド

Profile

Name

ふぁらお加藤 / @PharaohKJ

Hobby

Camera / subculture

Job & Works

PhalanXware (Freelancer)

OCR system com / .NET

ISDB-T MFC / Linux C++

Social Game PHP / Java

ERP+CRM AngularJS / Cordova

Information App AngularJS / CakePHP

Factory Automation .NET

Page 3: 俺と Ha4go と さくらクラウド

ha4go ってご存知ですか?

Page 4: 俺と Ha4go と さくらクラウド
Page 5: 俺と Ha4go と さくらクラウド
Page 6: 俺と Ha4go と さくらクラウド

地域課題を集約し可視化する。

地域課題から自ら解決したい人と解決できる人を繋げる。

解決までの道づくりを手助けする。

Page 7: 俺と Ha4go と さくらクラウド

つまるところ

Page 8: 俺と Ha4go と さくらクラウド

C# とか Ruby とかできることを書いて登録しておくとスカウトメールがくる

Page 9: 俺と Ha4go と さくらクラウド

課題とやってほしいことを書くとマッチした人にお手伝いしてほしいメールがゆく

Page 10: 俺と Ha4go と さくらクラウド

それだけ

Page 11: 俺と Ha4go と さくらクラウド

設計と実装

Page 12: 俺と Ha4go と さくらクラウド

アプリRuby on Rails 4系

Page 13: 俺と Ha4go と さくらクラウド

依存サービス

Page 14: 俺と Ha4go と さくらクラウド

ログイン認証Facebook やっぱり誰でも書けるってのはね

Page 15: 俺と Ha4go と さくらクラウド

メール配信さくらのメールボックス

Page 16: 俺と Ha4go と さくらクラウド

データベースMySQL まぁ特にこだわりはない

Page 17: 俺と Ha4go と さくらクラウド

構成

Page 18: 俺と Ha4go と さくらクラウド

443/80のみ

認証・書込

配信

front

db manage

22のみ

443確認 異常通知

オペレータプル

プル

プル

デザイナ

プッシュ

プッシュ

確認

Page 19: 俺と Ha4go と さくらクラウド

設計ポリシー

• 普通の鉄板構成にする

• 「サービス止まってもいいよね」っていう「ゆとり」

• 外部からはhttpsだけ許す、一部の外部は22だけ許す

• いつ引っ越しになっても大丈夫なようにDocker

• 本番以外もちゃんと用意して誰もが開発できるように

Page 20: 俺と Ha4go と さくらクラウド

front

• 2CPU 4GBメモリインスタンス

• RailsアプリがDocker上で動いている

• 80/443以外は外部からアクセスさせない

• 内部はフルオープン

• メール配信時はさくらのメールボックス

• FBに更新通知する

Page 21: 俺と Ha4go と さくらクラウド

DB

• 2CPU 4GBメモリインスタンス

• MySQLがDockerで動いている(Diskをマウント)

• 外部からのアクセスは不可

• 内部はフルオープン

• バックアップはマネージから取る

Page 22: 俺と Ha4go と さくらクラウド

manage

• 1CPU 2GBメモリインスタンス

• muninで各インスタンスの状況を収集

• 唯一外部からsshでアクセスできる

• クロンで定期的にDBのバックアップを作成する

Page 23: 俺と Ha4go と さくらクラウド

443/80のみ

認証・書込

配信

front

db manage

22のみ

443確認 異常通知

オペレータプル

プル

プル

デザイナ

プッシュ

プッシュ

確認

Page 24: 俺と Ha4go と さくらクラウド

チーム連携

• みんなGitHubを使う、ここの Release がデプロイされるというルール

• テスト環境はHerokuで、とあるブランチをpushしたら自動でデプロイ

• notエンジニアはこのHerokuで文章や見た目を確認する→ OKならプルリク

• slackを使う→ 障害検知 & イベント発生したら全部ここに集約

Page 25: 俺と Ha4go と さくらクラウド

課題

• やっぱり IaaS はいろいろとコストが高い。メンテがだるい。

• せっかく Docker 使ってる & さくらさんだし Arukas に行きたい。

• デプロイがまだデプロイ職人いる感じで自動化足りてない。

• テストコード入れたいけどほとんどない。

Page 26: 俺と Ha4go と さくらクラウド

感謝

• DNSで名付けた名前とユーザー名とパスワードを同じにしたら数分で乗っ取られたでござる。マジ注意。

• さくらさんからメール連絡いただけてすぐ対応できました。よかった。マジ感謝。

• いろいろプルリクしてくれてコードフォー各位マジ感謝。かなり知見が得られた & 進捗した。

• さくらクラウドさん本当にありがとうございます。

Page 27: 俺と Ha4go と さくらクラウド

ha4go も ha4go自体のメンテも募集しています。来たれ!

Page 28: 俺と Ha4go と さくらクラウド

ご清聴ありがとうございました

ふぁらお加藤