昨日、NoOpsMeetupのイベントに参加してきました! 1回目のスライドを偶然見つけてからずっと気になっていましたが、4回目の今回やっと参加できました。 ということで自分用メモ程度ですがまとめておきます。
個人的にはロゴがポテチみたいで 食欲をそそる 可愛いですよね!
自分のtweetもみかえしながら。
今日はこちらに参加予定。ずっと行きたかったやつ。4回目にしてやっと参加できそう!SREとも密接に絡むコミュニティ…のはず。
— kusuwada (@kusuwada) 2019年2月5日
今日のキーワードは "Zero Trust Network" かな?
もうYahoo!Japan LODGEでは迷わないぞーー!!
NoOps Meetup Tokyo #4 https://t.co/VpZhfxLTUc #NoOpsJP
No Ops Meetupとは
NoOps = No "Uncomfortable" Ops
NoOps Japanでは 「システム運用保守の"嬉しくないこと"をなくそう!」 をテーマに、 NoOpsを実現するための技術・設計手法・開発運用保守サイクル・ツールや考え方・事例などを共有していきたいと考えています。
今回のMeetupでも説明がありましたが、NoOps = Opsをなくすこと、ではなく、 "Uncomfortable" なことをなくすこと。
第一回目の話が Publickey さんの記事になっており、これがとても良かった。
オープニング
岡 大勝 @okahiromasa さんより
これまでの No Ops Meetup の振り返りと、目指すところについてのお話。
スライドは下記で公開されています!
www.slideshare.net
NoOps Japan Community では、NoOpsに関する
- 知の共有: Meetup
- ものづくり: Open Hack
活動をしていくと。Meetupの活動しか知らなかったですが、ツールやコネクタなどを開発して、OSSとして公開、Communityだけではなく業界に還元していこうという活動なんですね。
twitter.comNoOps Communityの活動について。MeetUp+OpenHackで回したい。
— kusuwada (@kusuwada) 2019年2月5日
知識・経験をMeetupで共有する → これだけではちょっと足りない。OpenHack (ツールなど)を行ってOSSで公開し、またMeetUpで共有。
Communityに貢献したメンバーはサポーター。今30人弱。#NoOpsJP
Meetupの登壇やNoOpsJPのOSSへのContributeなど、何らかの形でコミュニティに貢献するメンバーをサポーターと呼んでいるそうです。サポーターには、感謝としてサポート枠でのMeetup参加や、NoOps Japoan Tシャツの提供も。現在30名弱までサポーターが増えているそうです。
下記、NoOpsJapanのgithubリポジトリです。
続きまして、NoOpsのライフサイクルについての説明。やっぱりSRE活動と通じるものを感じる。
twitter.comNoOpsのライフサイクル
— kusuwada (@kusuwada) 2019年2月5日
・Observability: 観察力
・Configurability: 構成力
・Resiliency: 復元力
・Safety: 正常稼働
※日本語はここからとってきたので今回とちょっと違うかもhttps://t.co/DK7FhsNQaP#NoOpsJP
Tweet内容の日本語訳、やっぱり結構違っていた。+真ん中にトイル削減が追加になっている。
今日の登壇はこのライフサイクルのどこに当たるのかのタグ付きで紹介されます。
Cloud Native BuildpackでToil減らしていこうという話 [Less Toil]
草間 一人 @jacopen さんより (Pivotal Japan)
スライドが下記で公開されました!
関西的なノリで聞いてて面白かった。人前で発表する機会はここ数年増えてるけど、どうしてもかっちりしちゃうから見習いたいなぁ。
- NoOpsの登壇オファーを受けたときにNoOpsを調べた感想: 「PaaSじゃん」
- NoOpsMeetupに参加してみた感想: 「PaaSじゃん」
後の方の登壇内容にも出てきましたが、PaaSを使ったサービス開発・運用はNoOpsが解決したい問題の多くを解決してくれる。
今日の内容は、コンテナ開発運用のToil削減ってことになるかな?
コンテナ使っているところ増えてきてるけど、Dockerfileを造作もなく書ける人ってどれくらいいる?→ぐっと減るよね?
twitter.comコンテナ使うときの悩ましいところ
— kusuwada (@kusuwada) 2019年2月5日
・どのbase imageにするか
・Docker fileの書き方の知識
・etc...
それぞれのチームが、それぞれのDockerFileを書く。そして詳しい人がDisってくる。。。。それってToilじゃない?#NoOpsJP
他、k8s manifestの作成なども。折角頑張ってDockerfile書いたとして、詳しい人がdisってきたり、それぞれのチームが同じようにDocekrfileを書いたりして、あれ?それって無駄じゃない?Toilじゃない?というお話に。
twitter.com自動化の鍵はBuildpackにあり。Buildpack: Herokuによって作られた、PaaS上での任意の言語やフレームワークを利用できるようにする仕組み。
— kusuwada (@kusuwada) 2019年2月5日
Buildpackが、Applicationが何の言語で書かれたかを検知する(detect)。アプリ向けの準備をする(compile)。最終的にはコンテナイメージを出力(release)#NoOpsJP
Buildpack使ったら、ワンコマンドで一発でイメージができるよ!自動だよ!
twitter.com→最終的にコンテナイメージ作れればいいんじゃね? →Cloud Native Buildpackの誕生。
— kusuwada (@kusuwada) 2019年2月5日
デモ: Dockerfileなど、イメージを作るための仕組みのないアプリに対して、packコマンド。一発でdocker imageが完成。
→Dockerfileなんていらんかったんや。#NoOpsJP
なんの言語で書かれたアプリかも自動で検出してくれる仕組み。
このデモ、なかなか便利そうだったのでBuildpack使ってみたくなった!持ち帰ってシェアしよう。
使っているpackageやbase imageなどに脆弱性があった場合、発見されるたびに開発者がDockerfileを書き換え、imageを作り直す作業をしないといけない。Opsメンバーがやればよいのか?というと、それも違う。
→Opsチームが最新のBuildpackにアップデートし、開発者はBuildpackを再適用してイメージを再作成するというフローにすると、回しやすい。
ライフサイクルを意識すると、DockerfileよりBuildpackのほうが良さそう。
シンプルに考えよう Zero Trust Network [Safety]
吉松 龍輝 @ryukiyoshimatsu さんより (日本マイクロソフト)
スライドは下記に公開されています。
www.slideshare.net
お恥ずかしながら、Zero Trust Network というのを聞いたのが初めてだったので、入門編のお話ありがたかったです。
twitter.com■シンプルに考えよう Zero Trust Network @ryukiyoshimatsu さん
— kusuwada (@kusuwada) 2019年2月5日
Zero Trust Networkはオライリー本出ている。
(セキュリティの)境界線を作り、穴を塞ぐというのが今までのネットワークデザイン。しかし、今日のサイバー攻撃の世界においては不十分だと認識されるように。#NoOpsJP
オライリー本、どれくらいの分厚さかな…。薄めだったら読んでみたいな…。しかし後で出てきた「入門 監視」も良さそうだった。
twitter.com> Zero Trust Networkは「ネットワークのどこに何を置くか」には価値がないという考え
— kusuwada (@kusuwada) 2019年2月5日
私が受けたときのIPAの情報セキュリティ試験は「ネットワークのどこに何を置くか」にめちゃフォーカスした問題ばかりだったけど、今後変わっていくのかな?#NoOpsJP
ここ、結構強いワードで衝撃だったんだけど、どこに置くか「だけが」重要ではなくなってきた、くらいに考えたほうが良さそう。
ここから暫く例えを用いた Zero Trust Network の解説。うーん、ますますちゃんと学んで正しく理解したほうが良い気がしてきた。
twitter.comセキュリティパッチの公開から攻撃開始までの時間軸:LAC調べだと、だいたい1日以内。ということは、パッチが出てから適応までの作業を1日以内に完了しないといけない。
— kusuwada (@kusuwada) 2019年2月5日
NoOps的な対処: PaaSを利用し、パッチの適用はベンダに任せる。#NoOpsJP
パッチが出てからパッチ当て・(多分テストするよね?)・リリース、までを1日以内に負えなければいけない、というのは最近のDevSecOps/セキュリティオートメーション、的な流れの中でもよく聞くやつ。
NoOps的な対処としては、PaaSを利用し、パッチ適用はベンダにおまかせする、と。
Meltdown/Spectreの例で、Azureは1日以内にAzure側で対応。そういえばAWSもGCPも、結局うちもPaaSメインで使っているから自分たちで個別対応することはなかったかな。
twitter.comまとめ: セキュリティ観点だと、ネットワークだけではなく、ハードニング・ポリシーの強制適用などある。API連携による自動化などがNoOpsのポイントとなる。
— kusuwada (@kusuwada) 2019年2月5日
図らずもセキュリティ関連の話が聞けてよかった。セキュリティ関連の作業や対応って "嬉しくない" 運用の内容が多いよね。#NoOpsJP
Zero Trust Networkで実現する制約のないアプリケーションサービスともろもろ [Safety]
伊藤 悠紀夫 さんより (F5 Japan)
資料はこちらに公開されました!
www.slideshare.net
先の Zero Trust の発表では、密輸・戦争・オレオレ詐欺などに例えていたけど、この発表では城と城壁にたとえていました。城壁の中から崩壊することもあるよね、という文脈。(壁の中は安全とは限らない)
Zero Trustの考え方は、9年前にすでに提唱されていたそうです。
- ネットワークは常に敵が潜んでいると考える
- 通信・データが全て暗号化されていて、認証されている状態が理想
Zero Trust アーキテクチャの提言
- 信頼度スコア: 複数の信頼指標によるアクセスコントロール。ID/Password認証で10pt, デバイス認証で10ptなど。与信に例えて説明されていました。
- トラフィックのセキュリティ化
- 全てのトラフィックが認証済み、かつ暗号化されている
ネットワーク構成を考えるときは、内部のアクセスでも暗号化したまま443で。境界内は復号状態(80番)で、というのは古い考えらしい。
ということで、ZeroTrustの考え方にはSSLオフロードはそぐわない。
あとはAzureで提供しているPaaSの構成例の紹介など。
サービスメッシュ間のセキュリティの話になり、Istioの可視化ツールの紹介も。
AspenMesh: istioを無料で試せるサービス(Beta)
https://aspenmesh.io/
ちょっと休憩しながら聞いていたので本当にまとまらないメモになってしまっている…。スライド公開されないかしら。
Elastic Stackでマイクロサービス運用を楽にするには? [Observability]
大谷 純 @johtani さんより (Elastic)
Elasticの製品の宣伝が大分入っています、とのことでした(ノ≧ڡ≦)
スライドは下記に公開されています。
twitter.com■ Elastic Stackでマイクロサービス運用を楽にするには? @johtaniさん
— kusuwada (@kusuwada) 2019年2月5日
今日はどういう人達が参加しているの?
→ インフラと開発が多め。そういえば今日はスーツの人が多い。
マイクロサービスやってる?
→ 少なめ。どこで問題が起きているのかがわかりにくくなりがち。#NoOpsJP
ということで、コンサル/インフラ/開発/セキュリティ の4択でしたが、インフラ・開発メンバーが多かったようです。
マイクロサービスのモニタリングに関する話(と製品の紹介)がメインでした。
twitter.com"マイクロサービスで起きた障害の原因究明はまるで殺人ミステリーのようだ"
— kusuwada (@kusuwada) 2019年2月5日
ということで監視しよう。監視ポイント(入門 監視より)https://t.co/HgHXoM4CvQ
・外形監視
・メトリック
・サーバー、アプリケーション
・ログ
・アプリケーションのリリースタイミング
・分散トレーシング#NoOpsJP
この話は本当によく聞きますよね。それをマネージするためにIstio入れたら、今度はIstioが毎回第一容疑者にされるとか。
モノリシックなシステムでももちろん監視は必要ですが、マイクロサービスになると監視対象も増えて結構監視用のシステムだけでも偉いことになったりしますよね。なのでこういう話は嬉しかったり。
twitter.comElasticの製品を使うと色々お手軽に可視化できる。代表的なサービスを使っていれば自動で出せる。APM+Kibana使えば、スローな箇所の解析も簡単。開発者にどこがイケてないかのフィードバックもしやすい。
— kusuwada (@kusuwada) 2019年2月5日
APM: Application Performance Monitoringhttps://t.co/iG8tYs0ScF
※APM自体はOSS。#NoOpsJP
Elasticの製品紹介。BeatsとかLogstashとかkibanaとかElasticSearchとか。たくさんある。
やはり人気は Kibana。みんな可視化好きだよね。
今回はAPM+Kibanaでのログ解析デモ。やっぱり見やすいのでデモ映えする!
twitter.com「Elasticの製品の宣伝に来たが、入門 監視 良かった。」
— kusuwada (@kusuwada) 2019年2月5日
やはり「入門 監視」に入門せねば。今の所、良かったという感想しか聞かない。#NoOpsJP
TwitterのNoOpsタグTLも 入門 監視 の話題でもちきり。やはりこっちも読んでみなくては。
ちなみに、今ちょうどElastic製品使った構成のシステム構築中なので、ステッカーもらって帰った。
全体の感想など
twitter.com今日のパワーワード
— kusuwada (@kusuwada) 2019年2月5日
NoOps = システム運用の"嬉しくない"をなくそう
Dockerfileなんていらんかったんや
ZeroTrustの考え方ではSSLオフロードはない
マイクロサービスで起きた障害の原因究明はまるで殺人ミステリーのようだ
Elasticの製品の宣伝に来たが、入門 監視 良かった#NoOpsJP
140字制限により予選落ちしたパワーワード:
- PaaSじゃん!
- Zero Trust Networkは「ネットワークのどこに何を置くか」には価値がないという考え
twitter.comセキュリティ対策とか対応がしたくて開発運用(特に開発)してる変態ってなかなかいないよね。NoOpsの対象にセキュリティ対策・対応はめっちゃ入ってくる気がする。DevSecOps, セキュリティオートメーション, この辺のワードはもう少し追いかけて還元したいなぁ。
— kusuwada (@kusuwada) 2019年2月5日
皆様お疲れ様でした!#NoOpsJP
使いたくなるツール・製品が見つかるだけでも来てよかったです。
自分のTweet拾ってレポート書くのも、参加したオフラインイベントのレポート書くのも初めてだったけど、復習になって良かった。