プロダクトの新規開発はもちろん、一度リリースした後も、プロダクトの維持・保守は重要です。 プロダクトの維持・保守には、セキュリティパッチの適用、バグフィックス、機能追加などが含まれます。
そこでは当然、利用しているライブラリのEOL等も認識しておかねばなりません。では、AWS SDKはどのようなサポート期間の考えに立脚しているのでしょうか。恥ずかしながらこれまで認識していなかったので、簡単にまとめておきます。
AWS SDKのライフサイクル
AWS SDKにはSemantic Versioningが採用されていますが、そのメジャーバージョンごとに次のようなライフサイクルが定義されます。
Phase | ライフサイクル | 説明 | 維持期間 |
---|---|---|---|
0 | Developer Preview | 主としてAWSがユーザからフィードバックを得るためのサイクルであり、SDKにはサポートがない。 | - |
1 | General Availability | SDKにサポートがつき、新サービスへの対応や既存サービスのエンハンスへの追随、セキュリティフィックス等が行われる。 | 最低2年間(24ヶ月) |
2 | Maintenance Announcement | SDKがメンテナンスに入る遅くとも6ヶ月前にアナウンス1されてからMaintenance Modeに入るまでの期間。サポートはある。 | 最低6ヶ月 |
3 | Maintenance | 対象SDKに新規機能は入らず、クリティカルなバグ対応やセキュリティフィックスのアップデートに限定される。 | デフォルト12ヶ月 |
4 | End-of-Support | 対象SDKはもはやアップデートされない。 | - |
このライフサイクルの考え方を図示したのが次の図です。ここでは、V1、V2、V3という3つのメジャーバージョンに関するライフサイクルがどのように重なるのかが示されています。
AWS SDKs and Tools maintenance policy - AWS SDKs and Toolsより引用
AWS SDKはGAになってから最低30ヶ月 (2年半; Maintenance Announcementまで)はフルサポートが受けられ、その後デフォルト12ヶ月のメンテナンス期間に移行します。我々としては、Maintenance Annoucementからおよそ18ヶ月 (1年半)の間に、次のメジャーバージョンへの移行する必要がある、ということですね。
参考文献
- 次のメジャーバージョンがGAに入るタイミングでアナウンスされる。例えば、v3がGAに入るタイミングでv2のMaintenance Modeがアナウンスされる。↩