Spring Cloud Netflix
Spring Cloudの開発チームメンバであるOlga MaciaszekさんとMarcin Grzejszczakさんは「How to live in a post Spring Cloud Netflix world」というセッションで、Spring Cloud Netflixの今後について語ってくれました。
Spring Cloud NetflixはこれまでSpring Cloudによるマイクロサービス開発の一端を担うプロダクトとして利用されてきましたが、Netflixの意向もあり、以下のプロダクトについてメンテナンスモードになることがアナウンスされました。
- Spring Cloud Netflix Archaius
- Spring Cloud Netflix Ribbon
- Spring Cloud Netflix Zuul
- Spring Cloud Netflix Hystrix
- Spring Cloud Netflix Hystrix Dashboard
- Spring Cloud Netflix Hystrix Stream
- Spring Cloud Netflix Turbine
- Spring Cloud Netflix Turbine Stream
メンテナンスモードでは新機能の拡充はせず、バグやセキュリティ脆弱性の修正と細かなコントリビューションには対応していく方針とのことです。今後少なくとも1年間はサポートを続けますが、それは移行期間と捉えてほしいという説明でした。
そして、Spring Cloudの開発チームが推奨する新スタックの紹介とともに移行パスやリアクティブ対応などの新機能を説明してくれました。
紹介されたスタックの移行パスは以下のようになります。
- Spring Cloud Netflix Zuul ⇒ Spring Cloud Gateway
- Spring Cloud Netflix Hystrix ⇒ Spring Cloud Circuit Breaker + Resilience4J
- Spring Cloud Netflix Turbine ⇒ Micrometer + Prometheus
- Spring Cloud Netflix Archaius ⇒ Spring Cloud Config Server
講演ではデモアプリを使用してこれらの移行がスムーズに行えることを説明してくれました。その他のプロダクトについても、例えばSpring Cloud Netflix EurekaからSpring Cloud Zookeeperに移行がスムーズに行えるような実装を検討しているようです。
Spring CloudのGreenwichリリーストレインにはメンテナンスモードのプロダクトが含まれていますが、Hoxtonリリーストレイン以降では除かれるようです。ただし、新スタックの中にはまだ正式リリースされていないプロダクトもあるので移行時には注意が必要です。
CNCFでもマイクロサービス開発の一端を担うソフトウェアは数多く定義されていますが、Spring Cloud Netflixがそうだったように徐々に淘汰されていくフェーズを迎えているのかもしれません。
おわりに
以上、Spring I/O 2019の模様のレポートでした。Spring I/O 2019のセッションの動画は以下のチャンネルで徐々に公開され始めています。Spring Frameworkの今後に注目している方はぜひ基調講演だけでもご視聴されることをお勧めします。
ちなみにSpring I/Oでは毎年クロージングセッションでカンファレンスのTop 3セッションが発表されています。2019年のTop 3は以下のとおりでした。ご興味があればこちらも動画やスライドをご覧になると良いと思います。
- Multi-Service Reactive Streams Using Spring, Reactor, and RSocket
- Cutting-edge Continuous Delivery: Automated Canary Analysis through Spring-based Spinnaker
- Event-driven Microservices with Axon and Spring Boot: excitingly boring