Kubernetes Native
Quarkusアプリケーションはコンテナ内で実行されるように設計されています。
QuarkusとKubernetesの組み合わせは、スケーラブルで高速、かつ軽量なアプリケーションを作成するための理想的な環境を提供します。Quarkusは、ツール、事前に構築された統合、アプリケーションサービスなどにより、開発者の生産性を大幅に向上させます。
Kubernetesネイティブなフレームワークとはどういうことでしょうか?
シングルステップのデプロイメント
Quarkusでは、基盤となるKubernetesフレームワークの複雑な仕組みを理解することなく、マイクロサービスアプリケーションをKubernetesに簡単にデプロイできます。KubernetesやKubernetesのディストリビューションに対応したエクステンションが用意されており、必要最小限の設定変数のみでこのプロセスを促進することができます。
Using the Quarkus Kubernetes extension, developers can perform or automate a single-step deployment using Jib, Docker, and Source-to-Image (S2i) including the creation of DeploymentConfig to trigger automatic redeployments.
Read the "Kubernetes extension" guide
Additionally, Quarkus includes extensions that make it easy to deploy serverless microservices to cloud providers including AWS Lambda, Azure Functions, and Google Cloud Functions as well as Knative to take advantage of Quarkus application’s fast startup times.
トレース & デバック
Quarkusは、トレースやデバッグなど、Kubernetes上の分散型マイクロサービスアプリケーションをトラブルシューティングするためのツールと機能を開発者に提供します。
Quarkus utilizes OpenTelemetry which is a vendor-agnostic API to help developers easily instrument tracing into their codebase. Distributed tracing helps pinpoint where failures occur and what causes poor performance.
Application Health
Quarkus leverages SmallRye Health, an implementation of the MicroProfile Health specification. This allows applications to provide information about their state to external viewers in a Kubernetes environment where automated processes must be able to determine whether the application should be discarded or restarted.
Application Metrics
Quarkus utilizes the Micrometer metrics library for runtime and application metrics. It provides a simple facade for the most popular monitoring systems to instrument your JVM-based application code without vendor lock-in. Application-specific and built-in metrics can be exposed using Micrometer.
アプリケーション設定
Quarkus includes an extension that allows developers to use Kubernetes ConfigMaps and Secrets as a configuration source, without having to mount them into the Pod running the Quarkus application or make any other modifications to their Kubernetes Deployment (or Openshift DeploymentConfig).
リモート開発
Create and debug applications in the same environment where applications run. Live coding in development mode where any changes made locally will be immediately visible in a clustered Kubernetes environment.
Read the "Enhancing the development loop with Quarkus remote development" blog post