HashiCorp JapanさんとMeetupを開催&登壇しました

先日 HashiCorp Japan さん主催で「DevOps を支える今話題の HashiCorp ツール群について」と題した Meet-up を開催させていただきました。
私も会場係と登壇をさせていただいたのでリンクを中心にご紹介します。

今回は早くから「ワイワイ楽しくやりましょう!」という話をしていて、HashiCorp JapanさんとDeNAでご相談してました。
成果としてはピザ 🍕 ワイン 🍷 生ハム 🍖 生樽 🍺 などが集まりました。

こっちはイベント終了後に撮った生ハムだった骨です。

当日アジェンダ/資料

HashiCorp Japan の森さんから「Consul Connect」他についてご紹介いただいた後、各社登壇といった流れでした。
資料は登壇順に貼りましたがなぜか最初から進行が押してたので各パートの時刻は目安です。

ほんとなんで進行押しちゃったんだろう ❔ ふしぎ 🤔
・・・すみませんでした 🙇‍♂️

登壇してくださった皆さま資料公開が早い ❗
イベント最中に続々と投稿される資料リンク ✨

ほんと皆さん仕事早すぎる 💦

私も撤収作業が落ち着いたタイミングでギリギリ当日中に公開できました 💪

登壇してくださった皆さまご自身がすごいのはもちろんですが、皆さまの会社さんも広報チェックとか早くて合理的なんだろうなと素晴らしさを感じる一幕でした。
「登壇前に資料のチェックフロー走って、登壇後公開前に今度はもう一度チェックフロー走って」みたいなルールだとこのスピードで公開できないので。
ちなみに弊社も広報や法務の皆さまは柔軟かつ仕事早くていつも本当にお世話になってます 🙏

Blog 記事やまとめなど

当日の Tweet は HashiCorp Japan さんがまとめてくださってます。

参加してくださった方の Blog

そして開催数時間後に続々と公開される皆さんの Blog 記事 ❗

取り急ぎ今すでに公開されている記事をご紹介しました。
記事を書いていただけるって運営/登壇をさせていただいた立場としてはうれしいですね!
自分が参加させていただいたときもできるだけ書きたいと思っているんですが、ちゃんと実行してくださってる皆さまには本当に頭が下がります。

感想

当日はバタバタしつつも私も楽しく過ごさせていただきました!

技術面

HashiCorp Products 多いので、皆さん何をどれくらい使ってるんだろうと思ってたんですけど、来てくださった方に伺った範囲では、

  • Terraform: 7 割以上
  • Packer: 3 割強
  • (Vagrant: 聞くの忘れた、でも「使ったことある」人はかなり多そう)

といった感じで「やっぱり皆さん Terraform 使ってるんだな」と知れたのは楽しかったです。

(Consul, Nomad, Vaultは今回の資料に絡まなかったので聞きませんでした)

また登壇してくださった方の発表内容もそれぞれナレッジが詰まっててとても参考になります 🙏
当日は唯一の DeNA 側担当としてワンオペやってたのでところどころしか聴けなかったんですけど、ようやくタイムライン追いつつ資料拝見してます。

Packer を HCL で書きたい!

ですよね!
せっかく HashiCorp Products なので Packer も素の JSON ではなくHCL(HashiCorp Configuration Language)で書きたいですよね!

例えば今は JSON でこういう風に書いてます。

  "provisioners": [
    {
      "type": "shell",
      "inline": [
        "apt update && apt install -y --no-install-recommends curl git",
        "apt install -y --no-install-recommends python3-dev python3-pip",
        "pip3 install --upgrade pip",
        "hash -r pip3",
        "pip3 install setuptools cython",
        "pip3 install numpy scipy pandas scikit-learn",
        "pip3 install jupyter",
        "pip3 install kaggle"
      ]
    }
  ],

でも、もし Packer で HCL が使えると ⬆️ はきっと ⬇️ みたいに書けるようになります。

  "provisioners" = [
    ## 【HCLなら途中でコメント書ける】
    {
      "type" = "shell" ## 【HCLならここはカンマ不要】
      "inline" = [
        # 基本的なパッケージをインストール
        "apt update && apt install -y --no-install-recommends curl git",
        # python3関連のパッケージをインストール
        "apt install -y --no-install-recommends python3-dev python3-pip",
        "pip3 install --upgrade pip",
        # `pip install` がエラーになる問題の対処
        # see: https://github.com/pypa/pip/issues/5221
        "hash -r pip3",
        # ML関連のパッケージをインストール
        "pip3 install setuptools cython",
        "pip3 install numpy scipy pandas scikit-learn",
        "pip3 install jupyter",
        "pip3 install kaggle",  ## 【HCLならいわゆる「ケツカンマ」有っても大丈夫】
      ]
    }
  ] ## 【HCLならここもカンマ不要】

HCL なら、

  • いわゆるケツカンマを気にしたくない!
  • コメント入れたい、ものすごく!

という自然な欲求を満たせるんですよ ❗ よくないんですか ❗ ❓

tfenv 使ってます!

うちは最近tfenv使わせていただくことが多いです! 🙋‍♀️

DeNA の分析基盤について

はい、分析基盤は(現状ほぼ)オンプレです。
ちなみに社の分析基盤については今年の 5 月に開催された Treasure Data さんの Tech Talk で紹介させていただきました

イベントを通して

現職としては初めて以下の実績を解除しました 🎉

  • ✅ 生ハム(原木)
  • ✅ 生ビール(樽)

生ハム原木 🍖 も生樽 🍻 も喜んでいただけてよかった! ✨
余ったらどうしようと思ってたんですよ、内心。
好評のうちに綺麗に食べきって/飲みきってくださった皆さまに感謝です 😊

そして色々とお手伝いいただきありがとうございました!
生ハムも生ビールもせっかくなので体験していただこうとセルフサービス推奨してたんですけど、きっと一番たくさんハムを切り出してくださったのは HashiCorp Japan 関係者の皆さまですね 😄

ほかにも机の移動を手伝っていただいた参加者の皆さま、自主的にゴミを集めてくださった方、終電間際まで一緒に片付けてくださった HashiCorp Japan 関係者の皆さま、そして当日楽しんでくださった皆さま本当にありがとうございました!

「実績解除」とか書きましたけど、生ハムも生樽も発注から片付けまでそれなりに大変でですね、そして両方とも余ると困るんです、本当なんですよ。

そして余らなかったとしても、以前とあるイベントに生ハム原木担いで行ったことがあるんですけど、色々手間かかるんですよ。
冷やすの大変だし、脂すごいし。
生樽も液体滴れますしね。
生生しい話ですけど。

そんな大変なこの企画(?)を提案したときに快く、というかノリノリで受け入れてくださってワインやピザまで用意してくださった HashiCorp Japan の皆さまと、イベント開催ごとにアホなことやりたがる私を今回も(生)暖かく支えてくださった DeNA の中の人に本当に感謝しております。
いつもありがとうございます 🙏

さらに、こそっとしれっとご用意してたケーキも大好評で、準備した甲斐がありました 😆

制作(?)にはHashiCorp さんオフィシャルの Presskitを使わせていただきました。
会社やプロダクトの素材をこういう風に公開してくださってるのめっちゃ助かります、具体的にはケーキがつくれる。

じつはこれがケーキの原稿(?)なんですけど、背景も各プロダクトごとに Pattern を敷いてたんです。
さすがにケーキになったら消えちゃってました、それだけはちょっとおしかった 😭

楽屋話

今回、本当に皆さまのおかげで良い会になったと思うんです。
来てくださった多くの方に楽しんでいただけましたし、綺麗に写真もとっていただけましたし。

ぼくもバカなことやってる割にはそれなりに準備できたつもりだったんですね。
正直「あとは apply するだけです〜」みたいな気持ちがなかったとは言えません。

ところがですよ、思ってたよりも"身"に辿りつかない 😇
これ、まだ脂を削ってます、可食部ほとんど見えてません。

そう、 plan は All Green なのに apply でエラー出まくるという稀によくある状況です。
めっちゃ焦りますけど tfstate を手編集するようなつもりで心を強く持ってザクザクやっていくのが良さそうです。
以上、勉強会で生ハムを原木から切り出す際の参考になれば幸いです。