Likelihood to Recommend - If your application works well without being converted into microservices-based architecture & fits correctly in a VM, needs less scaling, have a fixed traffic pattern then it is better to keep away from Kubernetes. Otherwise, the operational challenges & technical expertise will add a lot to the OPEX. Also, if you're the one who thinks that containers consume fewer resources as compared to VMs then this is not true. As soon as you convert your application to a microservice-based architecture, a lot of components will add up, shooting your resource consumption even higher than VMs so, please beware. K8s should be avoided - When the application needs quick scaling, is already in microservice-based architecture, has no fixed traffic pattern, most of the employees already have desired skills. Kubernetes is a good choice Read full review
If you are looking for a message broker, RabbitMQ is pretty good. Its API lets you create tons of queues on demand and publish to all of them at once, while you can have 10+ consumers on each queue. It also does a good job of absorbing bursts of traffic. We've seen our queues get backed up to 3 million messages with no problem. In the modern era of GDPR, you may run into problems with keeping messages encrypted out of the box in-flight and at-rest with RabbitMQ. Not saying it's impossible, but it's tough to set up and you have to pay a high overload.
Read full review Pros Complex cluster management can be done with simple commands with strong authentication and authorization schemes Exhaustive documentation and open community smoothens the learning process As a user a few concepts like pod, deployment and service are sufficient to go a long way Read full review Document the internal processes of Pivotal RabbitMQ so you fully understand what can and cannot do. Concurrency and resource utilization. Handling dead letter queues and giving flexibility to create your own dead letter systems. AMQL 0.9.1 is extremely flexible. Read full review Cons Local development, Kubernetes does tend to be a bit complicated and unnecessary in environments where all development is done locally. The need for add-ons, Helm is almost required when running Kubernetes. This brings a whole new tool to manage and learn before a developer can really start to use Kubernetes effectively. Finicy configmap schemes. Kubernetes configmaps often have environment breaking hangups. The fail safes surrounding configmaps are sadly lacking. Read full review Support for SSL/TLS. Failover RabbitMQ cluster for high traffic environments. The documentation needs improvement in explaining how to configure the above-mentioned features. Read full review Usability
RabbitMQ is very usable if you are a programmer or DevOps engineer. You can setup and configure a messaging system without any programmatic knowledge either through an admin console plugin or through a command-line interface. It's very easy to spin up additional consumers when volume is heavy and it's very easy to manage those consumers either through automated scripting or through their admin console. Because it's language agnostic it integrates with any system supporting AMQP.
Read full review Support Rating
Its been most effective and efficient. Was able to give us the results we needed to be able analyze our business input and output.
Read full review Alternatives Considered
Most of the required features for any orchestration tool or framework, which is provided by Kubernetes. After understanding all modules and features of the K8S, it is the best fit for us as compared with others out there.
Read full review
I have not used other products other than a roll-your-own solution. The Selection of RabbitMQ was made before I began working on the project but I was able to leverage it well without making major changes to the existing apps. This was particularly helpful in lowering risks. I have done Queueing in a SQL server-based environment when the queue was especially managed in SQL tables. This seemed to be an overly SQL-heavy way to implement Queue and took significantly more time than RabbitMQ.
Read full review Return on Investment Because of microservices, Kubernetes makes it easy to find the cost of each application easily. Like every new technology, initially, it took more resources to educate ourselves but over a period of time, I believe it's going to be worth it. Read full review Positive: we don't need to keep way too many backend machines around to deal with bursts because RabbitMQ can absorb and buffer bursts long enough to let an understaffed set of backend services to catch up on processing. Hard to put a number to it but we probably save $5k a month having fewer machines around. Negative: we've got many angry customers due to queues suddenly disappearing and dropping our messages when we try to publish to them afterward. Ideally, RabbitMQ should warn the user when queues expire due to inactivity but it doesn't, and due to our own bugs we've lost a lot of customer data as a result. Positive: makes decoupling the web and API services from the deeper backend services easier by providing queues as an interface. This allowed us to split up our teams and have them develop independently of each other, speeding up software development. Read full review ScreenShots