久しぶりに新卒の同期と勉強会行ってきました!
しかもあのクラウドソーシングで有名な!
ランサーズ
さんです!
https://www.lancers.jp/
元々、秋好さんにSREの勉強会やるのであだちんさん来てください〜とのことでやってまいりました。
■イベント内容
https://techplay.jp/event/654623
これは熱い。そもそも自分はECSを本番稼働したことがなかったので、
どのように運営しているのかめちゃくちゃ気になっていました。
特に金澤さんに会いに!!
■会場
NMF渋谷公園通りビルに入ると完全に森。
最近のIT系エントランスは森が多い気がする。からの8FのTech Playさんに向かいます。
■ランサーズのこれまでとこれから
CTO 横井 聡 氏
少し送れて到着するとCTOの横井さんが登壇していました。
SREチームは現在4名。インフラエンジニアはインフラしかやらない守りの人が多いのではないのか、
今後はそれぞれの得意分野でユーザにコミットしていきたいとのこと。
サイトのリライアビリティは重要で、
SREになったから何か変わったのかとかはないそうです。→共感
ちなみに横井さんによるランサーズエンジニアの環境については以下。
とここで!!!
金澤さんの登壇と思いきや勝手にスライドが進むという謎現象w
一旦平塚さんの登壇から始まりましたw
この時秋好さん見当たらず(内緒?)
メッセージすると!パワポトラブル対応してましたw
■Lancers × ECS
インフラチーム
平塚 貴之 氏
かつてインフラは2人で回していた。
10月から4人体制になり新技術、構成管理、レスポンス対応など改善しまくりとのこと。
Quant、Pookなど20サービスあり、言語で言うとGo,PHP,Ruby,Python,機械学習などサービスによって様々。
terraformはAWSインフラ関連。ansibleはミドルウェアで構成管理している。スピードが重要で、
ステージングなど用意するのが大変。dockerに移行すれば楽だし工数もかからない。
ECSは定義してクラスターでコンテナが立ち上がるイメージ。
terraformはVPC、セキュリティーグループ、ECS-CLI使ってプロビジョニングをしている。
それぞれの機能を使い分けて管理している感じ。
ansibleでコード化しているが、メンテが正直辛く、コード管理ができなくなっている状態。
他にもOSSのバージョンアップするとバグなども気づいたのこと。
今後は徹底してコード化をするべきとおっしゃっていました。
dockerは簡単にサービスインでき、SREチームと名乗っているからにはノウハウを高めていきたいことも。
Pookの構成図を見ましたが結構シンプルでした。ALBのポートは動的ポートマッピングなため、
「0:80」にする必要がありなのでみんな気をつけよう!
Dockerfileも超分かりやすい。docker-composeは変数化してたのでメンテもしやすい感じでした。
ログ関連はcloudwach logsでs3やElasticsearchにエキスポートして
ECS-CLI使い倒してバックにはcloudformation動いてるみたい。
リリースもECS-CLIで行っており、GithubからCircleCI使うのが一般的だが、
独自でwebuiがあるのでそれでデプロイしている!
■52 weeks after Digdag operation
インフラチーム
amesho 氏
DigDagの運用と各サービスの開発行っており、Rails,Redshift,Auroraがメイン。
DigDagはgit管理、レビュー等が行えるところが既存にはないメリット。
そもそも既存のワークフローエンジンではできないことを補うとために開発されていて、webで可視化される。
クーロンなどで定期実行しているスクリプトやバッチ処理はDigDagで定義することで状況把握ができるようになった。
何よりも同僚に頑張って説明しなくても良くなったのが一番。
今まで見づらかったバッチがプロジェクトごとにどれくらいのリソースが動いて共有されてチームとして活発にもなると指摘してました。
普段業務をしているとクーロン管理など煩雑になり、これ誰に聞けばいいんだ。。。スクリプト改修しようとしても手で直したり。。
属人化されているところにDigDagを使うことで解決できるのは素晴らしいいと感じました!!
■ランサーズで積み重ねたSRE的取り組みとこれから
インフラチーム リーダー
金澤 裕毅 氏
待ってました金澤さん!!!!
windowsのパッケージ作ってたって凄すぎる!!
インフラチームはインターンと新卒がいる。サービスは結構Wordpress使ってるところが多いなあと。
インフラチームの方針として、最新のトレンドについていかないと競争力に負ける。
古いものは必ず最新にし、定期作業を自動化する。もちろん社内インフラもやってますとのこと。
・サービス安定化
入社後、障害多かったそうでMysql FULLTEXTが死んでサービスダウンも何度かあったとか。
RDSに全部移行し、トランザクション対応して壊れてもフェイルオーバーできるように改善したとのこと。
・TOPページが真っ白障害
CakePHPのキャッシュが原因。
Memcachedに移行してすんなり治ったそうです。
レプリカ遅延はAuroraに移行して遅延ナッシング。
・負荷対策
サーバ負荷はほっとくと悪化する。
サーバレスポンス→ユーザ遅い ブラウザレスポンス→CDNなど
・AWSチューニングをやっているか!?
当時はApacheとmuninでモニタリング(現在はMackerel)。
MaxRequestsPerChildをチューニングすることで、プロセスをこまめに削除してメモリを確保した。
・SSL
httpで処理したほうがメモリ使用量が減る。
つまりCloudfrontは443、LBは443でインスタンス内は80で処理したほうがサーバには優しいということ。
・負荷レスポンスDB
1分ごとにスロークエリ確認してる。
mysqlは1テーブルにつき1インデックスしか使えない。最適なインデックスを選択してくれるとは限らない。
インデックスから掃除を始めて、可視化して怪しいところから対応していったそうです。
作成日時でのソートをidソートに置き換え、カーディナリティの低いインデックスの見直ししたとのこと。
たまにFORCE INDEXを観測して判断してるそうです。
・サーバコード
ansibleとterraform。wikiはgithubにドキュメント化してる。
・今後
バージョンアップ、Dockerを本番環境で使うメリットを感じなかったが、EKSやサーバレス化など目指して、運用工数の削減も考えてるとのこと。
■まとめ
懇親会ではサンドイッチやお酒が盛り沢山!
秋好さん、金澤さん、平塚さんなど交流できました!
やはりECSで辛いのはデプロイ!!
ランサーズさんのインフラチームはめちゃくちゃおもしろいし、
これがSREなんだぜ!!という熱意を感じました。自分も参考にして頑張らねば…
正直金澤さんにいろいろ学びたい…
またインフラ勉強会参加します!エキサイティングできました!
金澤さんインタビューもwantedlyで!!
https://www.wantedly.com/companies/lancers/post_articles/61693
0件のコメント