Home / Companies / Semaphore / Blog / Post Details
Content Deep Dive

Unveiling the Semaphore Architecture: How It Works Under the Hood

Blog post from Semaphore

Post Details
Company
Date Published
Author
Radoslaw Wozniak, Tomas Fernandez
Word Count
951
Language
English
Hacker News Points
-
Summary

Semaphore is a comprehensive CI/CD platform designed to enhance software delivery by automating builds, tests, and deployments, making it suitable for developers and teams of any size. Its architecture is a sophisticated mix of over 30 microservices, using Elixir for handling concurrency, Go for performance-critical services, and JavaScript & HTML for the UI layer. Semaphore employs HTTP for external interactions and gRPC for fast internal messaging, with RabbitMQ for background tasks, while Kubernetes, PostgreSQL, and Redis ensure scalability and reliability. The platform manages CI/CD workflows by processing code commits through a series of orchestrated services, such as the Plumber Service for pipeline processing and the Zebra Service for job execution. It integrates with tools like Slack and GitHub for notifications and supports user interaction through a secure UI and API, enforced by Keycloak authentication and RBAC for permissions. As an open-source project, Semaphore invites community contributions to continuously evolve and improve its capabilities in software delivery.