見出し画像

Productivity Weekly (2020-12-02号)

こんにちは。サイボウズ株式会社 生産性向上チームの平木場です。

僕たち生産性向上チームは毎週水曜日に Productivity Weekly という「1週間の間に発見された開発者の生産性向上に関するネタを共有する会」を社内で開催しています。

本記事はその時のネタをまとめたものです。過去の記事は生産性向上マガジンで読めます。

今回が第四回です。

AWS re:Invent 2020 が始まりましたね。そのため今日の Productivity Weekly は AWS の話題で持ちきりでした。

AWS re:Invent 2020 で発表された新サービス・アップデートを追っかけてるサイト

AWS re:Invent 2020 がはじまって、新機能が気になっても、情報を追っかけるのはなかなか大変(基本英語だし)だと思います。でもそんな人のためにも有志が新機能まとめを作ってくれています。

[随時更新] AWS re:Invent 2020 Keynote で発表された新サービスまとめ #reinvent

クラスメソッドさんのまとめです。AWS を触る人なら誰でも一度はクラメソさんの記事を見たことがあると思います。(僕もいつもお世話になっております。)

この記事ではキーノートで発表された新サービス/新機能をまとめてくれています。1行の簡単な説明と各項目の詳細な記事が貼られています。

AWS re:Invent 2020で発表された新サービス/アップデートまとめ

こちらは個人の方がまとめられている記事です。クラメソさんのまとめにある1行説明よりも詳細な説明が載っているため、もっと手軽に新サービス・アップデートを知ることができます。

Amazon EC2 関連

EC2 で Mac インスタンスが使えるようになった

EC2 で macOS が使えるようになりました。EC2 で iOS アプリのビルドができるようになるので、CI の構成に関する選択肢が増えそうです。ただ、まだ Mojave と Catalina しか使えないので、Big Sur のサポートが始まるまであまり出番はないかもしれません。

なお、最近話題の M1 チップではなく、従来の Mac Mini を大量に用意することで実現しているみたいです。個人的に下のビデオがドキュメンタリー風でとても面白かったので、ぜひ見てみてください。

AWS Lambda 関連

AWS Lambda で関数にコンテナを使えるようになった

AWS Lambda で関数にコンテナを使えるようになりました。Amazonが提供するベースイメージを使うことができますが、Lambda Runtime Interface Clients というツールをインストールすることで独自のイメージも使うことができます。

また、関数をローカルでテストするためのエミュレータ RIE(Lambda Runtime Interface Emulator)も提供されます。クラウドの Lambda と同等の機能を持つようなので、デプロイ前に Lambda 特有のエラーを見つけやすくなるかもしれません。

Lambda の課金される実行時間の単位が 1ms になった

Lambda は実行時間で課金されます。これまでは 100ms 単位で切り上げられていたのですが、これが 1ms 単位になりました。

大量に小さい関数を実行する環境だとだいぶ安くなりそうです。Lambda を高速化するメリットも大きくなると思います。逆に 100ms をはるかに越す関数を使ってる場合はそんなに気にしなくていいかも。

Amazon ECS/ECR 関連

ECS で起動に失敗したタスクを自動でロールバックできるようになった

ECS のタスクを更新した際に、問題があると起動が失敗します。今までは起動しないのに何度もリトライするという不毛な振る舞いをしていました。

これからは起動に失敗したタスクを自動でロールバックさせることができるようになります。設定で有効にする必要があります。

下の一連のツイートが要点をまとめていてわかりやすいです。

ECR でパブリックイメージが公開可能になった

ECR でパブリックイメージが公開可能になりました。パブリックイメージ一覧は認証なしで見れます。無料枠は、ストレージが 50GB、転送量が認証なしで 500GB、認証済みで 5TB。また、AWS 内からの pull は無料です。

すでに数多くの有名なイメージが公開されており、AWS で Docker Hub の pull rate limit に困っている方はこちらのイメージに切り替えることも検討して良いかもしれません。

Amazon S3 関連

S3 が書き込み後すぐ整合性を保って読み込めるになった

S3 が eventual consistency だったのが strong read-after-write consistency(書き込み後すぐ整合性を保って読み込める)になりました。

これまでは書き込み後すぐに読み込んでも、反映に時間がかかるため古いデータを読み込んでしまっていたようですが、これからは書き込み後すぐに読み込んでも、最新のデータを読み込めるようになりました。追加料金はかからなく、パフォーマンスにも影響はないとのことです。

おそらく内部的には大規模な変更があったかと思うのですが、パフォーマンスに影響がないということに生産性向上チームの宮田も驚いていました。

Chrome DevTools にブラウザ操作を Puppeteer のコードとして記録するレコーダー機能が experimental で追加

Puppeteer はブラウザ自動化のための NPM パッケージです。操作を自動化するためには Node.js のコードを書く必要がありますが、ブラウザでの操作を記録して Puppeteer で動くためのコードを生成する機能が Chrome DevTools に追加されました。(まだ experimental な機能です。)

正式版がリリースされたらコード作成がとても楽になるのではないでしょうか。

Husky が OSS 意外で使う場合有料になった?

Husky は git hooks を簡単に使うための NPM パッケージです。今までは MIT ライセンスだったのですが、 v5.0.0 から 「License Zero Parity 7.0.0 and MIT with exception License Zero Patron 1.0.0」というライセンスに変更されました。どうやら、OSS 以外で Husky を利用するには寄付が必要になるようです。(おそらく)

OSS でないリポジトリで利用しているのなら、ライセンス条項をよく読むなり社内の法務に確認するなりした方が良いかもしれません。

Husky の代替としては、pre-commit や lefthook があります。また、チームメンバで共通の git hooks を使っているという場合は、git config の core.hooksPath を利用する方法もあります。

core.hooksPath は git hooks の参照先を変更するための設定です。以下の記事がチームで共通の git hooks を使うために core.hookPath を利用しています。

あとがき

今回は AWS re:Invent 2020 が始まったのもあって、AWS 系のネタが多かったですね。re:Invent を追ってる人にとっては物足りなかったかもしれません。

ちなみに、サイボウズ社内での勉強会では参加者が kintone のスレッド(実況スレ)に実況する場合が多いですが、Productivity Weekly では、情報発信の意味もこめて Twitter で実況しています。

ハッシュタグ#cybozu_productivity_weekly で実況しているので、もっと素早く情報を得たい方はこちらもご覧ください。さらに、このハッシュタグでつぶやいてるアカウントをフォローすることで、日常的に生産性向上ネタを終えるかもしれません。

来週ですが、主にこのマガジンを更新している平木場 (@shitimi_613) が有給休暇を取得するため更新が無いかもしれません。ご了承ください。

生産性向上チームが気になる方は下のリンクをクリック!



この記事が気に入ったらサポートをしてみませんか?