Ryan Knight

Technical Thought Leader

Ryan is a technical thought leader with extensive experience in cloud
native architectures, large scale distributed systems and data
pipelines. He first started Java Consulting at the Sun Java Center and
has since worked and consultant at a wide variety of companies such as
Oracle, Riot Games, Deloitte, LightBend, DataStax and Starbuck. From
the diverse number of projects he has gained extensive experience with
a wide variety of technologies including Scala, Java, Cassandra,
Vault, Istio and Kubernetes. He enjoys working with clients helping
them to solve their most difficult challenges. Ryan regularly does
trainings and has spoken at conferences around the world, such as
Scale by the Bay, QCon, JavaOne, Devoxx, JavaZone, Cassandra Summit
and many others.

Presentations

The Java Platform has seen a tremendous amount of evolution and improvements over the past 5 years in many different areas including: language features in Java, Kotlin, and Scala, Functional Programming, dev environments, test workflows, Reactive, Stream processing, distributed data, containerization, Serverless, and AoT compilation.

This talk will give you a tour of the most important improvements, why they matter, and how to take advantage of them.

Over the past few years architectural patterns for distributed data have gained more importance and adoption. At the same time similar patterns have emerged for decentralized data. You will learn how CQRS and CRDTs are used in trusted and untrusted environments to overcome the challenges of eventual consistency, data privacy, and global scalability.

Through code examples you will learn how to use these patterns and will see how they are applied through higher-level abstractions like GraphQL, Cloudstate, and even Blockchain.

In this hands-on workshop you will learn how to take a Cloud Native Application from inception to production. Starting with a base sample application we will learn how to break the application into separate services that communicate via gRPC Kotlin. We will then learn how to containerize and deploy the application to Kubernetes. Along the way we will learn how to address some of the major challenges of deploying applications to Kubernetes, such as scaling and service discovery.

Some of the topics to be covered include:

Service communication using gRPC, a fast and efficient binary protocol

Creating Kubernetes Deployment Files
Deploying, Managing and Scaling services using Kubernetes
Using Kubernetes Service Discovery with gRPC