There is this myth that Java EE containers aren’t fast and agile enough to build modern applications. Although this may be true for some app server vendors, it’s definitely not the case for Red Hat JBoss Enterprise Application Platform (JBoss EAP). JBoss EAP is a modern application platform that includes a modular structure that allows service enabling only when required, improving startup speed.
With this in mind, we decided to run a comparison between JBoss EAP and other technologies that are touted to be the best for cloud-native applications. Not to our surprise, here are the results:
Note: The performance tests above were produced without any performance optimization, and if you run the tests yourself, you might get different results depending on your hardware and memory. The conclusion from the above results is that JBoss EAP is not slower and does not use more memory than the other runtimes.
When comparing a JBoss EAP instance running Java EE Web Profile app, a JBoss EAP running a Spring application, Tomcat and Spring Boot, you can see that in our tests, JBoss EAP running Java EE Web Profile was faster, used less memory, and had the highest throughput under load. You can find the entire test suite and source code at the following location:
https://github.com/tqvarnst/eap-vs-tomcat-vs-spring-boot
This makes JBoss EAP a great platform for building and running modern applications, e.g. microservices and cloud-native applications, and provides one of the the most cost effective platform to run applications on the cloud, especially where customers have to pay for cloud memory and compute resources. Modern application servers like JBoss EAP provide full Java EE certification to allow existing applications to run as-is without need for costly refactoring or changes in architecture while at the same time is designed with a minimum footprint beneficial for cloud environments. Customers have noticed this, and an approach many of them have been taking to transition to the cloud is to migrate their existing monolithic applications to a modern application server like JBoss EAP running on-premise, on a cloud provider (Amazon, Azure, Google), or on OpenShift. Likewise, in a recent customer survey conducted by Red Hat, 52% of middleware customers are using or considering JBoss EAP for microservices.
Beside microservices, there are many reasons why customers continue to use JBoss EAP for modern application development. Here are some of them (not an exhaustive list):
- Miniservices - miniservices are in between a modular and microservice design. A miniservice is a collection of services that are split by domain and usually run on an application server. Miniservices improve agility and scale without the complexity of microservices design and infrastructure. Miniservices still require an investment in agile, DevOps and CI/CD so JBoss EAP on OpenShift or JBoss EAP in Red Hat OpenShift Application Runtimes are good options.
- Most organizations do not have web-scale or internet-scale requirements and miniservices provide sufficient value to them. Microservices require a big shift to the way companies develop software and not everyone will adopt microservices. In fact, according to a Gartner prediction (as presented in “Microservices: The Future of SOA”), most organizations that try microservices will find the paradigm too disruptive and use miniservices instead.
- Many analysts and experts recommend organizations interested in microservices, to start with a monolith (as he covered in his blog post, "MonolithFirst") and then refactor, even for green field projects. Doing this gives them a better understanding of their domains, identifying areas to break down and then refactor from miniservices to microservices. JBoss EAP is a platform that can run both.
- For organizations that rely and run Java EE production workloads but would like to gain the benefits of DevOps, CI/CD, and containers, a fast-moving monolith provides an answer. JBoss EAP on OpenShift or JBoss EAP on Red Hat OpenShift Application Runtimes are good options for organizations wanting to run their existing Java EE production applications in an agile environment that can speed up their development cycles and maintenance.
- On-premise existing Java workloads. We expect organizations to continue to maintain their existing Java EE applications for years to come. According to a 2017 Enterprise Strategy Group survey, 91% of organizations expect that AT LEAST HALF of their applications and workloads will still run on-premises in 5 years. These workloads may include Java EE applications that will stay on-premise and need continued maintenance.
- Microservices require a big shift to the way organizations develop software, and many companies will find that the move to microservices may be more detrimental to their business than the benefits they bring. In fact, according to a recent customer survey conducted by Red Hat, the top challenges when implementing microservices were: corporate culture and organizational challenges, microservices management, diagnostics and monitoring, and time and resources.
- Not every solution requires microservices. Organizations are not redesigning existing solutions or writing new ones using microservices just for the sake of using microservices. They have realized that microservices are not a panacea for all IT problems and are applying them only where their use is warranted. We expect them to continue to develop monolithic applications, miniservices and microservices and their end-state architecture will consist of a mix of all these.
- Organizations will continue to use Java EE because of its value. According to a recent customer survey conducted by Red Hat, the top three reasons why Red Hat Middleware customers are using or considering to use Java EE for microservices are Java EE is a standard, there is no need to retrain workforce, and they trust Java EE to run production because it’s well established and enterprise-grade.
In conclusion, JBoss EAP is a platform that’s suitable to run your existing Java EE workloads as well as your microservices. Its memory and compute usage optimizations make it a great platform to use for cloud deployment of modern applications. For their current applications and as they embark themselves into modern application development, customers continue to rely and trust Java EE, a market-tested approach that we are confident will be around for years to come.
For more information on Red Hat JBoss Enterprise Application Platform:
https://developers.redhat.com/products/eap/overview/
If you need help migrating from other Java EE application server to JBoss EAP, refer to:
https://www.redhat.com/en/technologies/jboss-middleware/migrate
If you would like to get your organization up to speed on modern application development, we have the Red Hat Open Innovation Labs. For more information go to:
저자 소개
채널별 검색
오토메이션
기술, 팀, 환경을 포괄하는 자동화 플랫폼에 대한 최신 정보
인공지능
고객이 어디서나 AI 워크로드를 실행할 수 있도록 지원하는 플랫폼 업데이트
클라우드 서비스
관리형 클라우드 서비스 포트폴리오에 대해 더 보기
보안
환경과 기술 전반에 걸쳐 리스크를 감소하는 방법에 대한 최신 정보
엣지 컴퓨팅
엣지에서의 운영을 단순화하는 플랫폼 업데이트
인프라
세계적으로 인정받은 기업용 Linux 플랫폼에 대한 최신 정보
애플리케이션
복잡한 애플리케이션에 대한 솔루션 더 보기
오리지널 쇼
엔터프라이즈 기술 분야의 제작자와 리더가 전하는 흥미로운 스토리
제품
- Red Hat Enterprise Linux
- Red Hat OpenShift Enterprise
- Red Hat Ansible Automation Platform
- 클라우드 서비스
- 모든 제품 보기
툴
체험, 구매 & 영업
커뮤니케이션
Red Hat 소개
Red Hat은 Linux, 클라우드, 컨테이너, 쿠버네티스 등을 포함한 글로벌 엔터프라이즈 오픈소스 솔루션 공급업체입니다. Red Hat은 코어 데이터센터에서 네트워크 엣지에 이르기까지 다양한 플랫폼과 환경에서 기업의 업무 편의성을 높여 주는 강화된 기능의 솔루션을 제공합니다.