Master a Cloud Native Standard - MicroProfile.pptxEmilyJiang23
Emily Jiang gave a presentation on MicroProfile, a set of lightweight, open source APIs for Java microservices. She began with an overview of MicroProfile's history and community-driven development process. She then provided a deep dive on various MicroProfile specifications, including Config, REST Client, OpenAPI, JWT Auth, Fault Tolerance, Health, Metrics, Telemetry, and more. Finally, she discussed the future of MicroProfile, including upcoming versions that will adopt OpenTelemetry Metrics and make other updates.
Building 12-factor Cloud Native MicroservicesJakarta_EE
The document discusses the twelve-factor app methodology for building cloud-native microservices. It describes the twelve factors including codebase, dependencies, configuration, backing services, build/release/run stages, processes, port binding, concurrency, disposability, development/production parity, logs, and admin processes. It then demonstrates how to build a twelve-factor app using MicroProfile specifications and Kubernetes, with a live coding example of two microservices. References are provided for further reading.
This document provides an introduction to MicroProfile, Open Liberty, and how to build cloud native microservices. It discusses key MicroProfile specifications like JAX-RS, CDI, REST Client, OpenAPI, Config, Fault Tolerance, Health, Metrics, and OpenTracing. It also covers using Open Liberty, Docker, Kubernetes, Istio and OpenShift for microservices deployment. The document includes an agenda, overview of the MicroProfile community and specifications, a timeline of MicroProfile releases, and pointers to the tutorial code repository.
This document provides an introduction to MicroProfile, Open Liberty, and how to build cloud native microservices. It discusses key MicroProfile specifications like JAX-RS, CDI, REST Client, OpenAPI, Config, Fault Tolerance, Health, Metrics, and OpenTracing. It also covers using Open Liberty, Docker, Kubernetes, Istio and OpenShift for microservices deployment. The document includes an agenda, overview of the MicroProfile community and specifications, a timeline of MicroProfile releases, and pointers to useful resources and the hands-on lab.
1) The document discusses the 12 factor app methodology for building cloud-native applications as microservices. It outlines the 12 factors including codebase, dependencies, configuration, backing services, build/release/run, processes, port binding, concurrency, disposability, development/production parity, logs, and admin processes.
2) It describes how to build a 12 factor app using MicroProfile specifications and Kubernetes. MicroProfile provides APIs for configuration, fault tolerance, metrics, and more. Kubernetes provides deployment and scaling.
3) The presentation provides code examples for MicroProfile configuration injection and REST clients and discusses how each of the 12 factors can be addressed through MicroProfile and Kubernetes. It emphasizes separating code from configuration and
This document provides an overview of MicroProfile, Open Liberty, and how to get started with a MicroProfile lab. It discusses key MicroProfile specifications like JAX-RS, CDI, JSON-B, REST Client, Config, Health, Metrics, OpenTracing, and how Open Liberty supports these. It also covers deploying MicroProfile applications on Docker, Kubernetes, and using features like ConfigMaps and health probes. The document encourages developers to use the provided GitHub lab for hands-on experience with a MicroProfile application.
This document provides an introduction to Eclipse Microprofile, including:
- Microprofile started in 2016 to define a minimum set of APIs for microservices including JAX-RS, CDI, and JSON-P.
- It has grown to include additional APIs for configuration, fault tolerance, security, metrics, and more.
- These APIs are implemented by various Java application servers and can be used together through a single Maven dependency.
- The presentation describes the various Microprofile sub-projects and how they can be used to build microservices.
DevNexus 2019: MicroProfile and Jakarta EE - What's Next?Kevin Sutter
Presentation used at DevNexus 2019 in Atlanta. "What happens to MicroProfile now that Jakarta EE has been created?" is one of the most common questions I get. This presentation discusses that topic.
Master a Cloud Native Standard - MicroProfile.pptxEmilyJiang23
Emily Jiang gave a presentation on MicroProfile, a set of lightweight, open source APIs for Java microservices. She began with an overview of MicroProfile's history and community-driven development process. She then provided a deep dive on various MicroProfile specifications, including Config, REST Client, OpenAPI, JWT Auth, Fault Tolerance, Health, Metrics, Telemetry, and more. Finally, she discussed the future of MicroProfile, including upcoming versions that will adopt OpenTelemetry Metrics and make other updates.
Building 12-factor Cloud Native MicroservicesJakarta_EE
The document discusses the twelve-factor app methodology for building cloud-native microservices. It describes the twelve factors including codebase, dependencies, configuration, backing services, build/release/run stages, processes, port binding, concurrency, disposability, development/production parity, logs, and admin processes. It then demonstrates how to build a twelve-factor app using MicroProfile specifications and Kubernetes, with a live coding example of two microservices. References are provided for further reading.
This document provides an introduction to MicroProfile, Open Liberty, and how to build cloud native microservices. It discusses key MicroProfile specifications like JAX-RS, CDI, REST Client, OpenAPI, Config, Fault Tolerance, Health, Metrics, and OpenTracing. It also covers using Open Liberty, Docker, Kubernetes, Istio and OpenShift for microservices deployment. The document includes an agenda, overview of the MicroProfile community and specifications, a timeline of MicroProfile releases, and pointers to the tutorial code repository.
This document provides an introduction to MicroProfile, Open Liberty, and how to build cloud native microservices. It discusses key MicroProfile specifications like JAX-RS, CDI, REST Client, OpenAPI, Config, Fault Tolerance, Health, Metrics, and OpenTracing. It also covers using Open Liberty, Docker, Kubernetes, Istio and OpenShift for microservices deployment. The document includes an agenda, overview of the MicroProfile community and specifications, a timeline of MicroProfile releases, and pointers to useful resources and the hands-on lab.
1) The document discusses the 12 factor app methodology for building cloud-native applications as microservices. It outlines the 12 factors including codebase, dependencies, configuration, backing services, build/release/run, processes, port binding, concurrency, disposability, development/production parity, logs, and admin processes.
2) It describes how to build a 12 factor app using MicroProfile specifications and Kubernetes. MicroProfile provides APIs for configuration, fault tolerance, metrics, and more. Kubernetes provides deployment and scaling.
3) The presentation provides code examples for MicroProfile configuration injection and REST clients and discusses how each of the 12 factors can be addressed through MicroProfile and Kubernetes. It emphasizes separating code from configuration and
This document provides an overview of MicroProfile, Open Liberty, and how to get started with a MicroProfile lab. It discusses key MicroProfile specifications like JAX-RS, CDI, JSON-B, REST Client, Config, Health, Metrics, OpenTracing, and how Open Liberty supports these. It also covers deploying MicroProfile applications on Docker, Kubernetes, and using features like ConfigMaps and health probes. The document encourages developers to use the provided GitHub lab for hands-on experience with a MicroProfile application.
This document provides an introduction to Eclipse Microprofile, including:
- Microprofile started in 2016 to define a minimum set of APIs for microservices including JAX-RS, CDI, and JSON-P.
- It has grown to include additional APIs for configuration, fault tolerance, security, metrics, and more.
- These APIs are implemented by various Java application servers and can be used together through a single Maven dependency.
- The presentation describes the various Microprofile sub-projects and how they can be used to build microservices.
DevNexus 2019: MicroProfile and Jakarta EE - What's Next?Kevin Sutter
Presentation used at DevNexus 2019 in Atlanta. "What happens to MicroProfile now that Jakarta EE has been created?" is one of the most common questions I get. This presentation discusses that topic.
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexusEmily Jiang
This document provides an overview of Eclipse MicroProfile, Open Liberty, and hands-on cloud-native Java microservices. It discusses key MicroProfile APIs for REST, configuration, fault tolerance, health checks, metrics, and more. It also covers deploying microservices on Docker, Kubernetes, and using a service mesh like Istio. The document concludes with a link to a GitHub repository containing a tutorial lab for getting started with a MicroProfile application on Open Liberty.
Cloud native programming model comparisonEmily Jiang
This deck provides a side-by-side comparison between two popular cloud native programming models: MicroProfile vs. Spring boot. It lists similiarilities and differences between them
Spring boot microservice metrics monitoringOracle Korea
This document summarizes a presentation on monitoring microservices with Spring Boot. It discusses evolving architectures from monolithic to microservices and challenges in microservices. It then covers different monitoring techniques like metrics, tracing and logging. It provides an overview of tools like Prometheus, Grafana, Spring Boot Admin, Eureka and Consul for monitoring microservices. Finally, it outlines hands-on labs to set up monitoring of a sample application with different tool combinations.
Spring Boot - Microservice Metrics MonitoringDonghuKIM2
마이크로서비스 아키텍쳐에서의 분산된 서비스간의 모니터링 방법을 소개합니다.
- Microservice Monitoring with Service Discovery (Eureka) Spring Boot Admin
- Microservice Monitoring with Service Discovery (Consul), Prometheus, Grafana
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveDataWaheed Nazir
Kotlin MVVM Architecture:
A sample app that display list of Google news. The purpose of this project to illustrate the usage of MVVM architecture design pattern that follow the best practices of Object Oriented Design Patterns using the following technology stack.
Architecture Design Pattern
MVVM
Dagger2 (Dependency Injection)
Live Data, MediatorLiveData
Room Database
Retrofit
Unit Testing (Espresso), Mockito (Coming soon)
Repository Pattern
AndroidX
Glide
NetworkBoundResource, NetworkAndDBBoundResource
Google News API
JetPack Libraries
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Martin Etmajer
Until recently, applications ran on a handful of carefully curated technologies for years to come, deployments were static and teams siloed. In the microservices age, teams are cross-functional, pick the technologies they consider to work best for them, and are held accountable for what they produce. Application deployments are fine-grained, frequent, scalable and fully automated. What a shift and what a challenge for monitoring such environments! In this presentation, you'll learn how to obtain insights from your OpenShift environment by exploring various open-source monitoring, logging, and tracing technologies, including Elasticsearch, Fluentd, Hawkular, Heapster, Jolokia, Kibana, OpenTracing, Prometheus and ZipKin.
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...Matt Raible
Microservices are being deployed by many Java Hipsters. If you're working with a large team that needs different release cycles for product components, microservices can be a blessing. If you're working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain.
This presentation will show you how to use JHipster to create Angular + Spring Boot apps with a unified front-end. You will leave with the know-how to create your own excellent apps!
Related blog posts:
* Java Microservices with Spring Boot and Spring Cloud: https://developer.okta.com/blog/2019/05/22/java-microservices-spring-boot-spring-cloud
* Java Microservices with Spring Cloud Config and JHipster: https://developer.okta.com/blog/2019/05/23/java-microservices-spring-cloud-config
* Secure Reactive Microservices with Spring Cloud Gateway: https://developer.okta.com/blog/2019/08/28/reactive-microservices-spring-cloud-gateway
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedToru Wonyoung Choi
Jetpack released new features in 2021 including:
- Compose integrations with libraries like Hilt, Paging, and Navigation.
- Improvements to CameraX, Room, DataStore, Navigation, and other libraries.
- New libraries like AppSearch, Macrobenchmark, and Google Shortcuts.
- Support for additional form factors with updates to libraries like Window and Wear.
- Many libraries reached stable versions or added new capabilities in alpha/beta stages.
The document discusses building 12 factor microservices using MicroProfile. It begins with an overview of the 12 factors methodology for building cloud-native applications and what a 12 factor app is. It then provides details on each of the 12 factors and how MicroProfile and Kubernetes can be used to implement them when building microservices. Specifically, it discusses using MicroProfile Config, Fault Tolerance, and Kubernetes concepts like configmaps, secrets, and namespaces. It also provides references for further information.
Scale and Load Testing of Micro-ServiceIRJET Journal
1) The document discusses testing of microservices using load and scale testing frameworks. It describes using Locust for load testing and analyzing response times as the number of requests per second and pods are increased.
2) APIs were tested using Pytest with over 50 test cases covering different responses and statuses. Test results were generated as Allure reports.
3) New Relic was used to monitor application performance under increasing load and identify bottlenecks. Testing showed the system could handle 2000 requests per second per container before response times increased significantly.
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...Matt Raible
Microservices are being deployed by many Java Hipsters. If you're working with a large team that needs different release cycles for product components, microservices can be a blessing. If you're working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain.
This presentation will show you how to use JHipster to create Angular + Spring Boot apps with a unified front-end. You will leave with the know-how to create your own excellent apps!
Related blog posts:
* Java Microservices with Spring Boot and Spring Cloud: https://developer.okta.com/blog/2019/05/22/java-microservices-spring-boot-spring-cloud
* Java Microservices with Spring Cloud Config and JHipster: https://developer.okta.com/blog/2019/05/23/java-microservices-spring-cloud-config
* Secure Reactive Microservices with Spring Cloud Gateway: https://developer.okta.com/blog/2019/08/28/reactive-microservices-spring-cloud-gateway
This document discusses how to become an expert Android developer using Google technologies. It recommends using Android Studio as the integrated development environment due to its fast tools for building apps. It also recommends using the Android Jetpack architecture components like ViewModel, LiveData, and Room to accelerate development and build robust apps by eliminating boilerplate code. The document also covers other Jetpack components like Data Binding, Navigation, Lifecycles, and Testing to further improve the development process.
The new and smart way to build microservices - Eclipse MicroProfileEmily Jiang
Emily Jiang presents on MicroProfile, a community-driven set of lightweight Java APIs for building microservices. MicroProfile aims to provide APIs for common concerns like configuration, fault tolerance, health checking, and more to help build cloud-native Java microservices. It has wide vendor support and specifications are developed through an open community process. MicroProfile services can be deployed to modern platforms like Kubernetes and service meshes like Istio to enable scalable and resilient microservice architectures in the cloud.
Our cloud-native environments are more complex than ever before! So how can we ensure that the applications we’re deploying to them are behaving as we intended them to? This is where effective observability is crucial. It enables us to monitor our applications in real-time and analyse and diagnose their behaviour in the cloud. However, until recently, we were lacking the standardization to ensure our observability solutions were applicable across different platforms and technologies. In this session, we’ll delve into what effective observability really means, exploring open source technologies and specifications, like OpenTelemetry, that can help us to achieve this while ensuring our applications remain flexible and portable.
Observability and Orchestration of your GitOps Deployments with KeptnAndreas Grabner
GitOps has become the default way to manage configuration in cloud native environments with tools like Argo or Flux keeping Git and K8s in sync.
But GitOps lacks end-2-end traceability when GitOps operators make changes on the target environments. And as k8s lacks application awareness its hard to enforce pre- and post-deployment orchestration task such as sending notifications upon successful app delivery or validating all SLOs are healthy for a new version.
The CNCF project Keptn is addressing those challenges by automatically providing End-2-End Observability through OpenTelemetry as well as introducing an application deployment lifecycle events enabling pre- and post-deployment checks natively on k8s.
Keptn therefore extends your GitOps approach with the missing observability and orchestration needed for successful cloud native development.
The document discusses RESTful APIs and ASP.NET Core. It begins by asking why RESTful APIs are needed and defines RESTful as being represented by URIs, HTTP methods, and hypermedia. It covers the six constraints of RESTful design including being client-server, having a uniform interface, being stateless, cacheable, using a layered system, and optionally having code on demand. It provides examples of RESTful routing in ASP.NET Core and adding support for XML, versioning, and HATEOAS. Finally, it emphasizes that not all APIs must be RESTful and to design with clients in mind rather than forcing RESTful implementation.
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
This talk was given at Boston Cloud Native Meetup on Feb 9th 2023
DORA’s Four Key DevOps have gained much attention as they provide critical insights into an organization’s maturity in automating the delivery of high-quality software. Google provides a blueprint implementation which requires extending your existing delivery pipelines (Jenkins, Argo, Flux, GitHub, GitLab …) to push those metrics to an external database. While doable, many platform engineers we spoke to are seeking an alternative solution and more cloud-native approach.
The CNCF project Keptn saw this as an opportunity to provide a K8s- & Cloud-Native solution that provides 100% coverage, WITHOUT changing pipelines and using OpenTelemetry as standard collection framework.
Join this talk where Andi (Andreas) Grabner, DevRel at Keptn, will show you how you can use Keptn’s Lifecyle Toolkit to get your DORA metrics within 5 minutes. Andi also covers how the Lifecycle Toolkit brings application-awareness into your deployments and allows you to execute pre- and post-deployment checks as serverless functions – all declaratively as part of your existing K8s CRDs.
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...Matt Raible
The document summarizes a presentation about microservices using Spring Boot, JHipster, and OAuth. It includes an agenda that covers an introduction to microservices, developing microservices with JHipster, and deploying microservices to the cloud. It then describes demos of creating microservices using Spring Boot and Spring Cloud and consuming APIs using Feign clients in a gateway. Finally, it discusses JHipster's features for microservices and progressive web applications, as well as the JHipster roadmap.
MicroProfile, Docker, Kubernetes, Istio and Open Shift lab @dev nexusEmily Jiang
This document provides an overview of Eclipse MicroProfile, Open Liberty, and hands-on cloud-native Java microservices. It discusses key MicroProfile APIs for REST, configuration, fault tolerance, health checks, metrics, and more. It also covers deploying microservices on Docker, Kubernetes, and using a service mesh like Istio. The document concludes with a link to a GitHub repository containing a tutorial lab for getting started with a MicroProfile application on Open Liberty.
Cloud native programming model comparisonEmily Jiang
This deck provides a side-by-side comparison between two popular cloud native programming models: MicroProfile vs. Spring boot. It lists similiarilities and differences between them
Spring boot microservice metrics monitoringOracle Korea
This document summarizes a presentation on monitoring microservices with Spring Boot. It discusses evolving architectures from monolithic to microservices and challenges in microservices. It then covers different monitoring techniques like metrics, tracing and logging. It provides an overview of tools like Prometheus, Grafana, Spring Boot Admin, Eureka and Consul for monitoring microservices. Finally, it outlines hands-on labs to set up monitoring of a sample application with different tool combinations.
Spring Boot - Microservice Metrics MonitoringDonghuKIM2
마이크로서비스 아키텍쳐에서의 분산된 서비스간의 모니터링 방법을 소개합니다.
- Microservice Monitoring with Service Discovery (Eureka) Spring Boot Admin
- Microservice Monitoring with Service Discovery (Consul), Prometheus, Grafana
Android MVVM architecture using Kotlin, Dagger2, LiveData, MediatorLiveDataWaheed Nazir
Kotlin MVVM Architecture:
A sample app that display list of Google news. The purpose of this project to illustrate the usage of MVVM architecture design pattern that follow the best practices of Object Oriented Design Patterns using the following technology stack.
Architecture Design Pattern
MVVM
Dagger2 (Dependency Injection)
Live Data, MediatorLiveData
Room Database
Retrofit
Unit Testing (Espresso), Mockito (Coming soon)
Repository Pattern
AndroidX
Glide
NetworkBoundResource, NetworkAndDBBoundResource
Google News API
JetPack Libraries
Challenges in a Microservices Age: Monitoring, Logging and Tracing on Red Hat...Martin Etmajer
Until recently, applications ran on a handful of carefully curated technologies for years to come, deployments were static and teams siloed. In the microservices age, teams are cross-functional, pick the technologies they consider to work best for them, and are held accountable for what they produce. Application deployments are fine-grained, frequent, scalable and fully automated. What a shift and what a challenge for monitoring such environments! In this presentation, you'll learn how to obtain insights from your OpenShift environment by exploring various open-source monitoring, logging, and tracing technologies, including Elasticsearch, Fluentd, Hawkular, Heapster, Jolokia, Kibana, OpenTracing, Prometheus and ZipKin.
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Jforum S...Matt Raible
Microservices are being deployed by many Java Hipsters. If you're working with a large team that needs different release cycles for product components, microservices can be a blessing. If you're working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain.
This presentation will show you how to use JHipster to create Angular + Spring Boot apps with a unified front-end. You will leave with the know-how to create your own excellent apps!
Related blog posts:
* Java Microservices with Spring Boot and Spring Cloud: https://developer.okta.com/blog/2019/05/22/java-microservices-spring-boot-spring-cloud
* Java Microservices with Spring Cloud Config and JHipster: https://developer.okta.com/blog/2019/05/23/java-microservices-spring-cloud-config
* Secure Reactive Microservices with Spring Cloud Gateway: https://developer.okta.com/blog/2019/08/28/reactive-microservices-spring-cloud-gateway
Jetpack, with new features in 2021 GDG Georgetown IO ExtendedToru Wonyoung Choi
Jetpack released new features in 2021 including:
- Compose integrations with libraries like Hilt, Paging, and Navigation.
- Improvements to CameraX, Room, DataStore, Navigation, and other libraries.
- New libraries like AppSearch, Macrobenchmark, and Google Shortcuts.
- Support for additional form factors with updates to libraries like Window and Wear.
- Many libraries reached stable versions or added new capabilities in alpha/beta stages.
The document discusses building 12 factor microservices using MicroProfile. It begins with an overview of the 12 factors methodology for building cloud-native applications and what a 12 factor app is. It then provides details on each of the 12 factors and how MicroProfile and Kubernetes can be used to implement them when building microservices. Specifically, it discusses using MicroProfile Config, Fault Tolerance, and Kubernetes concepts like configmaps, secrets, and namespaces. It also provides references for further information.
Scale and Load Testing of Micro-ServiceIRJET Journal
1) The document discusses testing of microservices using load and scale testing frameworks. It describes using Locust for load testing and analyzing response times as the number of requests per second and pods are increased.
2) APIs were tested using Pytest with over 50 test cases covering different responses and statuses. Test results were generated as Allure reports.
3) New Relic was used to monitor application performance under increasing load and identify bottlenecks. Testing showed the system could handle 2000 requests per second per container before response times increased significantly.
Microservices for the Masses with Spring Boot, JHipster, and OAuth - Switzerl...Matt Raible
Microservices are being deployed by many Java Hipsters. If you're working with a large team that needs different release cycles for product components, microservices can be a blessing. If you're working at your VW Restoration Shop and running its online store with your own software, having five services to manage and deploy can be a real pain.
This presentation will show you how to use JHipster to create Angular + Spring Boot apps with a unified front-end. You will leave with the know-how to create your own excellent apps!
Related blog posts:
* Java Microservices with Spring Boot and Spring Cloud: https://developer.okta.com/blog/2019/05/22/java-microservices-spring-boot-spring-cloud
* Java Microservices with Spring Cloud Config and JHipster: https://developer.okta.com/blog/2019/05/23/java-microservices-spring-cloud-config
* Secure Reactive Microservices with Spring Cloud Gateway: https://developer.okta.com/blog/2019/08/28/reactive-microservices-spring-cloud-gateway
This document discusses how to become an expert Android developer using Google technologies. It recommends using Android Studio as the integrated development environment due to its fast tools for building apps. It also recommends using the Android Jetpack architecture components like ViewModel, LiveData, and Room to accelerate development and build robust apps by eliminating boilerplate code. The document also covers other Jetpack components like Data Binding, Navigation, Lifecycles, and Testing to further improve the development process.
The new and smart way to build microservices - Eclipse MicroProfileEmily Jiang
Emily Jiang presents on MicroProfile, a community-driven set of lightweight Java APIs for building microservices. MicroProfile aims to provide APIs for common concerns like configuration, fault tolerance, health checking, and more to help build cloud-native Java microservices. It has wide vendor support and specifications are developed through an open community process. MicroProfile services can be deployed to modern platforms like Kubernetes and service meshes like Istio to enable scalable and resilient microservice architectures in the cloud.
Our cloud-native environments are more complex than ever before! So how can we ensure that the applications we’re deploying to them are behaving as we intended them to? This is where effective observability is crucial. It enables us to monitor our applications in real-time and analyse and diagnose their behaviour in the cloud. However, until recently, we were lacking the standardization to ensure our observability solutions were applicable across different platforms and technologies. In this session, we’ll delve into what effective observability really means, exploring open source technologies and specifications, like OpenTelemetry, that can help us to achieve this while ensuring our applications remain flexible and portable.
Observability and Orchestration of your GitOps Deployments with KeptnAndreas Grabner
GitOps has become the default way to manage configuration in cloud native environments with tools like Argo or Flux keeping Git and K8s in sync.
But GitOps lacks end-2-end traceability when GitOps operators make changes on the target environments. And as k8s lacks application awareness its hard to enforce pre- and post-deployment orchestration task such as sending notifications upon successful app delivery or validating all SLOs are healthy for a new version.
The CNCF project Keptn is addressing those challenges by automatically providing End-2-End Observability through OpenTelemetry as well as introducing an application deployment lifecycle events enabling pre- and post-deployment checks natively on k8s.
Keptn therefore extends your GitOps approach with the missing observability and orchestration needed for successful cloud native development.
The document discusses RESTful APIs and ASP.NET Core. It begins by asking why RESTful APIs are needed and defines RESTful as being represented by URIs, HTTP methods, and hypermedia. It covers the six constraints of RESTful design including being client-server, having a uniform interface, being stateless, cacheable, using a layered system, and optionally having code on demand. It provides examples of RESTful routing in ASP.NET Core and adding support for XML, versioning, and HATEOAS. Finally, it emphasizes that not all APIs must be RESTful and to design with clients in mind rather than forcing RESTful implementation.
Don't Deploy Into the Dark: DORA Metrics for your K8s GitOps DeploymentsAndreas Grabner
This talk was given at Boston Cloud Native Meetup on Feb 9th 2023
DORA’s Four Key DevOps have gained much attention as they provide critical insights into an organization’s maturity in automating the delivery of high-quality software. Google provides a blueprint implementation which requires extending your existing delivery pipelines (Jenkins, Argo, Flux, GitHub, GitLab …) to push those metrics to an external database. While doable, many platform engineers we spoke to are seeking an alternative solution and more cloud-native approach.
The CNCF project Keptn saw this as an opportunity to provide a K8s- & Cloud-Native solution that provides 100% coverage, WITHOUT changing pipelines and using OpenTelemetry as standard collection framework.
Join this talk where Andi (Andreas) Grabner, DevRel at Keptn, will show you how you can use Keptn’s Lifecyle Toolkit to get your DORA metrics within 5 minutes. Andi also covers how the Lifecycle Toolkit brings application-awareness into your deployments and allows you to execute pre- and post-deployment checks as serverless functions – all declaratively as part of your existing K8s CRDs.
Microservices for the Masses with Spring Boot, JHipster, and OAuth - South We...Matt Raible
The document summarizes a presentation about microservices using Spring Boot, JHipster, and OAuth. It includes an agenda that covers an introduction to microservices, developing microservices with JHipster, and deploying microservices to the cloud. It then describes demos of creating microservices using Spring Boot and Spring Cloud and consuming APIs using Feign clients in a gateway. Finally, it discusses JHipster's features for microservices and progressive web applications, as well as the JHipster roadmap.
Similar to Master a Cloud Native Standard - MicroProfile.pdf (20)
Emily Jiang gave a presentation on the future of Java developers and AI. She discussed how AI tools like IBM's WatsonX can help with tasks like code generation and debugging to improve developer experience. While some jobs may be at risk of replacement by AI, such as data entry clerks, new jobs will be created like AI model trainers. Developers should embrace AI, stay up to date on new technologies, learn new skills focused on areas like architecture and innovation, and not worry about being replaced by AI. The talk concluded with Emily thanking the audience and providing her contact information.
Hybrid Cloud Applications Built with Pure Openness
It showcases the cool open technologies MicroProfile, Jakarta EE and Open Liberty ideal for building the modern Hybrid Cloud Applications.
This document discusses NoSQL databases and Jakarta Data, which aims to unify data access. It provides examples of using Jakarta Data annotations to define entities, repositories, and queries for NoSQL databases. Key features discussed include basic CRUD operations, named parameters, sorting, pagination, and keyset pagination to improve efficiency. A demo of Jakarta Data on Open Liberty is referenced that implements entities, repositories, and services for accessing crew member data.
- Microservices originated as an evolution from monolithic applications and technologies like EJBs and SOAP/REST, promoting principles like independent deployability and team ownership.
- While microservices are useful, adopting them fully comes with difficulties around domain-driven design, operations, and converting monoliths.
- Rather than debate microservices vs. monoliths, the focus should be on cloud native applications, which may incorporate properties of both along with containerization, APIs, and serverless architectures. The future lies in approaches like GraalVM native images and InstantOn that enhance applications for the cloud.
WhatsApp offers simple, reliable, and private messaging and calling services for free worldwide. With end-to-end encryption, your personal messages and calls are secure, ensuring only you and the recipient can access them. Enjoy voice and video calls to stay connected with loved ones or colleagues. Express yourself using stickers, GIFs, or by sharing moments on Status. WhatsApp Business enables global customer outreach, facilitating sales growth and relationship building through showcasing products and services. Stay connected effortlessly with group chats for planning outings with friends or staying updated on family conversations.
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeAftab Hussain
Understanding variable roles in code has been found to be helpful by students
in learning programming -- could variable roles help deep neural models in
performing coding tasks? We do an exploratory study.
- These are slides of the talk given at InteNSE'23: The 1st International Workshop on Interpretability and Robustness in Neural Software Engineering, co-located with the 45th International Conference on Software Engineering, ICSE 2023, Melbourne Australia
What is Augmented Reality Image Trackingpavan998932
Augmented Reality (AR) Image Tracking is a technology that enables AR applications to recognize and track images in the real world, overlaying digital content onto them. This enhances the user's interaction with their environment by providing additional information and interactive elements directly tied to physical images.
Microservice Teams - How the cloud changes the way we workSven Peters
A lot of technical challenges and complexity come with building a cloud-native and distributed architecture. The way we develop backend software has fundamentally changed in the last ten years. Managing a microservices architecture demands a lot of us to ensure observability and operational resiliency. But did you also change the way you run your development teams?
Sven will talk about Atlassian’s journey from a monolith to a multi-tenanted architecture and how it affected the way the engineering teams work. You will learn how we shifted to service ownership, moved to more autonomous teams (and its challenges), and established platform and enablement teams.
Odoo ERP software
Odoo ERP software, a leading open-source software for Enterprise Resource Planning (ERP) and business management, has recently launched its latest version, Odoo 17 Community Edition. This update introduces a range of new features and enhancements designed to streamline business operations and support growth.
The Odoo Community serves as a cost-free edition within the Odoo suite of ERP systems. Tailored to accommodate the standard needs of business operations, it provides a robust platform suitable for organisations of different sizes and business sectors. Within the Odoo Community Edition, users can access a variety of essential features and services essential for managing day-to-day tasks efficiently.
This blog presents a detailed overview of the features available within the Odoo 17 Community edition, and the differences between Odoo 17 community and enterprise editions, aiming to equip you with the necessary information to make an informed decision about its suitability for your business.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Crescat
Crescat is industry-trusted event management software, built by event professionals for event professionals. Founded in 2017, we have three key products tailored for the live event industry.
Crescat Event for concert promoters and event agencies. Crescat Venue for music venues, conference centers, wedding venues, concert halls and more. And Crescat Festival for festivals, conferences and complex events.
With a wide range of popular features such as event scheduling, shift management, volunteer and crew coordination, artist booking and much more, Crescat is designed for customisation and ease-of-use.
Over 125,000 events have been planned in Crescat and with hundreds of customers of all shapes and sizes, from boutique event agencies through to international concert promoters, Crescat is rigged for success. What's more, we highly value feedback from our users and we are constantly improving our software with updates, new features and improvements.
If you plan events, run a venue or produce festivals and you're looking for ways to make your life easier, then we have a solution for you. Try our software for free or schedule a no-obligation demo with one of our product specialists today at crescat.io
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemPeter Muessig
Learn about the latest innovations in and around OpenUI5/SAPUI5: UI5 Tooling, UI5 linter, UI5 Web Components, Web Components Integration, UI5 2.x, UI5 GenAI.
Recording:
https://www.youtube.com/live/MSdGLG2zLy8?si=INxBHTqkwHhxV5Ta&t=0
8 Best Automated Android App Testing Tool and Framework in 2024.pdfkalichargn70th171
Regarding mobile operating systems, two major players dominate our thoughts: Android and iPhone. With Android leading the market, software development companies are focused on delivering apps compatible with this OS. Ensuring an app's functionality across various Android devices, OS versions, and hardware specifications is critical, making Android app testing essential.
Hand Rolled Applicative User ValidationCode KataPhilip Schwarz
Could you use a simple piece of Scala validation code (granted, a very simplistic one too!) that you can rewrite, now and again, to refresh your basic understanding of Applicative operators <*>, <*, *>?
The goal is not to write perfect code showcasing validation, but rather, to provide a small, rough-and ready exercise to reinforce your muscle-memory.
Despite its grandiose-sounding title, this deck consists of just three slides showing the Scala 3 code to be rewritten whenever the details of the operators begin to fade away.
The code is my rough and ready translation of a Haskell user-validation program found in a book called Finding Success (and Failure) in Haskell - Fall in love with applicative functors.
E-commerce Development Services- Hornet DynamicsHornet Dynamics
For any business hoping to succeed in the digital age, having a strong online presence is crucial. We offer Ecommerce Development Services that are customized according to your business requirements and client preferences, enabling you to create a dynamic, safe, and user-friendly online store.
Do you want Software for your Business? Visit Deuglo
Deuglo has top Software Developers in India. They are experts in software development and help design and create custom Software solutions.
Deuglo follows seven steps methods for delivering their services to their customers. They called it the Software development life cycle process (SDLC).
Requirement — Collecting the Requirements is the first Phase in the SSLC process.
Feasibility Study — after completing the requirement process they move to the design phase.
Design — in this phase, they start designing the software.
Coding — when designing is completed, the developers start coding for the software.
Testing — in this phase when the coding of the software is done the testing team will start testing.
Installation — after completion of testing, the application opens to the live server and launches!
Maintenance — after completing the software development, customers start using the software.
E-commerce Application Development Company.pdfHornet Dynamics
Your business can reach new heights with our assistance as we design solutions that are specifically appropriate for your goals and vision. Our eCommerce application solutions can digitally coordinate all retail operations processes to meet the demands of the marketplace while maintaining business continuity.
Using Query Store in Azure PostgreSQL to Understand Query PerformanceGrant Fritchey
Microsoft has added an excellent new extension in PostgreSQL on their Azure Platform. This session, presented at Posette 2024, covers what Query Store is and the types of information you can get out of it.
6. MicroProfile 1.0
(Fall 2016)
MicroProfile 1.1
(Aug. 2017)
MicroProfile 1.2
(Sept 2017)
2017
2018
MicroProfile 1.3
(Dec 2017)
MicroProfile 1.4
(June 2018)
2019
MicroProfile 2.0.1
(July 2018)
MicroProfile 2.1
(Oct 2018)
MicroProfile 2.2
(Feb 2019)
MicroProfile 3.0
(June 2019)
MicroProfile 3.2
(Nov 2019)
2020
MicroProfile 3.3
(Feb 2020)
MicroProfile 4.0
(Oct. 2020)
MicroProfile 4.1
(July. 2021)
MicroProfile 5.0
(Dec. 2021)
Config 3.0
Metrics 4.0
Fault Tolerance 4.0
Health 4.0
Rest Client 3.0
OpenAPI 3.0
OpenTracing 3.0
JWT Auth 2.0
Jakarta CDI 3.0 //Jakarta EE 9.1
Jakarta RESTful Web Services //Jakarta EE 9.1
Jakarta JSON-P //Jakarta EE 9.1
Jakarta JSON-B 2.0 //Jakarta EE 9.1
Jakarta Annotations 2.0 //Jakarta EE 9.1
2022
2021
MicroProfile 6.0
(Dec. 2022)
Config 3.0
Metrics 5.0
Fault Tolerance 4.0
Health 4.0
Rest Client 3.0
OpenAPI 3.1
Telemetry 1.0
JWT Auth 2.1
Jakarta EE 10 Core Profile
MicroProfile 6.1
(Oct. 2023)
Config 3.1
Metrics 5.1
Fault Tolerance 4.0
Health 4.0
Rest Client 3.0
OpenAPI 3.1
Telemetry 1.1
JWT Auth 2.1
Jakarta EE 10 Core
Profile
2023
2024
MicroProfile 7.0
(2024)
Config 3.1
Fault Tolerance 4.1
Health 4.0
Rest Client 4.0
OpenAPI 4.0
Telemetry 2.0
JWT Auth 2.1
7. MicroProfile
Health Metrics
Fault
Tolerance
Open API Config
Telemetry
JWT
Rest Client
GraphQL
Reactive
Streams
Operators
Reactive
Messaging
Context
Propagation
Platform Release
Standalone Release
Jakarta EE
Core Profile
LRA
Open Tracing
8. MicroProfile 6.1 in Oct. 2023
Health 4.0 Metrics 5.1
Fault
Tolerance 4.0
Open API 3.1 Config 3.1
Telemetry 1.1
JWT 2.1
Rest Client
3.0
Jakarta EE 10
Core Profile
Updated specs Unchanged specs Jakarta EE 10 Core Profile specs
Core
Integrate
Observe
9. MicroProfile 7.0 in 2024
Health 4.0
Fault
Tolerance 4.1
Open API 4.0 Config 3.1
Telemetry 2.0
JWT 2.1
Rest Client
4.0
Jakarta EE 10
Core Profile
Updated specs Unchanged specs Jakarta EE 10 Core Profile specs
Core
Integrate
Observe
– The release date is subject to change.
11. 11
Use case: As a developer, I need
to create a microservice working
in a cloud.
12. Jakarta REST
B
@ApplicationPath("System")
public class SystemApplication extends
Application {}
@Path("properties")
public class PropertiesResource {
@GET
@Produces(MediaType.APPLICATION_JSON)
public JsonObject getProperties() {…}
}
13. 13
I need to configure my services in
my deployment environment
14. A
MicroProfile Config
B
@Inject
@ConfigProperty(name = "inMaintenance")
private Provider<Boolean> inMaintenance;
config_ordinal=100
inMaintenance=false
{
"config_ordinal":150,
"inMaintenance":true
}
https://github.com/eclipse/microprofile-config/
18. MicroProfile OpenAPI
A B
openapi: 3.0.0
info:
title: Inventory App
description: App for storing JVM system properties of various
hosts.
license:
name: Eclipse Public License - v 1.0
url: https://www.eclipse.org/legal/epl-v10.html
version: "1.0"
servers: - url: http://localhost:{port} description: Simple Open
Liberty.
variables:
port:
description: Server HTTP port.
default: "9080"
paths:
/inventory/systems:
get:
summary: List inventory contents.
description: Returns the currently stored host:properties
pairs in the inventory.
operationId: listContents
responses:
200:
description: host:properties pairs stored in the inventory.
content:
application/json:
schema:
$ref: '#/components/schemas/InventoryList’
….
http://localhost:9080/openapi/ui
https://github.com/eclipse/microprofile-open-api/
19. 19
I need to protect my services to
prevent from unauthorized
access
20. MicroProfile JWT
A B
@GET
@RolesAllowed({ "admin", "user" })
@Path("{hostname}")
@Produces(MediaType.APPLICATION_JSON)
public Response getPropertiesForHost(@PathParam("hostname") String hostname,
@Context HttpHeaders httpHeaders) {…}
https://github.com/eclipse/microprofile-jwt-auth/
21. 21
I need to provide a good
response to my clients no matter
what happens.
22. MicroProfile Fault Tolerance
A B
@Fallback(fallbackMethod = "fallbackForGet")
public Properties get(String hostname) throws IOException
{
return invUtils.getProperties(hostname);
}
https://github.com/eclipse/microprofile-fault-tolerance/
23. MicroProfile Fault Tolerance
– The annotations can be used together.
– When MicroProfile Metrics is enabled, their usages are monitored.
– The values can be configured via MicroProfile Config.
@Retry @Timeout @CircuitBreaker
@Bulkhead @Asynchronous @Fallback
24. 24
I need to ensure they work in the
Cloud and observe them.
26. 26
I need my service to
communicate with Kubernetes
so that requests can be routed
when my service is ready.
27. MicroProfile Health
A B
@Readiness
@ApplicationScoped
public class InventoryResource implements HealthCheck {
...
public boolean isHealthy() {...}
@Override
public HealthCheckResponse call() {
if (!isHealthy()) {
return
HealthCheckResponse.named(“ServiceHealthCheck”).withData(…).down().build();
}
return
HealthCheckResponse.named(“ServiceHealthCheck”).withData(…).up().build();
}
}
https://github.com/eclipse/microprofile-health/
28. MicroProfile Health 3.1
Startup Probe
Liveness Probe
Readiness Probe
mpHealth-3.1 feature Application provided health
checks
/health
/health/ready
/health/live
Health Check D
@Readiness
Health Check E
@Readiness
Health Check C
@Liveness
/health/started
Health Check A
@Startup
Health Check B
@Startup
Application 1
HTTP GET
In Kubernetes, when the startup probe is
configured, the liveness and readiness checks
are disabled, until it succeeds.
Kubernetes
30. MicroProfile Metrics
A B
@Timed(name = "inventoryPropertiesRequestTime”,
description = "Time needed to get the properties of" +
"a system from the given hostname")
public Properties get(String hostname) {
return invUtils.getProperties(hostname);
}
https://github.com/eclipse/microprofile-metrics/
31. MicroProfile Metrics 5.1
Influenced by Micrometer
All metrics are under /metrics endpoint.
Data is returned from /metrics calls in the Prometheus 0.0.4 exposition format.
Implementation can use Micrometer or OpenTelemetry Metrics
32. MicroProfile Metrics 5.1
Liberty mpMetrics-5.1
• Tracks metrics from Liberty components and the JVM to help you understand how your servers are performing.
• Provides the MicroProfile Metrics API, which you can use to add metrics to your applications.
• Provides the ability to group application metrics into custom scopes and allows querying of metrics by those scopes.
• Is based on Micrometer - can ship metrics to your choice of monitoring systems (currently including AppOptics, Azure Monitor, Netflix Atlas,
CloudWatch, Datadog, Dynatrace, Elastic, Ganglia, Graphite, Humio, Influx/Telegraf, JMX, KairosDB, New Relic, Prometheus, SignalFx,
Google Stackdriver, StatsD, and Wavefront.)
Micrometer and Prometheus meter registry included in
mpMetrics-5.0.
Provide other meter registries if you want to connect to a different
monitoring system.
33. 33
I need to identify the root cause
if something goes wrong.
34. MicroProfile Telemetry
A B
@WithSpan(name=“list”)
public InventoryList list() {
return new InventoryList(systems);
}
Jakarta REST methods are
automatically traced by default
https://github.com/eclipse/microprofile-telemetry/
35. MicroProfile Telemetry
35
• Adopts OpenTelemetry Tracing
• Set of APIs, SDKs, tooling and integrations
• Designed for the creation and management of
telemetry data (traces, metrics, and logs)
• Supports 3 instrumentations:
• Manual
• Automatic
• Java Agent
36. MicroProfile Telemetry
• Support Java agent instrumentation
-javaagent:opentelemetry-javaagent.jar
-Dotel.service.name=<name>
-Dotel.traces.exporter=jaeger
-Dotel.instrumentation.opentelemetry-api.enabled=false
• Automatically tracing of REST (server and client) calls, and MicroProfile REST Client calls
without code modification.
• Manual instrumentation using OpenTelemetry API
–@WithSpan
–@SpanAttribute
–@Inject io.opentelemetry.api.OpenTelemetry
–@Inject io.opentelemetry.api.trace.Tracer
–@Inject io.opentelemetry.api.trace.Span
–@Inject io.opentelemetry.api.baggage.Baggage
java -javaagent:path/to/opentelemetry-javaagent.jar
-Dotel.service.name=your-service-name
-Dotel.traces.exporter=zipkin
-jar myapp.jar
37. How MP Telemetry works
– https://openliberty.io/guides/microprofile-telemetry-jaeger.html
40. MicroProfile Config with Kubernetes
A B
env:
- name: GREETING
valueFrom:
configMapKeyRef:
name: greeting-config
key: message
kubectl create configmap greeting-config --from-literal message=Hello...
@Inject
@ConfigProperty(name = "GREETING")
private String greeting;
41. MicroProfile Health with Kubernetes
A B
readinessProbe:
httpGet:
path: /health/ready
port: 9080
initialDelaySeconds: 15
periodSeconds: 5
failureThreshold: 1
42. MicroProfile Metrics with Kubernetes
A B
@POST
@Counted(name="order", displayName="Order count",
description="Number of times orders requested.")
public Response orderCoffee(@Valid @NotNull CoffeeOrder order) {
...
}
Data in OpenMetrics
format
Collect and store data
with Prometheus
Visualize data with
Grafana
47. MicroProfile Reactive Messaging
The MicroProfile Reactive Messaging API provides a simple way to configure the streams and event queues
using annotations
– https://openliberty.io/guides/microprofile-reactive-messaging.html
49. 49
How to do transactions in
microservices? SAGA pattern?
50. MicroProfile LRA
• Cloud Native Transaction model based on compensating Saga model
• Loosely coupled µServices with eventually consistent data
LRA Coordinator
µS A µS B µS C
• Orchestration via a Coordinator Service that Participant
µServices registers with
• Annotations for joining, completing and compensating
transactions
51. MicroProfile LRA
Need to maintain data consistency across multiple µservices
where each has their own data.
The multiple operations form the atomic action which needs to be
process together
In the case of failures compensation actions are invoked
Flight
µS
Book
Taxi µS
Hotel
µS
Book Book
Flight
µS
Taxi µS
Hotel
µS
Confirm Confirm
Confirm
Start LRA
End LRA
Successful
Flight
µS
Book
Taxi µS
Hotel
µS
Book Book
Flight
µS
Book
Taxi µS
Hotel
µS
Book Book
Flight
µS
Taxi µS
Failed
Compensate
Compensate
Start LRA
End LRA
❌
Error
In the case of success, complete actions are invoked
52. 52
I need to frequently
query/update data. What should
I do?
53. MicroProfile GraphQL
• Avoiding over-fetching or under-fetching
data.
• Enabling data models to evolve, schema
driven.
• Provide a "code-first" set of APIs that will
enable users to quickly develop portable
GraphQL-based applications in Java
– GraphQL Entities
Scalars, or simple type
Enumerable types (similar to Java Enum)
Complex objects : scalars and/or enums and/or other complex objects and/or collections of these.
– GraphQL Components
– @GraphQLApi : GraphQL endpoints must be annotated with the @GraphQLApi annotation.
– @Query: allows a user to ask for all or specific fields on an object or collection of objects.
– @Mutation: create new entities or update or delete existing entities.
– https://openliberty.io/guides/microprofile-graphql.html
61. MicroProfile in 2024
● MicroProfile 7.0 in 3Q 2024
○ Adopt OpenTelemetry Metrics in MicroProfile Telemetry 2.0
○ Move MicroProfile Metrics to be a standalone spec
○ Make Jakarta EE Core Profile dependency loosely coupled
○ The updated specifications: Telemetry 2.0, Fault Tolerance 4.1, OpenAPI 4.0, Rest
Client 4.0
● New specifications
○ Evaluate a new specification: AI with the focus on LLM
■ If interested, join the weekly Monday AI group discussions
61