Reactive microservices: clustering, messaging, or service mesh — a comparison

Thank you to Dr. Clement Escoffier, Vert.x Core Engineer, Red Hat, for review and diagrams.

In the day and age of Kubernetes and microservices, traditional implementations of clustered services need to be reevaluated, and Vert.x Clustering is no exception. Kubernetes and Vert.x microservices provide functionality that overlaps Vert.x Clustering, but do not replace it entirely. This article will compare the approaches and offer pragmatic pros and cons for each.

Vert.x Clustering

With Vert.x Clustering, Vert.x can be run as a set of clustered instances that provide capabilities for high availability, distributed data, and a distributed Vert.x Event Bus. These are capabilities that are needed for deploying Verticles across multiple Vert.x instances and to have them perform in unison.

Continue reading “Reactive microservices: clustering, messaging, or service mesh — a comparison”

Six typical integration challenges that agile integration can solve

Red Hat conceived the agile integration concept to help our customers tackle integration challenges more effectively. As we described in an earlier post in detail, agile integration is an architectural approach centered around application programming interfaces (APIs) and API management. At its core, this concept resides on the following three pillars: distributed integration for greater flexibility, containers for the ability to scale better, and managed APIs for re-usability and hence speed.

When we started designing this concept we actually started from two premises:

  1. Agility today is the most important business capability — especially for incumbents in traditional markets.
  2. Every organisation has integration problems.

Typically in most companies nowadays the integration function is centralized and hence technically as well as organizationally a bottleneck. Our two premises contradict each other and we set out to design an integration concept that can solve this contradiction.

In order to come up with a solution that really helps our customers solve their integration problems in the best possible way, we first analysed the market to understand what actually are the problems that users are trying to solve. Although there are of course a very wide variety of often very fine-nuanced problems, it turned out that we could classify all the problems into six typical integration challenges. The following diagram summarizes these challenges and we then discuss each of them in more detail.

Agile Integration: Six Challenges

Continue reading “Six typical integration challenges that agile integration can solve”

From BPM and business automation to digital automation platforms

The business processes that create customer value are the critical piece that links together all of the different aspects of digital transformation. But still, many of the critical activities that contribute to it are either manual or a succession of disconnected workflows or applications that prevent organizations from having an end-to-end view of how their processes deliver customer value.  

Evolving from workflows to BPM – business process management – added a whole collaborative layer and execution structure to the traditional hierarchy and project-based structure of the enterprise. When it was paired with access to the critical data and documents, alongside activity visibility and business rules, it helped to exponentially grow productivity and agility in the enterprise for many years.

Nowadays, enterprises have discovered already how to use these technologies and apply them to work with structured and unstructured processes, to create business rules to guide and support decision making, or the importance of integrating process outputs and inputs in real time to external systems that interact with the processes. These process-centric applications are even cloud-ready so you can run your processes in the cloud and open them up more securely to all of your internal and external collaborators.

But times are changing. Productivity and agility are no longer the name of the game. It is no longer enough to provide ease of use, business, and IT collaboration, or fast modification of processes and rules. Speed and support for digital transformation have become top priorities. Those process-based applications need to be quickly deployed into production, be portable, reusable and consistent across environments, and scaled in the hybrid cloud. Our customers expect cloud-native technologies at the core of their processes. They expect to run their process workloads to scale across the hybrid cloud to provide a consistent experience to their customers and collaborators. Ideally, they also want to future-proof their investments with modern technologies such as containers.

Continue reading “From BPM and business automation to digital automation platforms”

Meet application integration in the times of hybrid cloud

The concept of agile integration, depending on whom you ask, may appear as a contradiction in terms. Integration is a concept that used to be associated with “slow,” “monolithic,” “only to be touched by the expert team,” etc.. Big and complex legacy enterprise service buses connected to your applications were the technology of choice at a time when agility was not a requirement, when the cloud was barely an idea, when containers were associated with maritime shipping and not with application packaging and delivery.

Can the principles of agile development be combined with those of modern integration? Our response is yes, and we call it  agile integration. Let me show you what it is, why it is important, and what we at Red Hat are doing about it.

Software development methodologies have evolved rapidly in the last few years to incorporate innovative concepts that result in faster development cycles, agility to react to changes and immediate business value. Development now takes place in small teams, changes can be approved and incorporated fast to keep track of the changing demands of the business, and each iteration of the code has a product as the ultimate result. No more need for longer development cycles and never-ending approvals for changes. And importantly, business and technical users join forces and collaborate to optimize the end result.

In addition, modern integration requires agility, cloud-readiness, and support of modern integration approaches. In contrast with the legacy, monolithic ESBs, modern integration is lightweight, pattern-based, scalable, and able to manage complex, distributed environments. It has to be cloud-ready and support modern architectures and deployment models like containers. It also has to provide integration services with new, popular technologies, like API management, which is becoming the preferred way to integrate applications and is at the core of microservices architectures. And support innovative and fast evolving use cases such as the Internet of Things (IoT).

Continue reading “Meet application integration in the times of hybrid cloud”

Red Hat present at EclipseCon France 2018

EclipseCon France is taking place this week in Toulouse, France (June 13-14, 2018) and it’s offering a great lineup of top-notch sessions on nine different tracks, from IoT to cloud and modeling technologies. This year, there is even a dedicated track for “Microservices, MicroProfile, EE4J and Jakarta EE,” which is covering topics such as Istio, 12-factor apps, geoscience, machine learning, noSQL database integration, cloud-native application development, security, resilience, scalability, and the latest statuses of the Jakarta EE and MicroProfile open source specification projects. Under this track, we are hosting two sessions:

But we are also delivering other interesting sessions under the “Reactive Programming” track:

Under the “IoT” track:

Under the “Eclipse IDE and RCP in Practice” track:

And, under the “Cloud & DevOps” and “Other Cool Stuff” tracks:

For those of you that will be at the conference, we invite you to attend the sessions above and to stop by the Red Hat booth to learn how Red Hat can help your organization solve your IT challenges (and get your swag too!). And for those of you that would like to learn more about Red Hat offerings in relation to the topics above, please visit the following links:

Learning Process Driven Application Development with JBoss BPM

Are you interested in an introduction to the concepts of process management (BPM)?

Do you want to learn how your business can leverage process driven application delivery?

Are you looking for an easy to understand guide to mastering Red Hat JBoss BPM Suite tooling?

Do you want a step-by-step introduction to setting up JBoss BPM Suite, then coverage of practical and important topics like data modeling, designing business rules and processes,  detailed real world examples, and tips for testing?

For the last few years I’ve been working on putting years of working with JBoss BPM Suite, community projects Drools and jBPM together in one easy to understand book.

In 2017, Red Hat put the first chapter online for free and literally thousands downloaded it starting their journey on the road to delivering process driven application with JBoss BPM Suite. Many of you have reached out over the years to ask about the completion of this book and where you can get it.

The good news isthat the book is available and Red Hat’s providing ebook downloads for free!

Let’s look at how this works, shall we?

Continue reading “Learning Process Driven Application Development with JBoss BPM”

The 3 benefits of RHOAR, by Thomas Johnson, Shadow-Soft

The rise of microservices and containerized environments comes with its own set of demands and challenges for developers, who are being asked to quickly and reliably bring new features to market and adhere to strict best practices.

Thomas Johnston from our partner Shadow-Soft recognizes their pain points and offers the three benefits that RHOAR offers to speed up microservices development.

Read more here: Microservices slowing you down? Streamline the orchestration process with Red Hat OpenShift Application Runtimes (RHOAR)

Red Hat JBoss EAP – a platform for current and future workloads

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

Continue reading “Red Hat JBoss EAP – a platform for current and future workloads”

Red Hat JBoss Enterprise Application Platform 7.1 Availability

The release of Red Hat JBoss Enterprise Application Platform 7.1 (JBoss EAP) is now available. JBoss EAP is Red Hat’s middleware platform, built on open standards and compliant with the Java Enterprise Edition 7 specification, which includes a modular structure that provides service enabling only when required, improving startup speed, memory footprint and performance. Included in this minor release are a broad set of updates to existing features. In addition, the release provides new functionality in the areas of security, management, HA, and performance, such as a new additional security framework that unifies security across the entire application server, CLI and web console enhancements, and load balancing profile, respectively. Also included are additions to capabilities related to the simplification of components such as a new additional EJB Client library, HTTP/2 Support and the ability to replace the JSF implementation as well as the JBoss Server Migration Tool to migrate from previous versions of JBoss EAP to JBoss EAP 7.1. With these new capabilities, customers can continue to reduce maintenance time and effort, simplify security, and deliver applications faster and more frequently, all with improved efficiency.

Continue reading “Red Hat JBoss Enterprise Application Platform 7.1 Availability”

How to Address the Challenges of a Pervasive Integration Strategy

Earlier this months at the Gartner ITxpo event, Massimo Pezzini presented the challenges that must be addressed by a pervasive enterprise integration strategy. In summary there are four types of hybrid challenges (see Massimo’s diagram below).

Gartner-HiP

Continue reading “How to Address the Challenges of a Pervasive Integration Strategy”