Public Sector

We've had the pleasure of working with UK and overseas central and local government departments, including Healthcare (NHS and Foundation Trusts), Defence, Education (Universities and colleges), many of the main Civil Service departments, Emergency Services; also public-owned corporations including the BBC, Bank of England, Ordnance Survey, and regulatory bodies such as Ofgem.

We are registered on Crown Commercial Service’s (CCS) Dynamic Purchasing System (RM6219 Training and Learning) and also with numerous tender portals such as Ariba, Coupa and Delta E-Sourcing.

Read more...

Graduate Training Schemes

Framework Training has a strong track record of providing a solid introduction into the working world for technical graduates across myriad industries. We provide the opportunity to learn and gain valuable hands-on experience in a supportive, friendly and sociable training environment.

Attract & retain the brightest new starters

We know it is vital for our clients to invest in the future of their talented grads; not only to provide them with high-quality, professional training essential for their roles, but to embed them within the organisation’s culture and guide them on the right path to a successful career.

After all, your new hires could well be the next leaders and their creative ideas and unique insights are invaluable to your business.

Read more ...

Learning & Development

Our unique portfolio of high-quality technical courses and training programmes are industry-respected. They’re carefully designed so that delegates can seamlessly apply what they’ve learnt back in the workplace. Our team of domain experts, trainers, and support teams know our field — and all things tech — inside out, and we work hard to keep ourselves up to speed with the latest innovations. 

We’re proud to develop and deliver innovative learning solutions that actually work and make a tangible difference to your people and your business, driving through positive lasting change. Our training courses and programmes are human-centred. Everything we do is underpinned by our commitment to continuous improvement and learning and generally making things much better.

Read more...

Corporate & Volume Pricing

Whether you are looking to book multiple places on public scheduled courses (attended remotely or in our training centres in London) or planning private courses for a team within your organisation, we will be happy to discuss preferential pricing which maximise your staff education budget.

Enquire today about:

  • Training programme pricing models  

  • Multi-course voucher schemes

Read more...

Custom Learning Paths

We understand that your team training needs don't always fit into a "one size fits all" mould, and we're very happy to explore ways in which we can tailor a bespoke learning path to fit your learning needs.

Find out about how we can customise everything from short overviews, intensive workshops, and wider training programmes that give you coverage of the most relevant topics based on what your staff need to excel in their roles.

Read more...

RabbitMQ: Administration and Operational Deep Dive

Configure, Scale, and Monitor Your RabbitMQ Broker for Peak Performance.

About the course

RabbitMQ stands as a leading open-source message broker, serving as a critical component for enabling asynchronous communication, decoupling services, and building resilient applications across diverse architectures. For organisations relying on RabbitMQ to handle vital message traffic, ensuring its reliability, scalability, security, and performance is paramount. This 3-day intensive training course is designed for system administrators, DevOps engineers, and senior technical professionals who require an in-depth understanding of RabbitMQ beyond basic usage. It provides the knowledge and practical skills needed to effectively install, configure, secure, monitor, tune, and scale RabbitMQ deployments in production environments.

The course establishes a solid foundation by covering core messaging concepts, delving into the intricate details of RabbitMQ's architecture, and providing an overview of the Advanced Message Queuing Protocol (AMQP). Participants will gain hands-on experience with obtaining and installing RabbitMQ in various environments, mastering its initial configuration, and understanding critical aspects like logging, security mechanisms for authentication and authorisation, and the nuances of message persistence, memory management, and flow control within the broker.

Furthermore, the course provides detailed coverage of building highly available and scalable RabbitMQ clusters, including practical exercises with mirrored queues and understanding broker networks. Participants will learn how to effectively monitor RabbitMQ using the built-in Management UI and HTTP API, explore internal event mechanisms, and configure logging for diagnostics. A significant portion is dedicated to identifying performance bottlenecks and applying tuning techniques at the runtime, network, and asynchronous levels to optimise broker performance. The course also touches upon supporting additional protocols like MQTT and STOMP via the WebSockets plugin, equipping attendees with the comprehensive expertise required to build and maintain a resilient and high-performance messaging backbone for their applications.

Instructor-led online and in-house face-to-face options are available - as part of a wider customised training programme, or as a standalone workshop, on-site at your offices or at one of many flexible meeting spaces in the UK and around the World.

    • Explain core messaging concepts, RabbitMQ architecture, and the AMQP protocol.
    • Obtain, install, and perform initial configuration of a RabbitMQ broker in various environments.
    • Configure security settings for authentication, authorisation, and secure communication in RabbitMQ.
    • Understand RabbitMQ's message persistence mechanisms, memory management, and flow control.
    • Design, implement, and manage highly available RabbitMQ clusters using features like Mirrored Queues.
    • Effectively monitor RabbitMQ broker and cluster health and performance using the Management UI, API, and logging.
    • Identify and apply techniques for performance tuning and optimisation of RabbitMQ deployments.
    • Understand RabbitMQ's support for additional protocols like MQTT and STOMP via plugins.
  • This 3-day intensive training course is designed for IT professionals who are responsible for deploying, configuring, managing, and scaling RabbitMQ as a core part of their application infrastructure. It is ideal for:

    • System Administrators and DevOps Engineers who need to install, configure, monitor, and maintain robust RabbitMQ deployments.

    • Senior Developers and Software Architects who design and build applications relying heavily on RabbitMQ and require a deep understanding of its operational characteristics for building resilient systems.

    • Professionals looking to gain in-depth knowledge of RabbitMQ's advanced features, clustering, and performance tuning.

  • Participants should have:

    • Practical experience with administering Linux-based systems, including command-line navigation and basic scripting.

    • A fundamental understanding of networking concepts (IP addresses, ports, firewalls, basic troubleshooting).

    • General familiarity with messaging concepts (producers, consumers, queues, exchanges) is helpful, but the course will cover RabbitMQ-specific fundamentals.

    • Experience with virtualisation or cloud environments (for hands-on installation labs) is beneficial.

    This course focuses on the operational aspects of the RabbitMQ broker itself rather than application-level messaging patterns implemented on top of it.

    We can customise the training to match your team's experience and needs - with more time and coverage of fundamentals for those new to Linux, for instance.

  • This RabbitMQ course is available for private / custom delivery for your team - as an in-house face-to-face workshop at your location of choice, or as online instructor-led training via MS Teams (or your own preferred platform).

     

    Get in touch to find out how we can deliver tailored training which focuses on your project requirements and learning goals.

  • RabbitMQ Fundamentals

    • An overview of Messaging, Message Queues, and the role of Message Brokers in modern architectures.

    • RabbitMQ Architecture: Understanding Producers, Consumers, Exchanges, Queues, and Bindings.

    • The Message-Oriented Middleware concept.

    • Overview of the Advanced Message Queuing Protocol (AMQP 0-9-1) - Key concepts and terminology.

    • Basic concepts of Load Balancing in messaging systems.

    • Useful RabbitMQ CLI tools overview.

    • Hands-On Lab: Exploring messaging concepts and the RabbitMQ architecture using the Management UI (once installed).

    RabbitMQ Installation and Initial Configuration

    • Obtaining RabbitMQ: Downloading packages for various platforms.

    • Installing RabbitMQ locally (e.g., on Linux/Windows).

    • Installing and enabling essential plugins (e.g., Management plugin).

    • Starting and Stopping the RabbitMQ service.

    • First steps in basic configuration: The rabbitmq.conf and advanced.config files.

    • Understanding RabbitMQ's Logging configuration and log file locations.

    • Hands-On Lab: Performing a local installation of RabbitMQ and the Management plugin, starting/stopping the service, making basic configuration changes, reviewing log files.

    Security and Authentication

    • Importance of securing your RabbitMQ broker.

    • Authentication: Verifying client identity.

    • Authentication mechanisms: AMQPLAIN, PLAIN, External, TLS-based authentication.

    • Configuring users, virtual hosts (vhosts), and permissions (authorisation).

    • Controlling access to exchanges, queues, and bindings.

    • Configuring TLS/SSL for secure client connections.

    • Understanding and handling connection and channel error notifications.

    • Hands-On Lab: Configuring users, vhosts, and permissions via CLI and Management UI, setting up basic TLS for client connections.

    RabbitMQ Persistence and Resource Management

    • Understanding the message lifecycle and persistence.

    • Configuring message durability and persistent message delivery.

    • Queue durability vs. Message durability.

    • RabbitMQ message store: How messages are stored on disk.

    • Memory usage: Monitoring and configuring memory high watermark.

    • Flow control: How RabbitMQ prevents overwhelming the broker.

    • Understanding and using Lazy Queues for reduced memory usage and disk-based storage.

    • Hands-On Lab: Configuring durable queues and persistent messages, observing memory usage and flow control behaviour, experimenting with lazy queues.

    Module 5: RabbitMQ Clustering Fundamentals

    • Why cluster RabbitMQ brokers? (Scalability, High Availability).

    • Understanding the concept of a RabbitMQ cluster.

    • Node types: RAM nodes vs. Disk nodes.

    • Setting up a basic RabbitMQ cluster.

    • Managing cluster membership (joining, leaving nodes).

    • Troubleshooting clustering issues.

    • Hands-On Lab: Setting up a simple 2-node or 3-node RabbitMQ cluster, managing cluster membership via CLI.

    High Availability with Mirrored Queues

    • Achieving High Availability for queues.

    • Understanding Mirrored Queues: Master/Replica synchronisation.

    • Configuring Mirrored Queues using policies.

    • Synchronising replicas.

    • Handling failover and recovery with Mirrored Queues.

    • Performance considerations for Mirrored Queues.

    • Broker Networks and Federation (overview, contrasting with clustering).

    • More on Load Balancing strategies for producers and consumers connecting to a cluster.

    • Hands-On Lab: Configuring mirrored queues via policies, simulating node failures and observing failover and recovery, testing client behaviour with Mirrored Queues.

    Monitoring RabbitMQ

    • Importance of monitoring broker and cluster health.

    • Monitoring using the RabbitMQ Management UI: Overview, connections, channels, exchanges, queues, nodes, alarms.

    • Monitoring using the RabbitMQ HTTP API: Retrieving metrics and status programmatically.

    • Understanding the Internal Event Exchange (amq.rabbitmq.trace) for message tracing (overview).

    • Advanced Logging configuration: Controlling log levels and destinations.

    • Integrating RabbitMQ monitoring with external monitoring systems (overview).

    • Using Dead Letter Exchanges (DLX) for handling undeliverable messages.

    • Hands-On Lab: Exploring the Management UI in detail, using the HTTP API to retrieve metrics, configuring detailed logging, setting up a Dead Letter Exchange for error handling.

    RabbitMQ Performance and Tuning Overview

    • Identifying performance bottlenecks in a messaging system.

    • Key metrics for measuring RabbitMQ performance (throughput, latency, resource usage).

    • Performance Tuning overview: Approaches and considerations.

    • Runtime tuning: Adjusting Erlang VM settings, process limits.

    • Network and TCP tuning: Optimising network configuration for messaging.

    • Async operations and their impact on performance.

    • Hands-On Lab: Using monitoring tools to identify potential bottlenecks, applying basic runtime or network tuning parameters and observing the effect on performance (potentially using load generation tools).

    More RabbitMQ Tuning Tips and Best Practices

    • Optimising queue and exchange configuration for performance.

    • Client-side tuning: Connection pooling, channel usage, prefetch settings.

    • Using confirmations and transactions (understanding their performance impact).

    • Disk I/O considerations for persistent messages.

    • Understanding and avoiding common performance pitfalls.

    • Best practices for deploying and operating RabbitMQ at scale.

    • Hands-On Lab: Experimenting with client prefetch settings, comparing performance with and without confirmations/transactions, discussing best practices based on lab experiences.

    Supporting Additional Protocols

    • RabbitMQ's multi-protocol support.

    • Understanding the WebSockets plugin.

    • Overview of the MQTT protocol: Lightweight messaging for IoT.

    • Overview of the STOMP protocol: Simple Text Oriented Messaging Protocol.

    • Enabling and configuring protocol plugins.

    • Basic interaction with RabbitMQ using MQTT or STOMP clients (demonstration/brief lab).

    • Hands-On Lab: Enabling the WebSockets plugin, connecting to RabbitMQ using a simple MQTT or STOMP client.

    Disaster Recovery & Operational Best Practices

    • Strategies for RabbitMQ Disaster Recovery.

    • Backup and restore procedures for RabbitMQ data.

    • Planning for upgrades and maintenance.

    • Automating RabbitMQ deployment and management (overview of tools like Ansible, Chef, Kubernetes Operators).

    • Review of operational best practices for production RabbitMQ deployments.

    • Troubleshooting common operational issues.

    • Continuing your RabbitMQ journey: Resources and community.

    Hands-On Lab: Practicing basic backup/restore procedures, discussing automated deployment strategies.

Trusted by

CAPITA company logo IBM company logo Crown Commercial Service Supplier (CCS) logo

Public Courses Dates and Rates

Please get in touch for pricing and availability.

Related courses