プログラミング言語のバージョンアップポリシーのお知らせ
エンジニアの @k1LoW です。
さて、マネージドクラウドを本格的に検討していただくお客様も増え、皆さまからも「コンテナのプログラミング言語のバージョンアップポリシーはどのようになるのか?」というお問い合わせをいただいています。
マネージドクラウドチームとしても、本件は「安心して」「簡単に」運用していただくためにも非常に重要な事です。
ということで、各言語のバージョンアップについて、マネージドクラウドとしての方針を「言語のバージョンアップポリシー」として定めて、運用していきたいと思います。
なお、このバージョンアップポリシーは 2019年04月01日より、皆さまのプロジェクトにも随時適用していく予定です。
言語のバージョンアップポリシー
現在提供しているコンテナ内で提供している言語のPHP、Ruby、Node、Python、Goについて、それぞれ言語のバージョンアップポリシーを設定します。
なお、以下の記述では、言語に付与されているバージョン番号の x.y.z について、それぞれメジャーバージョン、マイナーバージョン、パッチバージョンとして統一します。
バージョンが上がる前のコンテナを既存バージョンコンテナ、バージョンが上がったコンテナを新バージョンコンテナと呼びます。
基本方針
言語がバージョンアップした時の、新バージョン対応のコンテナ提供のタイミング
・新バージョンがリリースされた後、検証を行った上で提供します
・バージョンアップ後にインフォメーションでお知らせします
言語のメジャーバージョンまたはマイナーバージョンが上がるコンテナが提供された場合の既存プロジェクトの措置
・既存プロジェクトの言語バージョンは、そのまま利用できるようにいたします。また、新バージョンの環境への更新ができるようにいたします。
・新規に作成するプロジェクトは、新バージョンと既存バージョンを含むサポートバージョン全てを選択できるようにいたします。
言語パッチバージョンが上がるコンテナが提供された場合の既存プロジェクトの措置
・全てのプロジェクトにおいて、自動でバージョンをアップデートします
・例: PHP7.2.4のコンテナの場合はPHP7.2.5やPHP7.2.6へのバージョンは自動でアップデートされます。次のコンテナの起動のタイミングで自動で切り替わります。
・ 例: サポート期限以外の理由で、PHP7.2.5のコンテナがPHP7.3.0に自動アップデートされることはありません
・古いパッチバージョンは選択できなくなります
・ 例: PHP7.2.6のコンテナがリリースされるとPHP7.2.5やPHP7.2.4のバージョンは選択できなくなります
提供しているバージョンのサポート期限
・サポート期限は言語のEOLに準じます。
・EOLのバージョンのコンテナを利用していた場合、サポートしている言語バージョンでもっとも古いバージョンに自動で変更されます。
・古いバージョンが選択できなくなる場合は事前にインフォメーションでお知らせします
セキュリティ上の問題が発生した場合の措置
・セキュリティ上の問題が発生した場合は、メジャーバージョン、マイナーバージョン、パッチバージョンに関わらず、最も近いバージョンへ自動でアップデートを実施します。
基本方針のままの言語
・PHP
・Ruby
・Python
・Go
例外がある言語
・Node
・NodeはLTSとして提供しているバージョン(2019年2月時点では偶数バージョン)のみを提供します
今後
今後もより良い提供の仕方を模索してきます!
まずは「最新が最高」と考えている、マネージドクラウドの「言語のバージョンアップポリシー」を共有させてもらいました!