What is Pedestal?

animated front page sample

Pedestal is a set of libraries that we use to build web services and applications. Pedestal runs in the back-end and can handle anything from tiny static web sites, to traditional page oriented applications, to dynamic single page applications built using server-sent events and WebSockets.

Pedestal scales up with your needs.

We wrote Pedestal to bring Clojure’s key attributes, Focus, Empowerment, and Simplicity, to the domain of Clojure web development.

Features

Ready for Production

Pedestal works with a huge variety of containers and deployment options. Deploy applications or microservices on unikernels, Docker containers, or as stand-alone JAR files, or a servlet-container WAR files.

Secure by Default

Pedestal automatically uses secure headers, CSRF-protection, and other best practices. It works with CORS to allow secure front end applications.

Streaming

Pedestal lets you create dynamic applications with server-sent events and WebSockets. It leverages Clojure's extraordinary asynchronous capabilities and Java's efficient NIO operations.

Late Binding

Routers and Interceptors let Pedestal services apply different behavior based on each incoming request, rather than statically wrapping everything up during initialization.

Composable

Pedestal is built from pieces that connect via protocols, giving you the flexibility to swap out any part with something customized to your application.

Testable

Pedestal's core interceptor model breaks request processing into small pieces that are simple, often purely functional, and easy to test; then lets you stack those pieces up to form your full application.