1クール続けるブログ

とりあえず1クール続けるソフトウェアエンジニアの備忘録

44smkn Bi-Week in Review - December 12, 2022

AWS Week in ReviewとSRE Weekly読んでて、自分の備忘録用のメモもこんな感じにまとまっていると良いだろうかと思い、試してみることにしました 44smkn Week in Review - November 14, 2022 - 1クール続けるブログ

先週書けなかったので、2週間分ということで Bi-Week と銘打ってみた。英語的に正しいのかは怪しい。
ゆるくやっていくので1週飛んだって良い。続けるのが大事。
ブログに書いていると個人的に見返す回数が増えた気がして、記事読んで満足した気になってそのまま忘れていくより全然いいので、できれば続けていきたい。

すごく温かい気候が続いていますが、積雪の予報としては平年並みらしくチャンスがあればスノーボード行きたい。
今持っているボードより、もうちょいグラトリに向いているボードを買いたくなったが、調べると結構値段するので腰が引けてきた。

Article

How Service Tiers Can Help to Avoid Microservices Disasters - New Stack

service tierというラベルをサービスに付与することで、問題が起こった時の優先度付けや対応や投資を効率的に行うことができる。
記事の中でのラベル付の例が非常に分かりやすかった。規模が増せば増すほど効果が大きいのだろうと思う。
Monzoは大規模な移行作業を自動化する際に利用しているらしい(link)。

冒頭で書かれていることには共感できる。依存されているサービスがクリティカルだと思いがちだけど、そうでないケースもある。ノンクリティカルなサービスに余分な対障害性をもたせると複雑さやコストの増大につながる。
依存する側のサービスの方のtierが低いのであれば、依存される側のサービスの障害から保護する必要はないが、もし依存する側のサービスの方のtierが高いのであれば、依存される側のサービスに障害が起きても稼働を続けるような保護をする必要がある。

[レポート] Revitalize your security with the AWS Security Reference Architecture #SEC203 #reinvent - クラスメソッド

AWSのセキュリティはサービスが多いこともあり、どこから学べば良いのか?どう設計していけば良いのか?と頭を悩ますことが多い。
AWS SRA - Security Reference Architecture という模範的ガイダンスの存在をこのレポートで知ったが、ここからスタートしても良さそうという印象を持った。
どうOrganizaiton Unitを分けて、それぞれにどのような責務をもたせるかということを推奨としているかが分かるのが良い。
実装するコードもあるのも良い。

[セッションレポート] Feature Flagで機能別にローンチをコントロールする (BOA305-R) #reinvent - クラスメソッド

セッション動画 (公開される前だったので記事内にリンクなし)

Feature Toggle あるいは Feature Flag の機能を提供するサービスとしてAWSでは下記の2つがある

  • AWS AppConfig Feature Flags
  • Amazon CloudWatch Evidently

デプロイとリリースの分離 is 大事。
専用のSaaSだったりもあるが結構お値段が張る印象があるので、AWSはどうなんだろうと興味を持ちました。

CloudWatch Evidentlyは長い期間でA/Bテストとかするのに便利AppConfig Feature Flagは、自動ロールバックの機能があり、新しいバージョンの設定を安全にrolloutするのに適しているとのこと。
Cognitoを使ってflag取得の権限を与えている。

Company, team, self. - Will Larson

良かったので、自分なりのざっくりまとめ。

筆者は、「会社、チーム、自分自身」の順に優先させることで正しい結果にたどり着くというのをアドバイスしていたが、マネージャとしての経験を積むにつれ、そういったアドバイスをやめた。
そのアドバイスに忠実に従いすぎてburn outしてしまうリーダーたちがいた。

人は複雑な方法でエネルギーを得ている。
ソフトウェアを書くこと。既存のシステムを最適化すること。社内のWikiを綺麗にすること。会議をすること。
その仕事自体があまり重要でないとしても、エネルギーを与える仕事によって、人々はより多くのことを成し遂げられる。
自分自身とチームを活性化させるために、正しい優先順位を破ることはリーダーシップにおいて重要。
リーダーシップとは、正しい場所に素早くたどり着くことであり、必ずしもまっすぐ歩くことでない。
目的を持ってあるくより行き当たりばったりの道を嬉々としてスキップするほうが早い場合もある。
ただし、他のチームに問題を起こしてはいけない。

AWS Verified Access Preview — VPN-less Secure Network Access to Corporate Applications - AWS

ZTNA(Zero Trust Network Access) の サービスがAWSから出てきましたね。
他社の同様の製品は Cloudflare Access くらいしか知りませんが、そこと比べるとスマホのサポートが無いのが悩ましいところですかね。

AWSのサービスと統合されるのが強みなのかなと。
Cedarという言語も気になりますね。

関連するセッションのレポートも classmethod から上がっていた。
[レポート]AWS Verified Accessの詳細が分かる!re:Inventの最新セッションを紹介 #reinvent

Book

Web配信の技術―HTTPキャッシュ・リバースプロキシ・CDNを活用する

キャッシュあまりに難しすぎることが分かる。とにかく考慮することが多い。
例えば、下記の条件を満たせば、Cache-Controlヘッダの指定がなくてもキャッシュされたりとか…。しかも Date - LastModified / ブラウザ実装による定数(一般的に10)TTLとして設定される。
https://tex2e.github.io/rfc-translater/html/rfc7234.html#3--Storing-Responses-in-Caches

キャッシュさせなくてもCDN利用するだけでスループットがレイテンシが改善するという、(ネットワーク強くない人からすると)直感的でないことを知れたのも良かった。

ちなみにこの本は DMM booksの70%OFFセールのときに買ったのだが、マーカーがブラウザ及びPCのアプリから見れなくて絶望している。