[速習] Spring 第3回 ソフトウェアのプロフェッショナルへの道 (Spring BootとSpring Frameworkのサポート情報)

![c03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3521573/ec287ad0-1a9c-7f2b-c3e0-1ea785d9d33f.png)

https://qiita.com/ShigemoriMasato/items/754363ffd4335251c438

前回の記事では、Springの中心的な特性である依存性注入(Dependency Injection, DI)とAOP(Aspect Oriented Programming)について説明しました。今回は、Spring BootとSpring Frameworkのサポート情報について深堀りしていきます。

## サポートについて

フレームワークやライブラリのサポート期間は、その製品が安全で、信頼性が保証されている期間を示します。サポート期間中は、セキュリティアップデートやバグ修正が提供され、アプリケーションは新たに発見された脆弱性やバグから保護されます。しかし、サポート期間が終了すると、これらの更新が停止します。この結果、そのフレームワークを使用したアプリケーションは新たに発見された脆弱性に対して無防備になったり、新たなバグにより不安定になる可能性があります。

ここで有償サポートの利用が重要となります。サポート期間が終了した後も、有償サポートを利用すれば、セキュリティパッチやバグ修正を引き続き受けることができ、アプリケーションのセキュリティと安定性を維持することが可能になります。特に、個別パッチの提供が可能な有償サポートは、一般的なアップデートではカバーできない特定の問題や要求に対応することができます。これは特に、大規模なシステムを運用している企業や特殊な要求がある企業にとっては大きなメリットとなります。さらに、有償サポートでは、サポート提供者からの専門的なアドバイスやガイダンスを受けることができ、問題が発生した際の対応を迅速に行うことが可能になります。また、新たな機能や改善についての最新情報を得ることもできます。これらのメリットにより、有償サポートはアプリケーションの運用と管理を大いに助けるものとなります。

```mermaid
graph LR
    A((Spring)) -->|サポート期間中| B[セキュリティアップデート<br>バグ修正]
    B --> C((アプリケーション))
    A -->|サポート期間終了後| D[更新停止]
    D --> E{{アプリケーション脆弱性<br>不安定性}}
    A -->|有償サポート| F[セキュリティパッチ<br>バグ修正]
    F --> G((アプリケーション))

```

そこで有償サポート[^1]の重要性が出てきます。サポート期間が終了した後も、有償サポートを利用すれば、セキュリティパッチやバグ修正を引き続き受けることができます。これにより、アプリケーションのセキュリティと安定性を維持することが可能になります。

## Spring Bootのバージョンとサポート

Spring BootとSpring Frameworkは、世界中で広く利用されているJavaのフレームワークですが、それぞれのバージョンにはサポート期間が設定されています。

[Spring Boot の概要とサポート期間](https://spring.pleiades.io/projects/spring-boot#support)から取得した情報を基に、各バージョンの情報を以下に示します。

| ブランチ | 初回リリース | サポートの終了 | 有償サポートの終了 |
| -------- | ------------ | ------------ | ------------------ |
| 3.2.x | 2023-11-23 | 2024-11-23 | 2026-02-23 |
| 3.1.x | 2023-05-18 | 2024-05-18 | 2025-08-18 |
| 3.0.x | 2022-11-24 | 2023-11-24 | 2025-02-24 |
| 2.7.x | 2022-05-19 | 2023-11-18 | 2025-02-18 |
| 2.6.x | 2021-11-17 | 2022-11-24 | 2024-02-24 |
| 2.5.x | 2021-05-20 | 2022-05-19 | 2023-08-24 |
| 2.4.x | 2020-11-12 | 2021-11-18 | 2023-02-23 |
| 2.3.x | 2020-05-15 | 2021-05-20 | 2022-08-20 |
| 2.2.x | 2019-10-16 | 2020-10-16 | 2022-01-16 |
| 2.1.x | 2018-10-30 | 2019-10-30 | 2021-01-30 |
| 2.0.x | 2018-03-01 | 2019-03-01 | 2020-06-01 |
| 1.5.x | 2017-01-30 | 2019-08-06 | 2020-11-06 |

## Spring Frameworkのバージョンとサポート

[Spring Framework の概要とサポート期間](https://spring.pleiades.io/projects/spring-framework#support)から取得した情報を基に、各バージョンの情報を以下に示します。

| ブランチ | 初回リリース | サポートの終了 | 有償サポートの終了 |
| -------- | ------------ | ------------ | ------------------ |
| 6.1.x | 2023-11-15 | 2025-08-31 | 2026-12-31 |
| 6.0.x | 2022-11-16 | 2024-08-31 | 2025-12-31 |
| 5.3.x | 2020-10-27 | 2024-12-31 | 2026-12-31 |
| 5.2.x | 2019-09-30 | 2021-12-31 | 2023-12-31 |
| 5.1.x | 2018-09-21 | 2020-12-31 | 2022-12-31 |

Spring BootとSpring Frameworkの各バージョンは、リリース日から一定期間サポートされ、その後は有償サポートが提供されます。サポート期間が終了すると、セキュリティアップデートやバグ修正が提供されなくなるため、サポート終了前に新しいバージョンへの移行を計画することが重要です。

また、VMware[^2]とMicrosoft Azure[^3]では、Spring Bootの有償サポートを提供しています。これにより、開発者はSpring Bootアプリケーションのセキュリティと運用を強化することができます。

https://note.com/happyodangoo/n/n29d7e5489850

## 有償サポートについて

VMwareはSpringプロジェクトの主要なスポンサーであり、VMware Spring Runtimeと呼ばれるSpring Bootの有償サポートを提供しています。このサポートにはセキュリティ対策やパッチ適用だけでなく、パフォーマンスチューニングやトラブルシューティングなどのサービスが含まれています。これにより、企業は自社のITリソースを他の重要な業務に集中させることが可能となります。特に大規模なシステムを運用している企業にとっては大きな利点となるでしょう。

https://tanzu.vmware.com/jp/spring-runtime

一方、Azure Spring AppsはMicrosoftとVMwareが共同で提供するフルマネージドサービスで、Springアプリケーションのビルドや移行を支援します。このサービスは、開発者がアプリケーション開発に集中できるように設計されており、監視と診断、構成管理、サービス検出、継続的インテグレーションと継続的デリバリー (CI/CD)、およびBlue-Greenデプロイなどの機能を提供します。

https://azure.microsoft.com/ja-jp/products/spring-apps

Azure Spring Appsを利用することで、開発者はSpring Bootやその他のSpringアプリケーションの開発に専念できます。また、MicrosoftとVMwareによる共同エンジニアリングと統合サポートにより、エンタープライズ開発者が直面する一般的な課題を解決します。

Azure Spring Appsでは、アプリの観察とトラブルシューティングを手軽に実行できます。Azure Monitorを使用することで、アプリケーションの依存関係や運用のテレメトリに関する詳細な分析情報を得ることができます。

また、Azure Spring Apps Enterpriseでは、VMware Spring Runtimeのサポートが含まれています。これには、24時間365日のサポート、エンタープライズ向けに設計された人気プロジェクトのパッケージ版への排他的アクセス、OSSサポート終了後の長期的サポートなどが含まれています。

https://note.com/happyodangoo/n/ne5e69c9ff1e0

## おわりに

Spring BootとSpring Frameworkのサポート情報について説明しました。これらのフレームワークのサポート期間は、安全性と信頼性を保証する重要な要素であり、サポート期間の終了とともにセキュリティアップデートやバグ修正の提供が停止します。そのため、新しいバージョンへの移行はタイムリーに計画する必要があります。

また、有償サポートの利用は、サポート期間終了後もアプリケーションのセキュリティと安定性を確保する上で有効な手段となります。しかし、その利用はプロジェクトの規模、予算、必要性などを考慮し、適切なタイミングで開始することが重要です。予算が許す場合、初期段階から有償サポートを受けることで、早期に専門的なサポートを享受し、問題発生時の対応を迅速に行うことができます。しかし、初期段階での有償サポートの必要性が低い場合や予算が限られている場合は、無料のコミュニティサポートを活用し、必要に応じて有償サポートを検討するというアプローチも有効です。

今後は、これらのサポート情報を基に、アプリケーションのライフサイクルを計画し、適切なサポートを選択することが求められます。また、フレームワークの新バージョンリリースやサポート終了の情報を常にチェックし、必要に応じてアプリケーションの更新や有償サポートの利用を検討することも重要。

[^1]: 有償サポート - ソフトウェアやサービスの提供者が、顧客に対して有料で追加サポートを提供する。これには、セキュリティ対策やパッチ適用、パフォーマンスチューニングやトラブルシューティングなどのサービスが含まれることが多い。
[^2]: VMware - クラウドインフラストラクチャと仮想化技術を提供するアメリカのソフトウェア会社。Springプロジェクトの主要なスポンサーであり、Spring Bootの有償サポートを提供。
[^3]: Azure - Microsoftが提供するクラウドコンピューティングサービス。Azure Spring Appsは、MicrosoftとVMwareが共同で提供するフルマネージドサービス。