OpenLibertyとVSCodeによるコンテナを用いた開発環境の構築
昨今の開発ではコードの修正が即反映されデバックも行えるHot Reloadの仕組みが当たり前になっていますが、これをコンテナを使ったJava開発で行おうとした場合、変更をどのように即座にコンテナ側に反映させるかが少し悩ましかったりします...
記事を読むStrimzi - Kubernetes で Kafka を運用するための Operators
Apache Kafka は高速でスケーラブルな pub/sub 型の分散メッセージングシステムです。Kafka クラスターに配置された Topic に Consumer アプリが Subscribe し、Producer が送信するメッセージを順次処理していきます。 Kafka はコンテナや Kubernetes 以前からの歴史があり、近年 Kubernetes で運用する事例も増えてきています...
記事を読むサービスメッシュが解決しようとしている課題
庄司です。 この記事では、サービスメッシュがどのような課題を解決しようとしているかについて概説します。 アプリケーションは、時間の経過とともに大きく複雑になっていきます。モノリスで始めたアプリケーションもやがて単一のチームでは手に負えなくなります。 やがて分割する時期を迎えます。アプリケーションを分割したそれぞれの部分 (パート) を SOA 時代以降では「サービス」と呼びます...
記事を読むFlagger と Ingress Nginx でA/Bテストをする
前回は、FlaggerとNginxのIngress Controllerを使ってカナリアリリースを試しました。 Flagger と Ingress Nginx でカナリアリリースをする 今回はA/Bテストの方を試したいと思います。 前回のカナリアリリースは、徐々にカナリアバージョンのトラフィック量を増やしながら切り替えていく形でした...
記事を読むFlagger と Ingress Nginx でカナリアリリースをする
Kubernetesはデフォルトではローリングアップデート(RollingUpdate)とPod再生成(Recreate)をデプロイ時の戦略として利用できます。 特にデフォルトのデプロイ戦略であるRollingUpdateは、ゼロダウンタイムで順次新バージョンをリリースさせていく方式ですが欠点もあります。 たとえば、Pod(アプリケーション)の起動には成功するものの、バグ等が原因で正常なサービスとして提供できていない場合です...
記事を読むKubernetes v1.24がリリースされました
2022/05/03 Kubernetesのv1.24がリリースされました。 Kubernetes 1.24: Stargazer 詳細な変更履歴はこちらで確認できます。 以下個人的に大きいと感じた変更点についてまとめてみました。 Dockershim削除 # 今回のリリースで一番の目玉はやはりDockershimの削除でしょうね。 v1.20でDeprecatedになったDockershimが削除され、v1.24以降はコンテナランタイムとしてDockerは使えなくなります...
記事を読むMizu(水)でマイクロサービスのトラフィックを分析する
--> Caution本記事の内容は古くなっています。MizuはKubesharkにリブランディングされていることを確認しています。 GitHub - Kubeshark Kubernetesでおもしろいツールを見つけたので、ご紹介したいと思います。 その名もMizuです。ロゴを見れば分かるように日本語の「水」から名付けられたものです...
記事を読む分散トレーシング(OpenTelemetry / AWS X-Ray)
前回はOpenTelemetryとJaegerを使って、エンドツーエンドでトレース情報を収集・可視化をしました。 ここで利用したJaegerは分散トレーシングに特化したOSSプロダクトで高機能ではありますが、実際に運用する場合は、その構成を慎重に検討する必要があります。 例えば、以下の対応が必須で必要となるでしょう...
記事を読む分散トレーシング(OpenTelemetry / Jaeger)
今回はアプリケーションのパフォーマンスに焦点を当てます。 アプリケーションのパフォーマンスを分析するにはどうすれば良いでしょうか? 従来は処理時間等の情報をログに残し、これを集計することが多かったと思います。 単一サービスで構成されるシステムではこれで事足りることが多いですが、多数のサービスで構成されるマイクロサービスとなるとそうはいきません...
記事を読むログ収集・分析(Fluent Bit / Amazon CloudWatch)
前回はログの収集にFluent Bit、その分析にAWS OpenSearchを使用しました。 AWS OpenSearchは、非常に高機能な検索とリッチなUIを提供しますが、デメリットもあります。 まず、OpenSearch自体のセットアップ作業が別途必要です。特に、高スループットが予想される商用環境では、マルチノードでクラスターを組む必要がありますし、構成に応じてかなりのコストが発生します...
記事を読む