Principal Developer Advocate at Kong
Viktor Gamov is a Principal Developer Advocate at Kong, a cloud connectivity company. Viktor has comprehensive expertise in building distributed systems and cloud-native architectures using open source technologies. He enjoys helping architects and developers design and develop low latency, scalable, and highly available systems. He is a professional conference speaker on distributed systems, streaming data, JVM, and DevOps topics. He's regular on events including JavaOne, Devoxx, OSCON, QCon, and others. He co-authored books O'Reilly's «Enterprise Web Development» and Manning's «Apache Kafka® in Action.» He blogs at http://gamov.io and co-hosts KongCast https://pod.link/kongcast. Follow Viktor on Twitter @gamussa, where he posts there about gym life, food, open-source, and Kong and Cloud.
Building Scalable Microservices With Ktor and Kafka
Writing a single RESTful service is easy, but creating a scalable design is hard. Developers building their first distributed apps in the cloud are often puzzled by the choice of available frameworks and the variety of design options for the system architecture.
In this workshop, we’ll pick the three Ks for server-side development: the Kotlin programming language, the Ktor services framework, and Kafka for event streaming. We’ll start with the basics by exploring the Ktor framework and learn how to build a simple web application using obligatory functions, including handling HTTP requests, working with WebSockets, database access, authentication and authorization, logging, and more. We will also explore the plugin API and write a simple plugin for our web application.
Once you’re comfortable with Ktor, we’re going to model a distributed system where the actors communicate asynchronously. What are the requirements for such a system? Messaging, long-term storage, and real-time stream processing immediately come to mind. This is where Apache Kafka comes in. Kafka will help us make the system truly asynchronous, distributed, and resilient.
By the end of the workshop you will know:
How to create and deploy resilient RESTful services using Ktor. How to integrate Ktor with external libraries that require additional configuration. How to flexibly connect services using a variety of tools, such as Kafka streams. This will be a fast-paced workshop where attendees will spend most of their time coding.