This document discusses IBM Semeru Runtimes for improving Java workloads in the cloud. It covers:
- Semeru Runtimes are optimized OpenJDK runtimes from IBM that provide smaller container images, faster startup times, and more efficient resource utilization for Java applications in cloud environments.
- Techniques used include using smaller base images, ahead-of-time compilation, shared class caching, and container awareness to size memory usage appropriately.
- Semeru Runtimes also provide tools for live debugging of containerized Java applications without restarting containers.
- Upcoming features will include support for the new cgroups version 2 for more advanced Linux container resource management.
Hearts Of Darkness - a Spring DevOps ApocalypseJoris Kuipers
In this talk Joris shares several real-life failure cases concerning running Spring applications in production. Examples include services being killed because of health check issues, Micrometer metrics getting lost, circuit breakers never closing after opening, OOM errors caused by unbounded queues and other nightmarish scenario’s. Not only will you come to understand how these problems could sneak through staging to make their way to production, you will also be given practical tips on how to avoid these things from happening to your own applications. Otto von Bismarck famously said “Fools say that they learn by experience. I prefer to profit by others’ experience”. Don’t be a fool, and profit by viewing this talk!
Graal is a dynamic meta-circular research compiler for Java that is designed for extensibility and modularity. One of its main distinguishing elements is the handling of optimistic assumptions obtained via profiling feedback and the representation of deoptimization guards in the compiled code. Truffle is a self-optimizing runtime system on top of Graal that uses partial evaluation to derive compiled code from interpreters. Truffle is suitable for creating high-performance implementations for dynamic languages with only moderate effort. The presentation includes a description of the Truffle multi-language API and performance comparisons within the industry of current prototype Truffle language implementations (JavaScript, Ruby, and R). Both Graal and Truffle are open source and form themselves research platforms in the area of virtual machine and programming language implementation (http://openjdk.java.net/projects/graal/).
Making The Move To Java 17 (JConf 2022)Alex Motley
Are your applications still running on Java 8 or even older, unsupported versions? Or maybe you've already made the move to Java 11? Thinking about switching your application to run on Java 17 and not sure where to start? There is a lot to think about when it comes to planning a Java migration, but there are tools and strategies that can help! Come to this session to learn about the significant changes in Java that might impact your application. Topics include the removal of APIs (such as Java EE packages) and behavior changes resulting from moving an application running previous Java versions to Java 17. Learn about tools to use that help you identify potential issues within your application and how to resolve them! The discussion is informative to developers and system administrations who are interested in evaluating applications before they are migrated and while making the code changes.
source : http://www.opennaru.com/jboss/jboss-core-services-collection/
JBCS ( JBoss Core Services Collection )는 엔터프라이즈 애플리케이션에서 필요한 일반적이고 기본적인 빌딩블록을 제공합니다.
여기에는 Red Hat SSO (Single SIgn On) 과 웹서버 그리고 관리와 모니터링을 위한 JON 등이 포함됩니다.
다음과 같은 컴포넌트가 포함됩니다.
JON : 레드햇 미들웨어에 대한 모니터링과 관리 서버
Apache HTTP 서버 : 웹서버
Red Hat SSO : 오픈소스인 Keycloak 프로젝트를 기반으로 SSO를 구현하며, Open ID Connection, SAML 그리고 OAth2와 같은 개방형 표준 인증 방법을 지원.
Apache Commons Jsvc : 유닉스 및 유닉스 기반 플랫폼 (Linux)에서 자바 애플리케이션을 데몬화할 수 있도록하는 유틸리티
Microsoft의 “IIS”와 Oracle의 “Oracle iPlanet Web Server” 웹 서버에 대한 커넥터
“Core Services Collection”의 사용권은 JBoss EAP 서브스크립션에 무료로 포함되며, 해당 제품들에 대한 온라인 지원, 전화 지원, 업데이트, 패치 및 보안 문제 해결 등의 기술지원이 포함됩니다
Join Red Hat and Vodafone for an exciting presentation on the benefits of Quarkus over competing technologies. Hear from Vodafone's experts about their successful transition to Quarkus from Spring and discover how Quarkus can help your organization cut cloud costs, improve cluster stability, and achieve better performance.
A live demo will showcase the power of Quarkus through examples of HTTP requests, security approaches, exception handling, logging, and more.
In summary, this informative session will provide you valuable insights into the benefits of using Quarkus while also getting real world performance and development time numbers from Vodafone, information which can and should influence your next decisions on what Server Side Java technology to choose!
Hearts Of Darkness - a Spring DevOps ApocalypseJoris Kuipers
In this talk Joris shares several real-life failure cases concerning running Spring applications in production. Examples include services being killed because of health check issues, Micrometer metrics getting lost, circuit breakers never closing after opening, OOM errors caused by unbounded queues and other nightmarish scenario’s. Not only will you come to understand how these problems could sneak through staging to make their way to production, you will also be given practical tips on how to avoid these things from happening to your own applications. Otto von Bismarck famously said “Fools say that they learn by experience. I prefer to profit by others’ experience”. Don’t be a fool, and profit by viewing this talk!
Graal is a dynamic meta-circular research compiler for Java that is designed for extensibility and modularity. One of its main distinguishing elements is the handling of optimistic assumptions obtained via profiling feedback and the representation of deoptimization guards in the compiled code. Truffle is a self-optimizing runtime system on top of Graal that uses partial evaluation to derive compiled code from interpreters. Truffle is suitable for creating high-performance implementations for dynamic languages with only moderate effort. The presentation includes a description of the Truffle multi-language API and performance comparisons within the industry of current prototype Truffle language implementations (JavaScript, Ruby, and R). Both Graal and Truffle are open source and form themselves research platforms in the area of virtual machine and programming language implementation (http://openjdk.java.net/projects/graal/).
Making The Move To Java 17 (JConf 2022)Alex Motley
Are your applications still running on Java 8 or even older, unsupported versions? Or maybe you've already made the move to Java 11? Thinking about switching your application to run on Java 17 and not sure where to start? There is a lot to think about when it comes to planning a Java migration, but there are tools and strategies that can help! Come to this session to learn about the significant changes in Java that might impact your application. Topics include the removal of APIs (such as Java EE packages) and behavior changes resulting from moving an application running previous Java versions to Java 17. Learn about tools to use that help you identify potential issues within your application and how to resolve them! The discussion is informative to developers and system administrations who are interested in evaluating applications before they are migrated and while making the code changes.
source : http://www.opennaru.com/jboss/jboss-core-services-collection/
JBCS ( JBoss Core Services Collection )는 엔터프라이즈 애플리케이션에서 필요한 일반적이고 기본적인 빌딩블록을 제공합니다.
여기에는 Red Hat SSO (Single SIgn On) 과 웹서버 그리고 관리와 모니터링을 위한 JON 등이 포함됩니다.
다음과 같은 컴포넌트가 포함됩니다.
JON : 레드햇 미들웨어에 대한 모니터링과 관리 서버
Apache HTTP 서버 : 웹서버
Red Hat SSO : 오픈소스인 Keycloak 프로젝트를 기반으로 SSO를 구현하며, Open ID Connection, SAML 그리고 OAth2와 같은 개방형 표준 인증 방법을 지원.
Apache Commons Jsvc : 유닉스 및 유닉스 기반 플랫폼 (Linux)에서 자바 애플리케이션을 데몬화할 수 있도록하는 유틸리티
Microsoft의 “IIS”와 Oracle의 “Oracle iPlanet Web Server” 웹 서버에 대한 커넥터
“Core Services Collection”의 사용권은 JBoss EAP 서브스크립션에 무료로 포함되며, 해당 제품들에 대한 온라인 지원, 전화 지원, 업데이트, 패치 및 보안 문제 해결 등의 기술지원이 포함됩니다
Join Red Hat and Vodafone for an exciting presentation on the benefits of Quarkus over competing technologies. Hear from Vodafone's experts about their successful transition to Quarkus from Spring and discover how Quarkus can help your organization cut cloud costs, improve cluster stability, and achieve better performance.
A live demo will showcase the power of Quarkus through examples of HTTP requests, security approaches, exception handling, logging, and more.
In summary, this informative session will provide you valuable insights into the benefits of using Quarkus while also getting real world performance and development time numbers from Vodafone, information which can and should influence your next decisions on what Server Side Java technology to choose!
VM과 컨테이너 상에서 Apache & Tomcat 설치, 실행 그리고 배포 데모
데모 요약 : 수작업으로 진행하는 가상화환경과 OCP 환경(Dockerfile)의
간단한 apache / tomcat 설치 및 실행하는 비교 데모 입니다.
데모 내용 : 물리서버 또는 가상화 환경에서 수작업으로 진행했던 배포 작업들이 컨테이너 환경에서 원클릭으로 배포하는 영상을 보여주는 데모입니다. 컨테이너 환경에서의
배포는 수작업으로 하는 배포 대비 상상이상의 시간을 아낄 수 있습니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
Huge JRE images were a huge problem for packaging and deploying small and lightweight tools based on Java. Have you tried to reduce Java runtime images? You will be surprised how well that works. From JDK 9 a minimal image targeting desktops can be as small as 18MB!This is a huge improvement but how does this black-magic work? I will be wowing you with an overview of Java’s custom runtime image tooling and present a interactive demo on how to create a mini Java runtime image file. We bust the myths around Java cloud computing and show you how to embraced Cloud Orientated development with Java. See how the new Java module system works with general patterns for developing a modular Java Cloud application.
Secrets of Performance Tuning Java on KubernetesBruno Borges
Java on Kubernetes may seem complicated, but after a bit of YAML and Dockerfiles, you will wonder what all that fuss was. But then the performance of your app in 1 CPU/1 GB of RAM makes you wonder. Learn how JVM ergonomics, CPU throttling, and GCs can help increase performance while reducing costs.
Fast as C: How to Write Really Terrible JavaCharles Nutter
For years we’ve been told that the JVM’s amazing optimizers can take your running code and make it “fast” or “as fast as C++” or “as fast as C”…or sometimes “faster than C”. And yet we don’t often see this happen in practice, due in large part to (good and bad) development patterns that have taken hold in the Java world.
In this talk, we’ll explore the main reasons why Java code rarely runs as fast as C or C++ and how you can write really bad Java code that the JVM will do a better job of optimizing. We’ll take some popular microbenchmarks and burn them to the ground, monitoring JIT logs and assembly dumps along the way.
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...Amazon Web Services Korea
발표영상 다시보기: https://youtu.be/il8wpd7gxe8
CI/CD 기술을 통해 팀은 민첩성을 높이고 고품질 제품을 신속하게 출시 할 수 있습니다. 이 강의에서는 컨테이너화 된 응용 프로그램을 관리 할 수 있도록 CI/CD 워크 플로우 작성을위한 모범 사례를 안내합니다. AWS Cloud Development Kit를 사용하여 코드 애플리케이션 모델로 인프라를 다루고 AWS CodePipeline 및 AWS CodeBuild를 사용하여 CI/CD 릴리스 파이프 라인을 설정하는 방법을 보여줍니다. 마지막으로 AWS CodeDeploy를 사용한 안전한 배포 자동화에 대해 설명합니다.
재해복구에 대한 대비는 온프레미스를 이용할때나, 클라우드를 이용할때나 항상 중요합니다. 이 세션에서는 AWS Backup을 활용하여 최소한의 비용으로 클라우드 환경에서 운영 중인 시스템에 대한 멀티 리전 재해복구를 자동화하는 방안을 살펴봅니다. 더불어 온프레미스에서 운영중인 시스템에 대한 재해복구를 비용 효율적으로 자동화하기 위해 어떻게 AWS Elastic Disaster Recovery를 활용할 수 있는지도 알아봅니다. AWS 서비스를 활용해 대부분의 시간 동안 유휴 상태인 복구 사이트에 대한 비용을 최소화하면서도 재해복구를 자동화할 수 있습니다.
Introducing Amazon EKS Anywhere On Apache CloudStackShapeBlue
Amazon EKS Anywhere is a deployment option for Amazon EKS that enables customers to create and operate Kubernetes clusters on customer-managed infrastructure, supported by AWS. Customers can already run Amazon EKS Anywhere on their own on-premises infrastructure on bare metal servers or using VMware vSphere. In this session, you will learn about the Cluster API provider for Apache CloudStack, and how customers can now create and operate Amazon EKS Anywhere clusters on Apache CloudStack environments on-premises.
Vipin Mohan is a Principal Product Manager in the Kubernetes team at Amazon Web Services. He enjoys building products and delivering delightful customer experiences. Outside of work, he loves reading about financial investing and entrepreneurship and exploring the world through the eyes of his two kids.
Max is a CAPC and EKS-Anywhere developer, avid hiker and rock climber, and enjoys playing Rocket League and exploring the world with his wife and dog. He's personally interested in self-driving technology and wants to eventually retire in a cabin in the mountains with a wood-burning stove and a hot tub.
-----------------------------------------
CloudStack Collaboration Conference 2022 took place on 14th-16th November in Sofia, Bulgaria and virtually. The day saw a hybrid get-together of the global CloudStack community hosting 370 attendees. The event hosted 43 sessions from leading CloudStack experts, users and skilful engineers from the open-source world, which included: technical talks, user stories, new features and integrations presentations and more.
Easy Java Integration Testing with TestcontainersPayara
Having problems creating a maintainable set of integration tests for your enterprise Java application? This talk will help you understand how to use Test containers to implement easy integration tests for your next project!
Simplifying Integration Tests for Enterprise Java
Integration testing is always a difficult area. You need to make sure that all system dependencies are prepared, data is correctly initialised for each run and test runs do not interfere with each other. Even with tools like the Arquillian Framework, writing integration tests can be a complicated task and the act of maintaining large sets of tests can become a nightmare if there's not enough knowledge of all dependencies involved.
With the Testcontainers project, convoluted and complicated integration tests can be a thing of the past. A test container allows you to create reliable integration tests covering a wide range of scenarios like using databases, microservices interactions and even GUI and user experience testing. One of the important factors for the success of this framework is the usage of Docker containers to create a reliable reproducible environment for each test, which separates the dependencies and the application code in a way that it is easy to maintain for developers.
INTEGRATED PLATFORM FOR DATA AND CONTAINERS
Mesosphere Enterprise DC/OS includes everything you need to elastically run containerized apps and data services in production.
Codineers Meetup Rosenheim on 2022-10-20
GraalVMs native-image ermöglicht es, JVM Bytecode direkt in Maschinencode zu übersetzen. Das daraus resultierende Executable benötigt keine JVM zum Laufen, startet schneller und verbraucht weniger Speicher als eine traditionelle JVM-Anwendung – ein Segen für Cloud Computing, bei dem jeder CPU-Cycle und Megabyte an RAM bezahlt werden muss. Wäre es nicht großartig, wenn unser Lieblingsframework, Spring Boot, GraalVM direkt out of the box unterstützen würde? In diesem Talk zeigt Moritz Halbritter, Spring Boot committer, was mit Spring Boot 3 und Spring Framework 6 alles möglich sein wird und erlaubt auch einen Blick unter die Motorhaube, um zu sehen, wie das alles implementiert ist.
You will learn:
• How to use Elastic Beanstalk
• How to run Single and Multi-Container Docker with AWS Elastic Beanstalk
• Best Practices running AWS Elastic Beanstalk
In this Java Spring Training session, you will learn Spring – Inversion of Control, Dependency Injection and Bean definitions. Topics covered in this session are:
For more information, visit this link:
Spring Framework
• Core Container
• Data Access/Integration
• Web Layer
• Spring Setup
• Key features
• Spring Bean
• Dependency Injection
• Relation between DI and IoC
• Spring IoC Containers
• Spring DI
https://www.mindsmapped.com/courses/software-development/spring-fundamentals-learn-spring-framework-and-spring-boot/
VM과 컨테이너 상에서 Apache & Tomcat 설치, 실행 그리고 배포 데모
데모 요약 : 수작업으로 진행하는 가상화환경과 OCP 환경(Dockerfile)의
간단한 apache / tomcat 설치 및 실행하는 비교 데모 입니다.
데모 내용 : 물리서버 또는 가상화 환경에서 수작업으로 진행했던 배포 작업들이 컨테이너 환경에서 원클릭으로 배포하는 영상을 보여주는 데모입니다. 컨테이너 환경에서의
배포는 수작업으로 하는 배포 대비 상상이상의 시간을 아낄 수 있습니다.
오픈나루 데모 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%eb%8d%b0%eb%aa%a8-%ec%9c%a0%ed%8a%9c%eb%b8%8c/
오픈나루 비대면 워크샵 URL : http://www.opennaru.com/seminar/%ed%81%b4%eb%9d%bc%ec%9a%b0%eb%93%9c-%eb%84%a4%ec%9d%b4%ed%8b%b0%eb%b8%8c-%ec%9b%8c%ed%81%ac%ec%83%b5/
Huge JRE images were a huge problem for packaging and deploying small and lightweight tools based on Java. Have you tried to reduce Java runtime images? You will be surprised how well that works. From JDK 9 a minimal image targeting desktops can be as small as 18MB!This is a huge improvement but how does this black-magic work? I will be wowing you with an overview of Java’s custom runtime image tooling and present a interactive demo on how to create a mini Java runtime image file. We bust the myths around Java cloud computing and show you how to embraced Cloud Orientated development with Java. See how the new Java module system works with general patterns for developing a modular Java Cloud application.
Secrets of Performance Tuning Java on KubernetesBruno Borges
Java on Kubernetes may seem complicated, but after a bit of YAML and Dockerfiles, you will wonder what all that fuss was. But then the performance of your app in 1 CPU/1 GB of RAM makes you wonder. Learn how JVM ergonomics, CPU throttling, and GCs can help increase performance while reducing costs.
Fast as C: How to Write Really Terrible JavaCharles Nutter
For years we’ve been told that the JVM’s amazing optimizers can take your running code and make it “fast” or “as fast as C++” or “as fast as C”…or sometimes “faster than C”. And yet we don’t often see this happen in practice, due in large part to (good and bad) development patterns that have taken hold in the Java world.
In this talk, we’ll explore the main reasons why Java code rarely runs as fast as C or C++ and how you can write really bad Java code that the JVM will do a better job of optimizing. We’ll take some popular microbenchmarks and burn them to the ground, monitoring JIT logs and assembly dumps along the way.
AWS Fargate와 Amazon ECS를 사용한 CI/CD 베스트 프랙티스 - 유재석, AWS 솔루션즈 아키텍트 :: AWS Build...Amazon Web Services Korea
발표영상 다시보기: https://youtu.be/il8wpd7gxe8
CI/CD 기술을 통해 팀은 민첩성을 높이고 고품질 제품을 신속하게 출시 할 수 있습니다. 이 강의에서는 컨테이너화 된 응용 프로그램을 관리 할 수 있도록 CI/CD 워크 플로우 작성을위한 모범 사례를 안내합니다. AWS Cloud Development Kit를 사용하여 코드 애플리케이션 모델로 인프라를 다루고 AWS CodePipeline 및 AWS CodeBuild를 사용하여 CI/CD 릴리스 파이프 라인을 설정하는 방법을 보여줍니다. 마지막으로 AWS CodeDeploy를 사용한 안전한 배포 자동화에 대해 설명합니다.
재해복구에 대한 대비는 온프레미스를 이용할때나, 클라우드를 이용할때나 항상 중요합니다. 이 세션에서는 AWS Backup을 활용하여 최소한의 비용으로 클라우드 환경에서 운영 중인 시스템에 대한 멀티 리전 재해복구를 자동화하는 방안을 살펴봅니다. 더불어 온프레미스에서 운영중인 시스템에 대한 재해복구를 비용 효율적으로 자동화하기 위해 어떻게 AWS Elastic Disaster Recovery를 활용할 수 있는지도 알아봅니다. AWS 서비스를 활용해 대부분의 시간 동안 유휴 상태인 복구 사이트에 대한 비용을 최소화하면서도 재해복구를 자동화할 수 있습니다.
Introducing Amazon EKS Anywhere On Apache CloudStackShapeBlue
Amazon EKS Anywhere is a deployment option for Amazon EKS that enables customers to create and operate Kubernetes clusters on customer-managed infrastructure, supported by AWS. Customers can already run Amazon EKS Anywhere on their own on-premises infrastructure on bare metal servers or using VMware vSphere. In this session, you will learn about the Cluster API provider for Apache CloudStack, and how customers can now create and operate Amazon EKS Anywhere clusters on Apache CloudStack environments on-premises.
Vipin Mohan is a Principal Product Manager in the Kubernetes team at Amazon Web Services. He enjoys building products and delivering delightful customer experiences. Outside of work, he loves reading about financial investing and entrepreneurship and exploring the world through the eyes of his two kids.
Max is a CAPC and EKS-Anywhere developer, avid hiker and rock climber, and enjoys playing Rocket League and exploring the world with his wife and dog. He's personally interested in self-driving technology and wants to eventually retire in a cabin in the mountains with a wood-burning stove and a hot tub.
-----------------------------------------
CloudStack Collaboration Conference 2022 took place on 14th-16th November in Sofia, Bulgaria and virtually. The day saw a hybrid get-together of the global CloudStack community hosting 370 attendees. The event hosted 43 sessions from leading CloudStack experts, users and skilful engineers from the open-source world, which included: technical talks, user stories, new features and integrations presentations and more.
Easy Java Integration Testing with TestcontainersPayara
Having problems creating a maintainable set of integration tests for your enterprise Java application? This talk will help you understand how to use Test containers to implement easy integration tests for your next project!
Simplifying Integration Tests for Enterprise Java
Integration testing is always a difficult area. You need to make sure that all system dependencies are prepared, data is correctly initialised for each run and test runs do not interfere with each other. Even with tools like the Arquillian Framework, writing integration tests can be a complicated task and the act of maintaining large sets of tests can become a nightmare if there's not enough knowledge of all dependencies involved.
With the Testcontainers project, convoluted and complicated integration tests can be a thing of the past. A test container allows you to create reliable integration tests covering a wide range of scenarios like using databases, microservices interactions and even GUI and user experience testing. One of the important factors for the success of this framework is the usage of Docker containers to create a reliable reproducible environment for each test, which separates the dependencies and the application code in a way that it is easy to maintain for developers.
INTEGRATED PLATFORM FOR DATA AND CONTAINERS
Mesosphere Enterprise DC/OS includes everything you need to elastically run containerized apps and data services in production.
Codineers Meetup Rosenheim on 2022-10-20
GraalVMs native-image ermöglicht es, JVM Bytecode direkt in Maschinencode zu übersetzen. Das daraus resultierende Executable benötigt keine JVM zum Laufen, startet schneller und verbraucht weniger Speicher als eine traditionelle JVM-Anwendung – ein Segen für Cloud Computing, bei dem jeder CPU-Cycle und Megabyte an RAM bezahlt werden muss. Wäre es nicht großartig, wenn unser Lieblingsframework, Spring Boot, GraalVM direkt out of the box unterstützen würde? In diesem Talk zeigt Moritz Halbritter, Spring Boot committer, was mit Spring Boot 3 und Spring Framework 6 alles möglich sein wird und erlaubt auch einen Blick unter die Motorhaube, um zu sehen, wie das alles implementiert ist.
You will learn:
• How to use Elastic Beanstalk
• How to run Single and Multi-Container Docker with AWS Elastic Beanstalk
• Best Practices running AWS Elastic Beanstalk
In this Java Spring Training session, you will learn Spring – Inversion of Control, Dependency Injection and Bean definitions. Topics covered in this session are:
For more information, visit this link:
Spring Framework
• Core Container
• Data Access/Integration
• Web Layer
• Spring Setup
• Key features
• Spring Bean
• Dependency Injection
• Relation between DI and IoC
• Spring IoC Containers
• Spring DI
https://www.mindsmapped.com/courses/software-development/spring-fundamentals-learn-spring-framework-and-spring-boot/
From common errors seen in running Spark applications, e.g., OutOfMemory, NoClassFound, disk IO bottlenecks, History Server crash, cluster under-utilization to advanced settings used to resolve large-scale Spark SQL workloads such as HDFS blocksize vs Parquet blocksize, how best to run HDFS Balancer to re-distribute file blocks, etc. you will get all the scoop in this information-packed presentation.
So you've been deploying Java in the cloud and are wondering how to handle the new world of containers, microservices, and memory constraints. Cold starts got you down? Come to this session to learn about how the OpenJ9 and the JVM in general can help you on your Cloud Native journey.
Are you a Java developer wondering what it means to have your application running in the cloud. This session will provide a peek into how the JVM is adapting to running in the cloud and what Java developers need to be aware to ensure they get the most of running in the cloud.
The session will pick an example spring application and tune it stage by stage at the end of which we have an application that is fully optimized and takes advantage of every aspect of the running in a cloud
Monoliths, macroservices, microservices, cloud-native and serverless... Where do we even start? If you are a Java developer, you will likely have to work with one, some, or even all of these deployment approaches. Does this mean learning multiple frameworks, tools and methods? It certainly looks that way, based on the many deployment-specific solutions being proposed to the Java development community.
In this presentation, we will look into these solutions, weighing their strengths and weaknesses. We will also contrast this with one-size-fits-all solutions being offered by modern open-source cloud-native Java runtimes like Open Liberty. Does it have the right technology to compete in microservice and serverless environments - can one runtime really do it all?
DCSF19 Docker Containers & Java: What I Wish I Had Been ToldDocker, Inc.
Mohammed Aboullaite, xHub
Nowadays, containers are more than a cool new tool to play with - they've revolutionized the way we develop, architect and ship software and have become part of our day-to-day operations. On the other hand, Java has been around for more than 2 decades, dominating the entreprise world. Both advocate the "RUN anywhere" principal, but, is it that easy? No! Your perfect working local container will most probably fail on production because of MEMORY &/or CPU issues, since jvm apps assume they OWN the server they are running on.
This session will look at the gotchas of running JVM apps in containers & how to avoid costly pitfalls. We will cover:
_ what updates Java 10 brought to the table to improve container awareness and the issues related to prior versions, including how to address each one of them to avoid the mess.
- tips and tricks to obtain smaller images & best practices while writing your DockerFiles
- some plugins to helps non-containers experts integrate docker in their development process; and
- the concept of "Distroless" Docker Images and how to benefit from it.
This talk was given during DockerCon EU 2018.
It ain't just a whim - to be able to continue innovating, we’ve moved our good old static production to containers. We needed to be elastic, fast, reliable and production ready at any time - that's why we chose Docker. But like in most enterprises, lots of our apps run on the JVM and most JVMs’ ergonomics assume they “own” the server they are running on. So how do you containerize JVM apps? Should you really increase JVM heap if you have spare memory? What about OS caches? What are the differences between JDK 8, 9 and 10 when it comes to container awareness? Outages because of out of memory errors? Slowness because of long garbage collection and poor environment visibility? Long story short, in this session, we’ll look at the gotchas of running JVM apps in containers and teach you how to avoid costly mistakes.
Top 3 things attendees will learn:
1. Key differences between various JVM versions relevant for containerized Java apps.
2. Best practices for running JVM in containers.
3. Avoiding common pitfalls when running containerized JVM applications.
For Java developers, the Just-In-Time (JIT) compiler is key to improved performance. However, in a container world, the performance gains are often negated due to CPU and memory consumption constraints. To help solve this issue, the Eclipse OpenJ9 JVM provides JITServer technology, which separates the JIT compiler from the application. JITServer allows the user to employ much smaller containers enabling a higher density of applications, resulting in cost savings for end-users and/or cloud providers. Because the CPU and memory surges due to JIT compilation are eliminated, the user has a much easier task of provisioning resources for his/her application. Additional advantages include: faster ramp-up time, better control over resources devoted to compilation, increased reliability (JIT compiler bugs no longer crash the application) and amortization of compilation costs across many application instances. We will dig into JITServer technology, showing the challenges of implementation, detailing its strengths and weaknesses and illustrating its performance characteristics. For the cloud audience we will show how it can be deployed in containers, demonstrate its advantages compared to a traditional JIT compilation technique and offer practical recommendations about when to use this technology.
VMworld 2013: VMware Disaster Recovery Solution with Oracle Data Guard and Si...VMworld
VMworld 2013
Kannan Mani, VMware
Brad Pinkston, VMware
Learn more about VMworld and register at http://www.vmworld.com/index.jspa?src=socmed-vmworld-slideshare
The Next Frontier in Open Source Java Compilers: Just-In-Time Compilation as a Service
For Java developers, the Just-In-Time (JIT) compiler is key to improved performance. However, in a container world, the performance gains are often negated due to CPU and memory consumption constraints. To help solve this issue, the Eclipse OpenJ9 JVM provides JITServer technology, which separates the JIT compiler from the application.
JITServer allows the user to employ much smaller containers enabling a higher density of applications, resulting in cost savings for end-users and/or cloud providers. Because the CPU and memory surges due to JIT compilation are eliminated, the user has a much easier task of provisioning resources for his/her application. Additional advantages include: faster ramp-up time, better control over resources devoted to compilation, increased reliability (JIT compiler bugs no longer crash the application) and amortization of compilation costs across many application instances.
We will dig into JITServer technology, showing the challenges of implementation, detailing its strengths and weaknesses and illustrating its performance characteristics. For the cloud audience we will show how it can be deployed in containers, demonstrate its advantages compared to a traditional JIT compilation technique and offer practical recommendations about when to use this technology.
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
Worried about document security while sharing them in Salesforce? Fret no more! Here are the top-notch security standards XfilesPro upholds to ensure strong security for your Salesforce documents while sharing with internal or external people.
To learn more, read the blog: https://www.xfilespro.com/how-does-xfilespro-make-document-sharing-secure-and-seamless-in-salesforce/
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Globus
Large Language Models (LLMs) are currently the center of attention in the tech world, particularly for their potential to advance research. In this presentation, we'll explore a straightforward and effective method for quickly initiating inference runs on supercomputers using the vLLM tool with Globus Compute, specifically on the Polaris system at ALCF. We'll begin by briefly discussing the popularity and applications of LLMs in various fields. Following this, we will introduce the vLLM tool, and explain how it integrates with Globus Compute to efficiently manage LLM operations on Polaris. Attendees will learn the practical aspects of setting up and remotely triggering LLMs from local machines, focusing on ease of use and efficiency. This talk is ideal for researchers and practitioners looking to leverage the power of LLMs in their work, offering a clear guide to harnessing supercomputing resources for quick and effective LLM inference.
Unleash Unlimited Potential with One-Time Purchase
BoxLang is more than just a language; it's a community. By choosing a Visionary License, you're not just investing in your success, you're actively contributing to the ongoing development and support of BoxLang.
Multiple Your Crypto Portfolio with the Innovative Features of Advanced Crypt...Hivelance Technology
Cryptocurrency trading bots are computer programs designed to automate buying, selling, and managing cryptocurrency transactions. These bots utilize advanced algorithms and machine learning techniques to analyze market data, identify trading opportunities, and execute trades on behalf of their users. By automating the decision-making process, crypto trading bots can react to market changes faster than human traders
Hivelance, a leading provider of cryptocurrency trading bot development services, stands out as the premier choice for crypto traders and developers. Hivelance boasts a team of seasoned cryptocurrency experts and software engineers who deeply understand the crypto market and the latest trends in automated trading, Hivelance leverages the latest technologies and tools in the industry, including advanced AI and machine learning algorithms, to create highly efficient and adaptable crypto trading bots
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisGlobus
JASMIN is the UK’s high-performance data analysis platform for environmental science, operated by STFC on behalf of the UK Natural Environment Research Council (NERC). In addition to its role in hosting the CEDA Archive (NERC’s long-term repository for climate, atmospheric science & Earth observation data in the UK), JASMIN provides a collaborative platform to a community of around 2,000 scientists in the UK and beyond, providing nearly 400 environmental science projects with working space, compute resources and tools to facilitate their work. High-performance data transfer into and out of JASMIN has always been a key feature, with many scientists bringing model outputs from supercomputers elsewhere in the UK, to analyse against observational or other model data in the CEDA Archive. A growing number of JASMIN users are now realising the benefits of using the Globus service to provide reliable and efficient data movement and other tasks in this and other contexts. Further use cases involve long-distance (intercontinental) transfers to and from JASMIN, and collecting results from a mobile atmospheric radar system, pushing data to JASMIN via a lightweight Globus deployment. We provide details of how Globus fits into our current infrastructure, our experience of the recent migration to GCSv5.4, and of our interest in developing use of the wider ecosystem of Globus services for the benefit of our user community.
Modern design is crucial in today's digital environment, and this is especially true for SharePoint intranets. The design of these digital hubs is critical to user engagement and productivity enhancement. They are the cornerstone of internal collaboration and interaction within enterprises.
Why React Native as a Strategic Advantage for Startup Innovation.pdfayushiqss
Do you know that React Native is being increasingly adopted by startups as well as big companies in the mobile app development industry? Big names like Facebook, Instagram, and Pinterest have already integrated this robust open-source framework.
In fact, according to a report by Statista, the number of React Native developers has been steadily increasing over the years, reaching an estimated 1.9 million by the end of 2024. This means that the demand for this framework in the job market has been growing making it a valuable skill.
But what makes React Native so popular for mobile application development? It offers excellent cross-platform capabilities among other benefits. This way, with React Native, developers can write code once and run it on both iOS and Android devices thus saving time and resources leading to shorter development cycles hence faster time-to-market for your app.
Let’s take the example of a startup, which wanted to release their app on both iOS and Android at once. Through the use of React Native they managed to create an app and bring it into the market within a very short period. This helped them gain an advantage over their competitors because they had access to a large user base who were able to generate revenue quickly for them.
Enhancing Research Orchestration Capabilities at ORNL.pdfGlobus
Cross-facility research orchestration comes with ever-changing constraints regarding the availability and suitability of various compute and data resources. In short, a flexible data and processing fabric is needed to enable the dynamic redirection of data and compute tasks throughout the lifecycle of an experiment. In this talk, we illustrate how we easily leveraged Globus services to instrument the ACE research testbed at the Oak Ridge Leadership Computing Facility with flexible data and task orchestration capabilities.
In software engineering, the right architecture is essential for robust, scalable platforms. Wix has undergone a pivotal shift from event sourcing to a CRUD-based model for its microservices. This talk will chart the course of this pivotal journey.
Event sourcing, which records state changes as immutable events, provided robust auditing and "time travel" debugging for Wix Stores' microservices. Despite its benefits, the complexity it introduced in state management slowed development. Wix responded by adopting a simpler, unified CRUD model. This talk will explore the challenges of event sourcing and the advantages of Wix's new "CRUD on steroids" approach, which streamlines API integration and domain event management while preserving data integrity and system resilience.
Participants will gain valuable insights into Wix's strategies for ensuring atomicity in database updates and event production, as well as caching, materialization, and performance optimization techniques within a distributed system.
Join us to discover how Wix has mastered the art of balancing simplicity and extensibility, and learn how the re-adoption of the modest CRUD has turbocharged their development velocity, resilience, and scalability in a high-growth environment.
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
The European Union Agency for Law Enforcement Cooperation (Europol) has suffered an alleged data breach after a notorious threat actor claimed to have exfiltrated data from its systems. Infamous data leaker IntelBroker posted on the even more infamous BreachForums hacking forum, saying that Europol suffered a data breach this month.
The alleged breach affected Europol agencies CCSE, EC3, Europol Platform for Experts, Law Enforcement Forum, and SIRIUS. Infiltration of these entities can disrupt ongoing investigations and compromise sensitive intelligence shared among international law enforcement agencies.
However, this is neither the first nor the last activity of IntekBroker. We have compiled for you what happened in the last few days. To track such hacker activities on dark web sources like hacker forums, private Telegram channels, and other hidden platforms where cyber threats often originate, you can check SOCRadar’s Dark Web News.
Stay Informed on Threat Actors’ Activity on the Dark Web with SOCRadar!
A Comprehensive Look at Generative AI in Retail App Testing.pdfkalichargn70th171
Traditional software testing methods are being challenged in retail, where customer expectations and technological advancements continually shape the landscape. Enter generative AI—a transformative subset of artificial intelligence technologies poised to revolutionize software testing.
First Steps with Globus Compute Multi-User EndpointsGlobus
In this presentation we will share our experiences around getting started with the Globus Compute multi-user endpoint. Working with the Pharmacology group at the University of Auckland, we have previously written an application using Globus Compute that can offload computationally expensive steps in the researcher's workflows, which they wish to manage from their familiar Windows environments, onto the NeSI (New Zealand eScience Infrastructure) cluster. Some of the challenges we have encountered were that each researcher had to set up and manage their own single-user globus compute endpoint and that the workloads had varying resource requirements (CPUs, memory and wall time) between different runs. We hope that the multi-user endpoint will help to address these challenges and share an update on our progress here.
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns
Unlocking Business Potential: Tailored Technology Solutions by Prosigns
Discover how Prosigns, a leading technology solutions provider, partners with businesses to drive innovation and success. Our presentation showcases our comprehensive range of services, including custom software development, web and mobile app development, AI & ML solutions, blockchain integration, DevOps services, and Microsoft Dynamics 365 support.
Custom Software Development: Prosigns specializes in creating bespoke software solutions that cater to your unique business needs. Our team of experts works closely with you to understand your requirements and deliver tailor-made software that enhances efficiency and drives growth.
Web and Mobile App Development: From responsive websites to intuitive mobile applications, Prosigns develops cutting-edge solutions that engage users and deliver seamless experiences across devices.
AI & ML Solutions: Harnessing the power of Artificial Intelligence and Machine Learning, Prosigns provides smart solutions that automate processes, provide valuable insights, and drive informed decision-making.
Blockchain Integration: Prosigns offers comprehensive blockchain solutions, including development, integration, and consulting services, enabling businesses to leverage blockchain technology for enhanced security, transparency, and efficiency.
DevOps Services: Prosigns' DevOps services streamline development and operations processes, ensuring faster and more reliable software delivery through automation and continuous integration.
Microsoft Dynamics 365 Support: Prosigns provides comprehensive support and maintenance services for Microsoft Dynamics 365, ensuring your system is always up-to-date, secure, and running smoothly.
Learn how our collaborative approach and dedication to excellence help businesses achieve their goals and stay ahead in today's digital landscape. From concept to deployment, Prosigns is your trusted partner for transforming ideas into reality and unlocking the full potential of your business.
Join us on a journey of innovation and growth. Let's partner for success with Prosigns.
We describe the deployment and use of Globus Compute for remote computation. This content is aimed at researchers who wish to compute on remote resources using a unified programming interface, as well as system administrators who will deploy and operate Globus Compute services on their research computing infrastructure.
Into the Box Keynote Day 2: Unveiling amazing updates and announcements for modern CFML developers! Get ready for exciting releases and updates on Ortus tools and products. Stay tuned for cutting-edge innovations designed to boost your productivity.
Designing for Privacy in Amazon Web ServicesKrzysztofKkol1
Data privacy is one of the most critical issues that businesses face. This presentation shares insights on the principles and best practices for ensuring the resilience and security of your workload.
Drawing on a real-life project from the HR industry, the various challenges will be demonstrated: data protection, self-healing, business continuity, security, and transparency of data processing. This systematized approach allowed to create a secure AWS cloud infrastructure that not only met strict compliance rules but also exceeded the client's expectations.
Your Digital Assistant.
Making complex approach simple. Straightforward process saves time. No more waiting to connect with people that matter to you. Safety first is not a cliché - Securely protect information in cloud storage to prevent any third party from accessing data.
Would you rather make your visitors feel burdened by making them wait? Or choose VizMan for a stress-free experience? VizMan is an automated visitor management system that works for any industries not limited to factories, societies, government institutes, and warehouses. A new age contactless way of logging information of visitors, employees, packages, and vehicles. VizMan is a digital logbook so it deters unnecessary use of paper or space since there is no requirement of bundles of registers that is left to collect dust in a corner of a room. Visitor’s essential details, helps in scheduling meetings for visitors and employees, and assists in supervising the attendance of the employees. With VizMan, visitors don’t need to wait for hours in long queues. VizMan handles visitors with the value they deserve because we know time is important to you.
Feasible Features
One Subscription, Four Modules – Admin, Employee, Receptionist, and Gatekeeper ensures confidentiality and prevents data from being manipulated
User Friendly – can be easily used on Android, iOS, and Web Interface
Multiple Accessibility – Log in through any device from any place at any time
One app for all industries – a Visitor Management System that works for any organisation.
Stress-free Sign-up
Visitor is registered and checked-in by the Receptionist
Host gets a notification, where they opt to Approve the meeting
Host notifies the Receptionist of the end of the meeting
Visitor is checked-out by the Receptionist
Host enters notes and remarks of the meeting
Customizable Components
Scheduling Meetings – Host can invite visitors for meetings and also approve, reject and reschedule meetings
Single/Bulk invites – Invitations can be sent individually to a visitor or collectively to many visitors
VIP Visitors – Additional security of data for VIP visitors to avoid misuse of information
Courier Management – Keeps a check on deliveries like commodities being delivered in and out of establishments
Alerts & Notifications – Get notified on SMS, email, and application
Parking Management – Manage availability of parking space
Individual log-in – Every user has their own log-in id
Visitor/Meeting Analytics – Evaluate notes and remarks of the meeting stored in the system
Visitor Management System is a secure and user friendly database manager that records, filters, tracks the visitors to your organization.
"Secure Your Premises with VizMan (VMS) – Get It Now"
Listen to the keynote address and hear about the latest developments from Rachana Ananthakrishnan and Ian Foster who review the updates to the Globus Platform and Service, and the relevance of Globus to the scientific community as an automation platform to accelerate scientific discovery.
Quarkus Hidden and Forbidden ExtensionsMax Andersen
Quarkus has a vast extension ecosystem and is known for its subsonic and subatomic feature set. Some of these features are not as well known, and some extensions are less talked about, but that does not make them less interesting - quite the opposite.
Come join this talk to see some tips and tricks for using Quarkus and some of the lesser known features, extensions and development techniques.
2. Agenda
• Focused on improving Java workloads in the cloud
• Container awareness
• Debugging in the cloud.
2
3. What is Semeru Runtimes?
• IBM Built OpenJDK runtimes powered by the Eclipse OpenJ9 JVM(foundation of IBM’s
java-based-software for 15+ years)
• Two Editions(Functionally 100% compatible) :
• IBM Semeru Runtime Open Edition
Open-Source license(GPLv2+CE)
Available now for Java versions 8,11,17
• IBM Semeru Runtime Certified Edition
IBM license ,TCK certified
Available now for Java 11+ LTS versions download
Download
https://developer.ibm.com/languages/java/semeru-runtimes/downloads/
3
4. What is Eclipse OpenJ9 ?
• Eclipse OpenJ9 JVM previously known as IBM J9.
• Eclipse OpenJ9 was open sourced from IBM J9 JVM.
• stable , secure, high performance ,cloud optimized, multi-platform, ready for development
and production use
Open-sourced Sept 2017
https://www.eclipse.org/openj9/
https://github.com/eclipse/openj9
Dual License:
Eclipse Public License 2.0
Apache 2.0
Users and contributors welcome
https://github.com/eclipse-openj9/openj9/blob/master/CONTRIBUTING.md
4
5. Objectives in the cloud
IBM Runtime Technologies
5
Optimal deployment Size Faster Startup and Ramp up Use computing resources
judiciously
7. Small deployment size == Small container Image
• Reduced push time
- developers
• Reduced pull time
• Add new node for scaling out
• Matter of security
- less attack surface area
7
Docker images: https://hub.docker.com/_/ibm-semeru-runtimes?tab=tags
1. Use jre instead of jdk
2. (Java11+) use jlink
3. Pick a different/smaller OS base image
Advantages Recipes
Docker
Image
Sizes
Latest
(ubuntu)
ubi-
minimal
ubi jre
amd64 240 MB 286MB 380 MB 98 MB
8. More about jlink
• To create custom JRE
• Syntax: jlink [options] - -module-path <modulepath> --add-modules <module> --output
<path>
• Example:
>> <Javapath>/bin/jlink --strip-debug --compress 2 --no-header-files --no-man-pages --module-
path /opt/java/openjdk/jmods --add-modules $(jdeps --print-module-deps
target/AcmeairApp.jar),java.desktop,java.instrument,java.logging,java.management,java.naming
,java.security.jgss,java.sql,java.xml --exclude-
files=**java_**.properties,**J9TraceFormat**.dat,**OMRTraceFormat**.dat,**j9ddr**.dat,**
public_suffix_list**.dat --output jre
• After stripping unwanted modules from the ubuntu based semeru JDK image, image size is
reduced to 152MB from 240MB.
8
9. • In your Dockerfile
• …
FROM ibm-semeru-runtimes:open-11-jre AS semeru
FROM alpine #an example smaller base image
ENV JAVA_HOME=/opt/java/openjdk
COPY --from =semeru $JAVA_HOME $JAVA_HOME
ENV PATH=“${JAVA_HOME}/bin:${PATH}”
…
IBM Runtime Technologies
9
Faster Startup and Ramp up
10. Starting Java workloads quickly
• -Xquickstart
• Faster start-up
• Tradeoff is some throughput loss
• Great for short-lived tasks(i.e. functions)
• -Xtune:virtualized
• Enabled VM idle management
• improve start-up and ramp-up
• Small loss in throughput
10
11. Shared cache cache and Dynamic AOT technology
• Shared class cache(SCC) [-Xshareclasscache:cachedir=/tmp/scc]
• Memory Mapped file for caching
• AOT Compiled code
• Interpreter Profiling information
• Speed-up class loading
• Dynamic Ahead-of-Time(AOT) compilation
• Relocatable format
• AOT loads are 100x faster than JIT compilations
• More generic code -> slightly less optimized
• Generate AOT code only during start-up
11
12. Embedding SCC in containers
• SCC usability problem: Cache goes away when container is destroyed
• Need Persistence!
• Use Volumes; cumbersome with dynamic provisioning; cold start still an issue
• Package SCC inside Openj9 Docker images
• Methodology:
• Start/Stop “training” app(tomcat) when Openj9 docker image is created
• Cons: limited amount of caching
• Pros: any Java app can benefit from cached classes/methods
• Openj9 images(via IBM Semeru Runtimes) now have an embedded SCC named:openj9_system_scc
• https://hub.docker.com/_/ibm-semeru-runtimes
12
13. Multi-layer SCC
• Cache app classes/methods -> significant start-up time benefits
• Methodology: start/stop app during docker image creation time
• Potential issues:
• Oversizing needed to allow addition to cache from a higher Docker layer
• Bloat due to “copy-on-write” mechanism when adding to the cache
• OpenJ9 uses multi-layer SCC
• Each docker layer can add to SCC packaged at that layer independently of lower layers
• Each SCC layer can be trimmed-to-fit because upper layers won’t add to it
13
14. • In your Dockerfile
• …
FROM ibm-semeru-runtimes:open-11-jre AS semeru
FROM alpine #an example smaller base image
ENV JAVA_HOME=/opt/java/openjdk
COPY --from =semeru $JAVA_HOME $JAVA_HOME
ENV PATH=“${JAVA_HOME}/bin:${PATH}”
…
IBM Runtime Technologies
14
Resource utilization
15. Openj9 JVM use computing resources judiciously
• Computing resources ==
• Cloud it’s about sharing; do not be greedy in using all resources
• OpenJ9 is conservative with heap growth
• OpenJ9 frees memory used transiently during JIT compilation
15
0
100
200
300
400
500
600
700
800
1GB 2GB 4GB
Resident
set
size
(MB)
Container limit
Steady state memory footprint in AcmeAir
OpenJ9 Hotspot
For large containers
OpenJ9 uses less than
half the memory !
16. OpenJ9 is Container Aware(Java 8+)
Is your java container aware? Container awareness is critical
Host: 16GB
Host: 16GB
Host: 64 vCPU’s
Host:64 vCPU’s
16
Container
limit: 1G
JVM sets
heap size:
4GB
Container
limit :1P
JVM
thinks can
use 64P
Side effects:
➢ OOM
➢ JVM process gets killed
Side effects:
➢ To many GC/JIT threads
➢ Too many app threads
➢ Likely poor performance
• Better stability
- JVM can properly size data structures(e.g. Java heap) ->
avoid OOM killer
• Better Performance
- JVM can properly size number of GC/JIT threads
- Application can properly size its thread pools
17. Container awareness - usability
17
• -XX:UseContainerSupport option now enabled by default in Java 8 and above
• Automatically increase default -Xmx
(max heap) value when running in a
container
• Better solution than setting –Xmx and –Xms
when same app is deployed with different
memory limits:
“-XX:MaxRAMPercentage=…”
“-XX:IntialRAMpercentage=…”
MemLimit Java8/11 Java8 Java11
<=1G MemLimit/2 RAM/2 RAM/2
1G-2G Memlimit-512M 512M 512M
>=2G MemLimit*3/4 512M RAM/4
Xmx Inside
containers
Xmx outside
containers
-XX:MaxRAMPercentage=80
Heap= 1.6G
Container Mem= 2G
Heap= 2.4G
Container Mem= 3G
Heap= 3.2G
Container Mem= 4G
18. GC on Idle
• -XX:+IdleTuningCompactonIdle
- Compacts the java heap down when idle(think defraging)
• -XX:+IdleTuningGcOnIdle
- Releases heap memory back to system when idle(more effective with above enabled)
18
19. Free resources when applications are idling
-XX:+IdleTuningGcOnIdle
(default setting in container)
19
Benchmark: https://github.com/blueperf/acmeair
20. • In your Dockerfile
• …
FROM ibm-semeru-runtimes:open-11-jre AS semeru
FROM alpine #an example smaller base image
ENV JAVA_HOME=/opt/java/openjdk
COPY --from =semeru $JAVA_HOME $JAVA_HOME
ENV PATH=“${JAVA_HOME}/bin:${PATH}”
…
IBM Runtime Technologies
20
Debugging
21. Get Debugging Info on the Fly !
• Do you have to restart your containerized Java app to dump debugging info ?
NO !
- Use Openj9DiognosticMXBean instead
21
22. Javacore Info
$ docker run –m2g –cpu-quota=“100000”
--cpu-period=“200000” –it semeru11 java
-Xdump:java:events=vmstop App
22
1CICONTINFO Running in container : TRUE
1CICGRPINFO JVM support for cgroups enabled : TRUE
….
1CICGRPINFO Cgroup Information
NULL ------------------------------------------------------------------------
2CICGRPINFO subsystem : cpuset
2CICGRPINFO cgroup name : /
3CICGRPINFO CPU exclusive : 0
3CICGRPINFO Mem exclusive : 0
3CICGRPINFO CPUs : 0-3
3CICGRPINFO Mems : 0
2CICGRPINFO subsystem : memory
2CICGRPINFO cgroup name : /
3CICGRPINFO Memory Limit : 2147483648 bytes
3CICGRPINFO Memory + Swap Limit : Unavailable
3CICGRPINFO Memory Usage : 74129408 bytes
3CICGRPINFO Memory Max Usage : 74752000 bytes
3CICGRPINFO Memory limit exceeded count : 0
3CICGRPINFO OOM Killer Disabled : 0
3CICGRPINFO Under OOM : 0
2CICGRPINFO subsystem : cpu
2CICGRPINFO cgroup name : /
3CICGRPINFO CPU Period : 200000 microseconds
3CICGRPINFO CPU Quota : 100000 microseconds
3CICGRPINFO CPU Shares : 1024
3CICGRPINFO Period intervals elapsed count : 159
3CICGRPINFO Throttled count : 6
3CICGRPINFO Total throttle time : 856140458 nanoseconds
23. Upcoming Feature
Cgroups version 2
• Control group(cgroup) is a linux kernel feature – limits and isolate the resource usage
• Important features in v2:
• Simplified tree architecture for memory and cpu controllers
• Pressure stall information(PSI)
• Docker 20.10 gets cgroups v2 support
• Adding cgroup v2 support to Semeru Runtimes
23
24. Wrap-up
• Reduction of footprints
• Start-up improvements
• Resource utilization
• Debugging in the cloud
24