Microservices architecture is taking over software development discussions everywhere. More and more companies are adapting to develop microservices as the core of their new systems. However, when going beyond the "microservices 101" googled tutorial, required services communications become more and more complex. Scalable, distributed systems, container-native microservices, and serverless functions benefit from decoupled communications to access other dependent services. Asynchronous (non-blocking) direct or brokered interaction is usually referred to as messaging.
Managing and setting up messaging infrastructure components for development use was usually a long prerequisite task requiring several days on the project calendar. Need a queue or topic? Wait at least a couple weeks. Raise a ticket with your infrastructure operations team, grab a large cup of coffee, and pray for them to have some time to provision it. When your development team is adopting an agile approach, waiting days for infrastructure is not acceptable.
So, is going to the public cloud the answer? Perhaps, but then you will need to answer questions like:
- What availability will we have?
- Who will get the bill?
- Who will be managing the users?
- Can we move to another provider?
- Can we come back to the datacenter when we move to production?
Wouldn’t it be great to have the benefits of a public cloud self-service messaging infrastructure in your organization's own infrastructure? Well, we have good news as Red Hat announced on January 30, 2019, the General Availability of its newest Red Hat AMQ messaging suite component: Red Hat AMQ Online.
Red Hat AMQ Online
Red Hat AMQ Online combines the best features of Red Hat’s rock-solid AMQ product with the cloud accessibility of Red Hat OpenShift. This new feature from the Red Hat Integration solution allows service administrators to deploy and manage messaging infrastructure, while user teams (tenants) can request messaging resources, both using Kubernetes-native APIs and tools.
Red Hat AMQ Online gives administrators the ability to configure a cloud-native, multi-tenant messaging service either in the cloud or on-premises. It allows developers to provision messaging when they need it and where they need it, serving themselves from an easy-to-use browser console.
Instead of waiting for the operations team to provision the environment, they can create different configurations of messaging brokers and routers called “plans” that become available for tenants to use. Infrastructure configurations can be named—for example, small, medium and, large—reflecting the amount of resources provided for each ensemble. Small plans might be using a small broker with just 2GB of Java heap and a few GBs of storage, while extra large configurations involve the deployment of a large scalable cluster of heavily armored resources.
From the tenant point of view, all of the previous complexity is hidden behind the plans. This allows tenants to just focus on the design of their messaging destinations, selecting between one-to-one or one-to-many communications and whether persistence is needed. Experienced users can directly create Kubernetes Custom Resource Definitions on OpenShift for requesting the messaging addresses, or they can access the web console and have a graphical user interface to create, manage, and monitor their addresses.
Red Hat AMQ Online includes built-in authentication and authorization of clients and identity management through integration with Red Hat Single Sign-On (SSO). When using Red Hat SSO, organizations can provision their users locally or they can connect to their current LDAP or Active Directory service to use existing providers.
Interested in Red Hat AMQ Online? Watch this video for a quick overview presented by my colleague Christina Lin, or follow our “Hello World!” guide for getting started with true self-service messaging.
- To learn more about Red Hat Integration, see Christina Lin's article: Effortless API creation with full API lifecycle using Red Hat Integration (Part 1)
- Try Red Hat AMQ with a simple "Hello, World"