KubeCon&CloudNativeCon North America参加レポート

f:id:j74th:20200126142642p:plain

サーバAPIのインフラをKubernetesで構築しているのもあり、KubeConに参加して来ました。 Kubernetesのカンファレンスで最も規模が大きいこともあり、様々なインプットが得られ、非常に楽しむことができました。 参加するまでCloud Nativeの意味を理解していなかったのですが、参加してみると、クラウドベンダーの提供するクラウドインフラを使いながらも、クラウドベンダーにミドルウェアを独占させないために、オープンソースでコミュニティベースのミドルウェアを健全に育てていこうという動きだとわかりました。 本稿では、実際に聴講したセッションと、その面白かったところを紹介します。

Building Reusable DevSecOps Pipelines on a Secure Kubernetes Platform - Steven Terrana, Booz Allen Hamilton & Michael Ducy, Sysdig https://schedhttps://sched.co/UaWr.co/UaWr CI/CDの世界にSecurityを入れるDevSecOpsを実現するために、SecureなPipelineをテンプレートとして提供し、PipelineはテンプレートとしてJenkins Tenplating Engneが良いよというのが前半。 後半は、コンテナが怪しい動作をしていないかBehaviorを監視するFalcoの話。SystemCallレベルで本当に期待したことだけを実施しているかを監視できる。Falcoで何ができるのかわかってよかった。

Building the Cloud Native Kernel: Kubernetes Release Engineering - Tim Pepper & Stephen Augustus, VMware https://sched.co/UaWx Cloud Nativeになって、KubernetesLinuxの立ち位置って似ている、Linuxにディストロがあったように、クラウドベンダーがKubernetesサービスを打ち出している。コミュニティベースのKubernetesディストロがあってもいいんじゃない、というKubernetesをめぐるクラウドベンダーとの対立を面白く話していた。

Mario’s Adventures in Tekton Land - Vincent Demeester, Red Hat & Andrea Frittoli, IBM https://sched.co/UabG Kubetenes上のCI、Tektonを使ってみた話。N社は無関係。

Are You About to Break Prod? Acceptance Testing with Ephemeral Environments - Erin Krengel, Pulumi & Sean Holung, Nordstrom https://sched.co/UaWE CIでUTを実行するだけじゃなくて、IntegrationTestができるレベルの環境を、Pulumiを使ってPRごとに環境を構築して使い捨てることができるようにした、その実現方法と、結果を紹介。本当にインフラを作って使って捨てるのは良さそうだった。

Don’t Catch Feelings, Catch Issues With Kuberhealthy - Joshulyne Park & Shilla Saebi, Comcast htps://sched.co/UaXs Podの異常を宣言的な記述でアラート化できるKubehealtyの紹介。前半のアプリ開発者とKubernetes運用者の対立の話も面白かった。

Cloud Native Architecture: Monoliths or Microservices? - Goutham Veeramachaneni & Edward Welch, Grafana Labs https://sched.co/UaX6O MonolithかMicroserviceか、いや、Monomicrolithだ! モジュールの共有とかをすると大変なので、シングルバイナリのMonolithでMicroserviceを構築しようという話。

How Container Networking Affects Database Performance - Tyler Duzan & Vadim Tkachenko, Percona https://sched.co/UaZ8 ネットワークでサチらない状況をつくって、それをネットワークモジュールによってどの程度差が付くのかを比較してみた話。なぜそうなるかまでは踏み込まれなかった。

★Debugging Live Applications the Kubernetes Way: From a Sidecar - Joe Elliott, Grafana Labs https://sched.co/UaXU Sidecarを用いて稼働中のアプリケーションを分析する話。このオプションつけてサイドカーに加えると、プロセス解析のツール動かせるよ!と、Kubernetes、コンテナのオプションを良く理解した方法で収穫があった。

★Use Your Favorite Developer Tools in Kubernetes With Telepresence https://sched.co/UaeA Telepresenceという、ローカルとPodをつなぐプロキシをたてて、ローカルで動かしつつ、クラスタで通信を流すことで、デバッグツールが今までローカルで使ってたものが使えるよと言う技術の紹介。これは試さないといけない。 https://www.telepresence.io/

Keynote: Seamless Customer Experience at Walmart Stores Powered by Kubernetes@Edge - Maneesh Vittolia, Principal Architect & Sriram Komma, Principal Product Owner, Walmart https://sched.co/UdJf. Wallmartで、PosをCloud Nativeにやるために、通信障害に備えて衛星通信つかったり、EdgeのKubernetesを使ったり、している実例。すごい。

Handling Risky Business: Cluster Upgrades - Puneet Pruthi, Lyft https://sched.co/UaYz クラスターのアップデートについて。ノードの、Cordon、Drain、Deleteする手順とか、振り替えれる。たぶんまだ開発中のK8stroverの公開が待たれる。

Kubernetizing Big Data and ML Workloads at Uber - Mayank Bansal & Min Cai, Uber https://sched.co/Uaad UberのビックデータのワークロードをKubernetes上でどう実行しているかの紹介。どんなミドルウェアをつかい、どんな種類のワークロードがあるか。すごいことはわかったが、すげぇとしか感想がない。

Bringing the Envoy Service Mesh to Mobile - Jose Nino & Michael Schore, Lyft https://sched.co/UaWW MobileアプリもIstioのデータプレーンであるEnvoyを繋げられるSDK、EnvoyMobileの紹介。これは強力そう!

Ready to Serve! Speeding-Up Startup Time of Istio-Powered Workloads - Michal Malka & Etai Lev-Ran, IBM https://sched.co/UacN Istio、SideCarを使うとスピンアップにオーバーヘッド余分にかかるのを、いかにハックしてオーバーヘッドを少なくしたか。

日本だとツールの利用者が講演するのを、ここではそのツールのメンテナが講演するため、より深い実装の話や深い理解の話が展開されて、良い講演が多かった。

自作キーボードはオープンソースであると知り、世界が変わった話

自作キーボードを使ってみて

既に自作キーボード沼に落ちている気がします。自作キーボードと出会って、衝撃的だったことをいくつか。

  • PCBさえあれば、好きな形のキーボードが得られる!

Keyboard PCBskeeb.io

PCBkbdfans.cn

PCBkprepublic.com

DIY Kits and PCBsnovelkeys.xyz

  • 分割キーボードで有名なErgoDoxはPCB自体オープンソースであり、やろうと思えば自分で作ることができる

github.com

github.com

  • キースイッチが交換可能なPCBが存在する。要するにこの部品を使う。

yushakobo.jp

  • 薄いキーボードが良いと思っていたが、自作キーボードには薄いキースイッチKalihLowProfileが存在する

yushakobo.jp

  • カニカルキーボードはうるさいイメージがあったが、静音モデルが存在する。これを使うと静音リングを使うまでもなく、静かな感じになる。

yushakobo.jp

  • 作成自体はPCBの設計者の言うとおりにはんだ付けするだけなので、簡単。PCB設計者は神だと思う!
  • キースイッチのサンプルが売っており、これで事前にキースイッチを試すことができる

Kailh Sample Packsnovelkeys.xyz

  • 自作キーボードのキー配置を考えるときに、まずなぜ横に並んで縦にずれているキーボードが普及しているのか調べてみたが、タイプライターに由来している以上の情報が得られなく、現在特に意味はないと知った

deskthority.net

  • 縦に並んだキーボードを使ってみると、指の移動が上下だけで、タッチタイプがしやすいことを知った

  • キーボードのマイコンには、Arduino互換のProMicroというマイコンがよく使われていて、入手もしやすい。これを2つ使うことで分割キーボードが実現される

yushakobo.jp

leico.github.io

  • 親指のキーに、Shift、Command、Ctrl、Space、Returnを割り振る。これは小指を酷使するより快適であると悟る。
  • さらに、親指のShift、Command、Ctrlの空打ち(同時に他のキーを押さないこと)に、ESC、Backspace、かなキー、英数キーを割り振る。これは小指を酷使するより快適であると悟る。
  • しかしまだミスタイプが多く、最適化されていない
  • KailhLowProfileは使えるキーキャップは多くないので、キーキャップ沼に落ちずに済みそう

yushakobo.jp

  • HHKBに最適化された人も、この分割キーボードなら、欲しくなりそう

Quefrency - 60%/65% Split Staggered Keyboardkeeb.io

kicad-pcb.org

  • PCBの発注自体は、そんなに高いわけではなさそう。いつか作ってみたい!

www.elecrow.com

  • 自作キーボード専門ショップ遊舎工房が秋葉原で開店し、部品はすぐ調達できる!

akiba-pc.watch.impress.co.jp

  • 店舗まで行かなくても、ネットショップの遊舎工房は発送が早かった(今もしかしたら実店舗で大忙しかもしれない)

yushakobo.jp

  • 現在のキー配置(括弧は空打ち)

f:id:j74th:20190120094440p:plain

今までのキーボード遍歴

  • 14年前 大学のPCのキーボードが HappyHackingKeyboard だった
  • 13年前 多機能な大きいキーボードを使い、様々な機能をキーボードのボタンに配置する
  • 10年前 大きいキーボードであることにあまり意味がないということを悟り、小さいキーボードを買って、キー配置をいじりまくる
  • 親指の、変換キーにトグルでカナモードを割り当て、無変換キーに確定を割り振り、日本語入力には親指を多様するのが良いと悟る
  • 結局、HappyHackingKeyboard Lite2 日本語配列 が良さそうと悟り、自分で買って使い始める

  • しばらくHHKBが続き、結局3台買う
  • 7年前 MacBookProを買い、デスクトップPCを処分する
  • 5年前 HappyHackingKeyborad Professional Type S 日本語配列 を買ってみるも、左シフトのキータッチが自分に合わず、手放す

  • 周りは皆高級キーボードに手を出していたが、高級キーボードは自分に合わないと悟る

PFU キーボード Happy Hacking Keyboard Professional JP Type-S 日本語配列/白 PD-KB420WS

PFU キーボード Happy Hacking Keyboard Professional JP Type-S 日本語配列/白 PD-KB420WS

  • 職場のWindowsPCでもAppleKeyboardを使うようになり、キー配置に悩まなくなる
  • MagicKeyboardが発売されるも、Windowsで使うのが辛くなる
  • 3年前 突如新しい職場で、英語配列のノートPC(XPS13)を渡され、英語配列に目覚める

  • 英語配列のPCが欲しくて、薄いバタフライキーボードのMacBookProを買い、薄いキーボードが手に負担が少なくて良いと悟る

  • 英語配列での日本語モードへの切り替えには、Spaceの隣のCmdを空打ち(同時押しするキーなく押すこと)を割り振ることで、快適なことを発見する
  • 2年半前 薄いキーボードとして、Logitech K380が良いことを見つけ、英語配列を手に入れる。しかし、MacBookHighSieraからFunctionキーモードを適用するバッチが動かなくなり、使い続けるのは辛くなる。

github.com

  • 職場のPCも薄いバタフライキーボードのMacBookProになる
  • 半年前 分割キーボードに憧れて、MacBookProの横にMagicKeyboardを置くスタイルを確立する

  • 3ヶ月前 技術書典5で軸の本を買い、メカニカルキーボードに憧れる

booth.pm

  • 1ヶ月前 AmazonPrimeDayで、赤軸メカニカルキーボードな左手キーボードを買う

  • 半月前 冬コミで自作キーボード島を見ていたところ、Lily58Proが"キースイッチが交換可能"ということに惹かれて、衝動買する

liliums.booth.pm

技術書典5にサークル参加して脱Shellscript、Pythonタスクランナー本を頒布しました

技術書典5 にて、個人サークル74thとして、"ShellScriptの代わりにPythonスクランナーFabric&Invokeを活用する技術"を頒布しました。

だいたい戦利品を読み終わったので、感想を書きます。

https://lh3.googleusercontent.com/FLYNQUBT-DFj6lhyBcirF8EbUPW4Vz3aMx9bfwFaqFDi0oyfcyZLpQPN73Mr8xH3zlmFUyRdDTgltN2iDcTkAg

頒布物について

幾多のMakefile、ShellScriptをプロジェクトに残してきた自分が、ああもうMakefile、Shellscriptを書かなくて良いんだ!と悟れたFabricを布教したくて同人誌を作成した。

しかし、Fabric、Pythonスクランナーと言ったからって、前のVSCodeデバッグ本の様には響かないだろうから、以下の対策をした。

頒布数は以下の通り。

  • 8Pフリーペーパー: 500部くらい(600部準備していた)
  • 新刊Pythonスクランナー本: 60部くらい
  • 既刊Golang本: 20部くらい

技術書典で"無料配布する"ことで、これだけのトップエンジニアに布教できたことを思うと、なかなか良い成果ではないだろうか。

残ったフリーペーパーはそのまま社内布教資料として使う予定。

雑感

  • Fabric1ユーザに3人も出会えた! Fabric2を布教できた!
  • めっちゃ広くなって、サークル参加者が回るのも大変だった。全部のブースを見るのは無理だった。
  • 妻、友人に、お手伝いをお願いして、その間に回った。
  • だいたいのブースで、技術書典決済が使えてお金出さなくて良くて楽だった。
  • 後から回っても本が残っていたり、結構電子版の頒布は続いていた。他のブースも結構余裕のある数を準備してるっぽかった。
  • 技術書典も5回目で品揃えが豊富なところも増えてきた。
  • 今回70ページ書いて1,000円の本にしたけど、30-60Pくらいの500円の良い本の所も多い。また1,500円の良い本も多い。頑張って量を書くよりも、他にない内容の本の方が楽しい。100P超えるとちょっと頑張らないと読めない。
  • 物理本よりも電子のほうが嬉しいけど、ほとんど物理本しか売れない。

戦利品の感想

読んだところまで。

CrystalDiskInfo Internals ~S.M.A.R.T.を極める~

booth.pm

Crystal Disk Infoの人の開発記。Windows機でHDD使っていた頃や、去年SSDベンチマークを取りまくっていた時にはすごくお世話になっていて、中の人の話はやはり面白かった。

Kubernetesの単語帳

ktdkt.sapphire.in.net

少しKubernetesが分かってきた。でもまだ知らない言葉が多い。

Microservices architecture よろず本 その二

booth.pm

Shared Database Pattern Deep Diveの項が面白かった。

RyzenSegvBattle

techbookfest.org

Twitterで追っていたけど、長期間に渡り、いろいろあったので、まとまっていて読んでいて楽しかった。

Shellスクリプトでサーバ設定を自動化する本

techbookfest.org

いつも過激な本作りで楽しみにしていて、同じShellスクリプトとついた本だったので購入。

180PもShellスクリプトと付き合うなんて凄い(あまり読んでない感想)。ただちょっと些細なことも冗長な感じがした。

UEFI読本 基礎編 Linux

booth.pm

いろいろ自動でやってくれたりしているけど、どうやって起動しているか知らないよねー。

WEBフロントエンドの歴史本

booth.pm

本当にざっくりしていて、歴史を一緒に歩んできた人としてニヤニヤする。

はじめてのHTTP/2

booth.pm

結構図が豊富で、さらにcurlを使って様子を見る方法などもあって、ためになった。

Azureで学ぶWebアプリケーション開発

booth.pm

AzureってMSがしっかり道を整備してくれてる感じあってい~な~と思った。

Chrome デベロッパーツールを使いこなそう Console 編

techbookfest.org

使うのでとりあえず買った。続くのかな。

検索だけじゃない Elasticsearch 入門

booth.pm

検索だけじゃない!

軸の本

booth.pm

軸の写真集!買うでしょこれ!

マイナンバーカードと電子署名の本

techbookfest.org

マイナンバーカードでSSHしたくなった。

ぷよぷよAIと強化学習 準備号

booth.pm

強化学習について初心者でも丁寧にぷよぷよAIまで連れて行ってくれた。

応用編 Kubernetes

shirokuma-sw.booth.pm

IngressとかAPI Gatewayとかまじ応用編!

他にも

このシャツは目立ったみたい。何かのCIツールのシャツですか?と言われたが自分のTwitterアイコンですというのは少し気恥ずかしかった。

Boothにて販売中

100部以上たくさん在庫あるので、Shellscriptから逃げたい人はぜひ買ってください!

74th.booth.pm

https://74th.booth.pm/items/104269974th.booth.pm

74th.booth.pm

https://74th.booth.pm/items/82972974th.booth.pm

74th.booth.pm