Microservices are especially characterized by their autonomy: the services are as loosely coupled as possible. For this reason, a microservice architecture allows different technologies to be deployed that are exactly suitable for the problem which needs to be solved and the skill set of the software engineer. In such an environment, the benefits of a modern language like Clojure can be invaluable: short and precise code, concurrent processing, and direct support for asynchronous programming.
However, there are also particular challenges when dealing with microservices: How can a project be created with as little overhead as possible? How can services communicate with each other? How can I protect my service when other services fail? And once a service has been created, how can I deploy and monitor it?
In this talk we will introduce the participants to Clojure step by step and, with the help of an example, introduce the Clojure libraries which can be used in order to tackle the previously stated challenges.
Michael Vitz (@michaelvitz (https://twitter.com/michaelvitz)) is a consultant for software architecture and engineering at innoQ. He has many years of experience building and maintaining software for the JVM. Currently his main interests are DevOps, Continuous Delivery, Microservices, Cloud Architecture, and Clojure.
Joy Clark (@iamjoyclark (https://twitter.com/iamjoyclark)) is a consultant at innoQ and develops software for the JVM. She appreciates elegant software solutions and is currently interested in software architecture and functional programming with Clojure.