Java-based microservices, containers, Kubernetes - how to

Track: Cloud + DevOps
Skill Level: Beginner
Room: Room A315-316
Time Slot: Tue 2/16, 4:00 PM
Tags: java , container , kubernetes , cloud
Abstract

Join this session to learn how to create a Java-based microservice using Spring Boot, containerize it using Maven plugins, and subsequently deploy a fleet of microservices and dependent components such as Redis using Kubernetes.

Spring Boot makes creating microservices fast and easy when it comes to running a single instance. Like most Java applications, the harder part is usually the clustering and fail-over configurations.

First, we’ll go over how to get started with Spring Boot, and, subsequently, using Maven plugins to generate and create Docker images during the build process.

Next, we’ll go over some basic architecture and configurations, such as:
- Configuring Spring Session
- Using Redis as the session store
- Testing the configuration locally with container linking
- Tips and tricks for faster startup (/dev/./urandom is your friend)

Finally, with the images, we’ll deploy the microservice into Kubernetes:
- Defining pods and services
- Linking microservices to Redis using Kubernetes
- Perform rolling upgrades of the application
- Canary new versions of the microservices into the fleet

The best part is we can visualize all these activities happening in Kubernetes.

Ray Tsang

Ray is a Developer Advocate for the Google Cloud Platform. Ray had extensive hands on cross-industry enterprise systems integration delivery and management experiences during his time at Accenture, managed full stack application development, DevOps, and ITOps. Ray specialized in middleware, big data, and PaaS products during his time at Red Hat while contributing to open source projects, such as Infinispan. Aside from technology, Ray enjoys traveling and adventures.

Follow Ray on Twitter @saturnism (https://twitter.com/saturnism)

Arjen Wassink

Arjen is more than 15 years a passionate developer and architect, building, maintaining and refactoring large scale business critical and complex systems for several customers. Docker and Kubernetes will change the way we will develop, maintain and manage systems by really enabling Agile/Scrum, DevOps and full-stack development. Arjen is regular speaker at events and part time lecturer at IT colleges.