Creating a Microservices Architecture with Kotlin, Ktor and Event Streams
Writing a single RESTful service is easy, creating a scalable design is hard. Developers building their first distributed apps in the cloud are frequently befuddled by both the diversity of frameworks available and the proliferation of candidate architectures.
In this workshop we will pick three of the 'rising stars' in server-side development - the Kotlin programming language, the Ktor services framework and the support for event streaming provided by frameworks like Kafka. Starting from first principles we will take a sample problem and model it as a set of interacting services, using Kubernetes to simplify the deployment. Along the way we will discuss the different architectural options available and how they can be applied to produce a reactive design.
By the end of the day you will know:
- The fundamentals of programming in Kotlin (if you didn't already)
- How to create and deploy resilient RESTful services using Ktor
- Options for flexibly connecting services (such as Kafka streams)
- Pro's and cons of the different approaches to Reactive Design
This will be a fast paced workshop where attendees will spend most of their time coding. As a consequence you should have at least 5 years experience in Java or C# and some prior experience creating RESTful services. Prior exposure to Kotlin is helpful but not essential.