CloudNative Days Kansai 2019に参加してきました 第2回レポート(前編)

CloudNativeDays レポートチーム

2020.4.13

今回は、CloudNative Days Kansai 2019で参加して感じたことを各メンバーがレポートしました。今後、2回に分けて公開していきます。

 

1回目のレポートはこちらからどうぞ!
https://pivot.amebaownd.com/posts/7665612

なんと、レポートでは各メンバーの記事で最も伝えたい部分を、イラストレーターのタナカケンイチロウさんにマンガ化してもらいました!

 

 

さぁ!知ってる方はどれが誰が当ててみてください!(似てないという声も聞こえてきますが…)
この後のマンガも、お楽しみに〜

 

■レポートを書いている人

    • 上野(エンジニア)
    • 山口(ディレクタ)

次回は、須藤・中尾です。

 


 

1.セッションで得た知識・ツールに関する個人的な意見をアウトプット

R&D Div. エンジニアの上野です。福岡オフィスに所属しています。

 

弊社では、私が担当しているサービスで、初めてKubernetes(以下k8sと略)を採用しました。現状は、CI/CDの自動化がk8s環境下で動く状態までをツールという観点で使えるようになったところです。

 

そのため次のステップとしての課題は、システム・アーキテクトという大きな視点でk8sを使うところで「何を行うべきなのか?」に移行しており、どうしようかと悩んでいる時に、今回のクラウドネイティブDays関西のセッション・タイトルを見たのですが、k8sの事例が殆どだったため、これは良いチャンスだと確信し参加した次第です。

 

参加したセッションも様々な観点を持っていて、私達のサービスの近くに位置するものと、そうでないものがありました。

 

今回は、この両側の視点を中心に振り返りつつ、既にk8sを使っている方々に対しては、何かの判断材料の1つとして。

 

また、k8sを始めようかと検討されている方々にも他サイトとは違う表現で「Kubernetesとは、そもそも何なのか?」「始めるにあたり前提として習得しておくべき事が何なのか?」「既存インフラからk8sへ移行するための留意点は何なのか?」という辺りを少しプレゼント出来ればと思っています。

 

 

参加したセッションの紹介と感想

私が参加したセッションは、キーノートおよび以下です。

    • キーノート
    • 「クラウドサービス開発・運用の落とし穴教えます」
    • 「1年間のシステム運用を通して分かったIstioの嬉しさと活用における注意点」
    • 「Grafana LokiでCloud Nativeなロギングをはじめよう!」
    • 「Tracing your containers – audit, falco, eBPF」
    • 「ZOZOTOWNの画像検索機能にみる、Kubernetesを使った機械学習基盤運用の裏側」

 

まず、ざっくりの感想です。

やはり?上記に書いた弊社の課題と同じような課題を皆さんも持っていたのだなと感じました。そして、それらに対しての「トライと結果」の共有だったなと理解しました。

 

なので、私としては、まさにバッチリなカンファレンスでした。

得られた成果を具体的に書きますと、

A.次のステップへの『選択肢を広げられた』事

B.その選択肢のうち弊社の現状に対して『有用そうなもの』の判断がついた事

C.基本的な理解を深めることが出来た事

という3つでした。以下では、この成果ごとに説明してみようと思います。

 

A.次のステップへの『選択肢を広げられた』事

 ここで書いた「選択肢」は、必ずしも「直ぐに行動へ繋げられるもの」ではなく、「現状では、マッチしないものが解った」や「状況の変化によっては、採択できそうなもの」も含めています。新たに選択肢として得たものは、こんな感じです。

 

① 【運用】【アーキテクト】:マイクロサービス毎の言語選定は、初期ローンチ時は、同じにすることもアリ。

② 【運用】【アーキテクト】:マイクロサービスは、ネームスペースで分けて管理。

③ 【システム管理】:AnthosというGoogle開発中の管理プラットフォームの採用。

④ 【システム管理】:OpenShiftの存在。

⑤ 【アーキテクト】:Istio等のサービスメッシュ導入について。

⑥ 【運用】【システム管理】:Grafana Loki によるロギングの採用。

⑦ 【運用】:CircleCI, JenkinsXなどによるgitベースでのデプロイ運用

⑧ 【負荷テスト】:LOCUST (https://locust.io/)による負荷テストの実施

⑨ 【システム管理】:Kustomizeによるマニフェストファイルの管理

 

9項目という数が多いか少ないか?については、個人的には、多いと感じています。なぜならば、これらの先に進むことで更に選択肢の数は増え続けるはずなので…

 

ただ、こうやってリストにしつつタグを付けることで思ったことは、「アーキテクト」「運用」「システム管理」などが多いことで分かる通り、k8sは、個々のアプリケーションを作るのではなく、それらを【どう構成】し【使ってもらえるようにする】か?を行ってくれるものなんだなぁ…という気づきでした。

 

よく「Kubernetesって何?」という事を聞かれたりするのですが、 ググってみると、おおよそ「〇〇を管理する」って書かれているんですよね(笑)。間違ってはないのですが、質問した人は、きっと具体的なイメージが湧かないと思うのです。

 

そして「管理する」という言葉のスコープが大きすぎるが故に、人それぞれの捉え方のズレが大きくなってしまう。そういう人が集まってKubernetesという単語を使って話してしまうと、話が通じなくなる…そんな事が容易に想像できてしまう…と思いませんか?

 

 

B.その選択肢のうち弊社の現状に対して『有用そうなもの」の判断がついた事

これは、完全に弊社=私の価値観と主観がベースとなっています。まず「有用そうなもの」という言葉には、別名があります。それは、【現状、すぐに取りかかれそうなこと】です。正直「有用そう」という意味では、全て有用なものになります。

 

「有用そう」=「現状、すぐにとりかかれそうなこと」と、なんだか、当たり前な事を書いていますが、これが大切なことだと思っています。

 

エンジニアリングに限らず、しかも全ての業界・業種も問わず、経営・ビジネス(…仕事は含まない)を行う時は、具体的な表現にすることを怠ってしまいがちで、次に進めなかったり、責任を他者に向けたり、他社とのコミュニケーション不足に陥ったりして、その後に結構大きな問題に膨れ上がったりします。よね?

 

逆に上記リストのうち、すぐに取りかかれそうに【ない】ものは、何かというと、①,③,④,⑤の4つです。

① については、弊社が未だマイクロサービス化に取り組んでいない事と、主にビジネスが受注型で進んでいることに起因しています。ここは、これからの取組みで変化しないといけないなと感じているところで、そんなに遠い未来ではないタイミングで取り掛かる時期が来るかなと思っています。

 

③については、Anthosが未だ成熟しきってなく開発中であることと、弊社がメインで使っているオープンクラウドで採用されてないことが原因です。

 

④のOpenShiftに関しては、DevOps全般をk8sベースで実現しているプラットフォームだというイメージで「すごい」と感じる一方、上記③も含め私達が未だ開発のベースをk8s中心に振り切れてなかったり、担当が私1人でリソース不足であったりという小規模な状態であることが主な理由です。

 

このためOpenShiftに移行するメリットがコスト面(お金+リソース+勉強などの全てのコスト)で厳しいとセッションを聴いて感じました。OpenShiftに関しては、ある程度、大きな組織やシステムであることが条件になるのではないかと思っています。

 

⑤のIstioに関しては、①と同様に未だマイクロサービスに完全にシフトしきってないことが理由です。ただ①,③,④とは違う点があります。

Istioは、サービスメッシュを実現する技術的手法の1つです。将来マイクロサービスが増えた時のことを想像すると、個々のマイクロサービスを管理することの重要性は、容易に想像できますし、避けて通れない気がしています。

 

この管理が出来ないとサービス通しの関連がわかりにくくなります。例えば障害が起きた時に、障害が起きたマイクロサービス(機能)を遮断し大規模障害を防ぐことや多数のサービスから1つのマイクロサービスへリクエストが発生するようなケースで、そのトレーシング(全体の処理の流れ)が難しくなったりします。

 

C.基本的な理解を深めることが出来た事

キーノートで「コンテナの作り方〜Dockerは裏方で何をしているのか〜」というセッションがありました。これは、文字通りk8sのことではなくDockerの話です。

 

このセッションが何故行われたのだろうと…と思ったのですが、理由の1つは、k8sが有名になってきたのが理由かなと思います。k8s導入や勉強にあたり必須なことの1つとしてDockerやコンテナ技術に無頓着な方々が未だに多いのではないかと思っています。

 

また、個々のセッションを聴くことで、「A.選択肢を広げられた」でも書いたようにk8sは、何か?という応えの1つとして具体的なイメージを広げることが出来ました。

 

 

理解や成長は、スポーツの成長曲線と同じように、徐々に広まり、あるポイントを過ぎた時に、急激に深まると思っています。私も数年前に1人でDockerやKubernetesを初めたのですが、いま理解の範囲が広がっているのを実感していますし、今回のカンファレンスで、実感できました!

 


 

2.ディレクターが技術系カンファレンスに参加してみた

R&D Div.所属の山口です。職種はディレクターです。参加した技術系カンファレンスについて、書いていきます。この記事で、本当は、技術系カンファレンスに参加したいけど、参加をためらっている人(特にエンジニア以外!)に対して、少しでも役立ってもらえればと思います。

 

A.参加した背景について

まずは、参加した背景から説明します。同じ部署の上野(エンジニア)から、このカンファレンスに行きたいという声から企画がスタートしました。

 

Kubernetes、Dockerは知りたいと思っていたのですが、最初のハードルが高く、覚えるす機会もなかなか見つけられずにいたので、知るきっかけになればと考えました。カンファレンス参加前は、「Kubernetes」を読むことができませんでした。

 

「くばねてぃす」、「くーべねてぃす」と読みます。「k8s(k+8文字+s)」と略されることもあります。また、「Kubernetes」を多くの人に知ってもらうために、企画のアウトプットとして、レポートをマンガで、分かりやすく届けたいと思い、企画の中にマンガでのレポートを入れました!

 

自分と同じように、この記事を読んだら「Kubernetes」を読めるようになっていてほしいです!!

 

 

B.技術系カンファレンスに参加する意味について

技術系カンファレンスに参加する意味はあるのか?

答え:たくさんあります。これから、一つずつ説明していきます。

 

① 技術を覚えることができる

登壇者は、限られた時間で話すため、分かりやすく説明してくれます。

 

例えば、

・Dockerのisolateについて

isolate(隔離)された状態を、『布団に入っている状態』と表現されていて、非常に分かりやすく、「isolate」という単語を覚えられました!

 

・繰り返し登場する単語は重要

複数のセッションで登場する単語があります。

「SLO」「Cloud Native Trail Map」は、多くのセッションで登場しました。

「SLO」とは:Service Level Objective

 

事業者が定義・合意したSLAを履行するために、サーバーやネットワーク、ストレージなどの各領域の稼働率、性能、可用性、セキュリティ、サポートといった項目ごとに、パフォーマンスの目標値を表したものです。※1

 

Cloud Native Trail Mapとは:CNCF※3が推奨する、Cloud Native 化へのステップを表した図が Trail Map です。各フェースで利用できるサービスは Landscape で示されています。※2

 

② 技術以外の情報を知ることができる

技術以外の情報もたくさん知ることができます。「SOC報告書」を知っていますか。

freee株式会社は、サービスを安心して利用してもらうために「SOC報告書」を受領しています。同じようなサービスを企画する際に役立つはずです!

 

▼freee「受託業務に係る内部統制の保証報告書」(SOC1 Type2報告書)を受領https://corp.freee.co.jp/news/soc1type2-9067.html

 

③ 社外の人と交流できる

普段の業務では接点が少ない社外の人と交流することができます。

 

違う業界の方や、今回は開催場所が大阪ということもあり、大阪の会社の方に会えるなど、多くの人と交流させていただきました。

 

C.カンファレンスに参加するメリット

最後に、カンファレンスに参加するメリットを一つ紹介します。

技術的な知識が増える

技術系カンファレンスへの最大のメリットは、これだと思います。最新の技術情報を知ることができます。

 

登壇者は限られた時間で説明する必要があるため、分かりやすく話してくれます。一つ注意があります。全てを覚える必要はないです。少しでも、一つの単語でも覚えられば良いと思っています。その一つの単語をきっかけに、知識が広がっていくはずです。

ここまで記事を読んだら、「Kubernetes」を読めるようになっているはずです。

 

次回は、カンファレンス参加後に行ったことについて書く予定です。読んでいただきありがとうございました!

 

【参考】
※1 サービスレベルの評価基準「SLO」とは:https://pfs.nifcloud.com/navi/tech/slo.htm
※2 Cloud Native化するには?LandscapeとTrail Mapのご紹介:https://labs.mobingi.com/cloud-native-landscape-trail-map/
※3  CNCF(Cloud Native Computing Foundation)とはなにか:https://labs.mobingi.com/cncf/

 

 


 

3.最後に

マンガを入れたカンファレンス参加レポートですが、いかがでしょうか。

後編も用意しておりますので、お楽しみ。

読んでいただいたが何か持っていていただけたら嬉しいです。

 

PIVOTでは、カンファレンスへ一緒に行ってくれる仲間を募集しています。

上野が「@IT」でKubernetesの記事を連載中!


 

Special thanks

タナカケンイチロウ ー マンガ&イラスト制作 kentoco.net

URL:https://kentoco.net/

 

Columnトップへ戻る

お気軽にご相談ください

お問い合わせ