Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Quarkus on K8s

Quarkus on K8s

Quarkus is a Java framework with the mission of making Java the preferred framework for Kubernetes-native development with new developer tools and improved performance. Compared to similar frameworks it has the following distinctive features:
Kubernetes and cloud-native support: Quarkus is specifically designed for developing cloud-native applications and deploying them in Kubernetes.
Optimized startup time and resource consumption: Quarkus is optimized for fast startup time and low resource consumption. It leverages GraalVM Native Image compilation, allowing applications to be compiled into standalone native executables
Native support for multiple languages and frameworks: In addition to Java, Quarkus supports other programming languages like Kotlin, Scala, and Groovy.
Reactive programming: Quarkus supports reactive programming patterns and offers native integration with the reactive framework Eclipse Vert.x.
Extensible ecosystem
Live code reload: Quarkus supports live code reload during development, allowing developers to make changes to the source code while the application is running. This enables quick validation of changes without the need to restart the application.
In this talk we are going to have a short overview of these features, followed by a deeper look into the Kubernetes and cloud-native support of Quarkus.

Avatar for Posedio

Posedio PRO

June 05, 2023
Tweet

More Decks by Posedio

Other Decks in Programming

Transcript

  1. 3 POSEDIO GMBH Company founded: • 2020 Locations: • Vienna

    • Vorarlberg Co-workers: • 17 Cloud experts
  2. 4 SERVICES Cloud Platform Cloud-Native Consulting Data Platform Application Modernization

    Multicloud FinOps Automated self- service Platform Data Governance Big Data Data Accessibility Security and Governance Scalability & Cost optimization DevOps Security Review Cloud readiness Review Architecture Review
  3. 8 INTRODUCTION QUARKUS • Open-source framework for developing cloud-native Java

    applications • Improve performance of Java applications • Enhance the productivity of Java developers What is Quarkus?
  4. 9 INTRODUCTION QUARKUS • Low startup times, low memory usage

    • AOT (ahead-of-time) compilation Improve performance of Java applications
  5. 10 INTRODUCTION QUARKUS • Builds on top of proven standards:

    • Eclipse MicroProfile • Vert.x • JAX-RS Everything new?
  6. 11 INTRODUCTION QUARKUS • Wide range of features and extensions

    • Reactive programming • Microservice support • REST messaging frameworks • Database access • Integration with Kubernetes • https://code.quarkus.io/ Enhance the productivity of Java developers
  7. 14 INTEGRATION WITH KUBERNETES • Open-source platform for • automating,

    • deploying, • scaling, • and managing containerized applications. What is Kubernetes
  8. 15 INTEGRATION WITH KUBERNETES • Configuration • src/main/application.properties • ConfigMap

    • Enverionment variables • Staging • With %[stage].[property-name] Quarkus basics
  9. 16 INTEGRATION WITH KUBERNETES • Configuration • src/main/application.properties • ConfigMap

    • Enverionment variables • Staging • With %[stage].[property-name] Quarkus basics
  10. 17 INTEGRATION WITH KUBERNETES • One-step Kubernetes deployment • Direct

    Secret and ConfigMap access • Health endpoints • OpenTracing • OpenMetrics • Kubernetes Client Api • …. Quarkus Kubernetes Features
  11. 19 INTEGRATION WITH KUBERNETES • Generate deployment YAML for Kubernetes

    Evn. • Service Account, RoleBinding,… <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-kubernetes-minikube</artifactId> </dependency> One-step Kubernetes deployment
  12. 20 INTEGRATION WITH KUBERNETES • Read properties from a ConfigMap

    / Secret • Override application.properties <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-kubernetes-config</artifactId> </dependency> Direct Secret and ConfigMap access
  13. 21 INTEGRATION WITH KUBERNETES • Expose application availability and status

    • Custom application health checks • Built-in health checks • Kafka, JDBC Datasources, Elasticsearch, … <dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-health</artifactId> </dependency> Health Endpoints
  14. 26 SUMMARY • Built for developing cloud-native applications • Improves

    development performance • Improves memory usage and speed Quarkus @ K8S
  15. THANK YOU! POSEDIO GMBH +43 660 9154419 [email protected] Weyringergasse 1-3,

    1040 Wien, Millenium Park 4, 6980 Lustenau www.posedio.com