Published Sep 3, 2019

Episode 369: Derek Collison on Messaging Systems and NATS

Derek Collison dives into the complexities of messaging systems, contrasting patterns like queuing and publish-subscribe, while highlighting how technologies such as NATS and Kafka streamline architecture. He delves into the shift towards decentralized systems, which enhance security and simplify production environments, offering insights into the evolving landscape of communication technologies.
Episode Highlights
Software Engineering Radio - the podcast for professional software developers logo

Popular Clips

Episode Highlights

  • Deployment

    Messaging systems like NATS significantly simplify deployment and operational management, particularly in cloud environments. highlights how NATS offers a streamlined approach with tools like Docker images, making it easy for developers to deploy and manage applications without extensive technical overhead 1. This ease of deployment allows developers to focus more on building software rather than managing infrastructure.

    We have a docker image, so you can just kind of go, Docker, run this, and they go, perfect. Then we never hear from them again.

    ---

    This simplicity is crucial for developers who want to deploy faster and focus on creating software that customers love 2.

       

    Security

    Security is a fundamental feature of messaging systems like NATS, facilitating secure communications in distributed environments. explains that NATS is designed to be secure by default, with features like sandboxed communication and anonymized requests, ensuring that no private keys or passwords are ever exposed 3. This design reduces friction for developers, operations, and security teams, making it easier to maintain secure communications.

    It's secure by default. It's not a lot of pain to get it to be secure.

    ---

    Such built-in security features are essential for modern service meshes and microservices, providing a simple yet effective way to manage secure communications 4.

       

    Multi-Tenancy

    NATS supports secure multi-tenancy, enabling isolated yet shareable communication domains within distributed systems. describes how NATS creates a sandbox environment for each user, allowing them to control their communication space while still being able to import and export services securely 5. This design ensures that only authorized users within the same namespace can access messages, promoting both isolation and collaboration.

    You have your own little sandbox, and you communicate in there and you control everything in that sandbox.

    ---

    This approach simplifies the process of managing microservices and communication domains, making it easier for organizations to innovate without the constraints of traditional siloed systems 6.

Related Episodes