思い出したように行うインフラ関係の情報収集。
基本的には知っていることが多かったが、クラウド系の進化は激しく知らない技術が沢山あった。
網羅的に解説されているが、それぞれの説明が淡白で、これだけで新人が理解するのは難しいだろう。
気になったトピックは、以下の通り。
システム開発者(Developer)とシステム運用(Operator)で対立するのは止めて、システム利用者のことを第1に考えよう、という呼びかけの標語がDevOpsである。
SREは、巨大化複雑化するシステムの運用をソフトウェアエンジニアリングの観点で何とかしよう、という考え方。
RFCでは「例示用IPアドレス」というのがあって、書籍やドキュメントに使う、存在しないアドレスである。
メジャーバージョンアップ:パブリックAPIに対して後方互換性を持たない変更が取り込まれた場合に上げなくてはならない。
マイナーバージョンアップ:後方互換性を保ちつつ機能性をパブリックAPIに追加した場合に上げなくてはならない。
パッチバージョンアップ:後方互換性を保ったバグ修正を取り込んだ場合に上げなくてはならない。
・システムは何もしないと壊れる
・システムはよくわからない状態になる
システムインフラのあるべき状態をソースコードで表現し、適用する取り組みがIaC(Infrastructure as Code)である。
ソースコードで表現することにより、構築時に意図したあるべき姿が明確になり、後の変更可否判断がしやすくなる。
また、ソースコードで表現することでバージョン管理、差分把握、テスト・CI/CDなどのソフト開発のプラクティスが利用できるメリットがある。
多くのWebサーバを利用する運用では、構築を自動化し、手作業によるミスの可能性を排除するIaCがマッチする。
このような構築をプロビジョニングと言う。
SLAは保証値ではなく返金基準であることが多く、違反時の対応も損害賠償や機会損失補填はなく「返金は利用費用の○%」という規定が多くみられる。クラウド事業者のSLA(返金基準)をもとに自社サービスのSLA(保証値)を決定しないように注意する。
RDSはRDBMSのマネージドサービスである。AWSが管理するMySQL、MariaDB、PostgresSQL、Oracle、SQL Serverなどが利用できる。マネージドサービスなので、冗長化、高可用性機能の再構築、負荷分散、バックアップ、バージョンアップ、モニタリングなどをAWSに委任できる。ただし制約もある(例:一部拡張機能が利用不可)