This is a guest post written and contributed by Ken Fromm, vice president of business development at Iron.io, a Rackspace Cloud Tools partner. Iron.io’s IronMQ is a scalable cloud-based message queue for building distributed cloud applications quickly and operating at scale.
Applications are rapidly evolving from monolithic two-tier applications (app servers/databases) to be more complex, more distributed and have many more pieces and connections. Almost every production-scale cloud application comprises large sets of independent processes, application interfaces, task workloads and connections to other systems. Many things happen behind the scenes in large applications to make applications more responsive and to process transactions and compute data.
A messaging layer is key to gluing these activities and components together and creating reliable and scalable distributed systems. It provides work dispatch, load buffering, synchronicity, database offloading and many other core needs. Message queues serve as standard architectural components alongside load balancers, app servers and databases.
Now that Iron.io’s IronMQ is available in the Rackspace Chicago (ORD) data center, we’re giving you an easier way to build high-scale, distributed cloud applications. Bringing IronMQ to Rackspace ORD supports the next era of cloud computing – highly distributed cloud systems operating at scale.
To learn how to use IronMQ for delayed processing and increasing scale, check out the Rackspace DevOps Blog: http://developer.rackspace.com/blog/using-ironmq.html
IronMQ And The Next Generation Cloud
Iron.io’s mission is to make IronMQ the message queue for the cloud; part of that means making it available everywhere – especially in data centers where distributed production-scale cloud applications are running. Adding the Rackspace ORD region brings Iron.io a large step closer to accomplishing this mission.
The IronMQ ORD implementation is running the latest version of IronMQ (version 3), which has an improved and more highly scalable persistence layer as well as the latest and greatest features.
Additionally, IronMQ in the ORD data center runs on Rackspace’s next generation Cloud Servers powered by OpenStack®, which offer a more responsive API and an improved control panel, and represent a significant performance and operational advantage over first generation servers.
The IronMQ ORD installation is backed by SSD drives for higher performance. And Iron.io has teamed with ObjectRocket (a MongoDB database as a service that Rackspace acquired this year) to assist in managing the persistence layer. This helps Iron.io leverage expertise within the data center to achieve and maintain extremely high levels of performance and reliability. This tight coordination between cloud services and cloud infrastructure layers is critical, especially when it comes to high-scale, high-throughput services that are core to most large scale applications.
Message Queue Benefits
Here are two examples of where message queues provide benefit:
By moving tasks to the background – things like sending emails, posting data, transforming images, running reports, accessing accounts or performing calculations – you can return control back to the user much more quickly and provide a much more responsive experience.
For many tasks, there may not be a user acknowledgement; for others, a call-back or a non-intrusive front-end polling cycle can retrieve the information once the task is done and the information is ready to be presented.
By decoupling processes, you make the front-end more independent from the processing layer and make each process independent from each other. In this way, changes in one type of work (sending an email, for example, or creating a thumbnail) will have little to no impact on any other parts of the application.
See our blog post on the Top 10 Uses for a Message Queue for more uses and benefits.
Benefits Of Cloud Services
Adding message queues to cloud applications only makes sense if there’s a net gain in terms of installation and operation. Adding a messaging layer by having to stand up servers and deal with reliability (servers, API connections, monitoring, log files, etc.) is not an easy task for most teams, even ones with dedicated sysops team.
When message queues are easy to set up, simple to use, highly available and extremely reliable, a whole new world opens up. By plugging into elastic messaging services, developers no longer have to maintain large sets of queues running on multiple servers. In an elastic world, service providers like Iron.io take on the responsibility for seamlessly managing servers, API endpoints, multiple zones and other infrastructure resources and abstracting away most physical constraints.
IronMQ in Rackspace ORD gives developers and organizations:
- Speed to market: applications and systems can be built much more quickly
- Reduced complexity: reduced risk/overhead in critical but non-strategic areas
- Increased scalability: ability to seamlessly scale throughput and functionality
Iron.io’s ironclad elastic IronMQ service coupled with Rackspace next generation Cloud Servers (and ObjectRocket managed database offerings) provides an industrial-strength offering for high-scale distributed systems. It’s a winning combination for cloud-focused businesses and developer communities. If you want to build distributed apps and go async – get Iron. On Rackspace.