Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Deploying Spring Boot Microservices with Containers and Kubernetes

DZone's Guide to

Deploying Spring Boot Microservices with Containers and Kubernetes

A presentation from this year's SpringOne2GX in September, about how to create a Java-based microservice with Spring Boot, containerize it, and deploy it with Kubernetes.

· DevOps Zone ·
Free Resource

Read why times series is the fastest growing database category.

Recorded at SpringOne2GX 2015

Speaker: Ray Tsang, Google

Slides: TBD

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 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 Best part - we can visualize all of these activities happening in Kubernetes.


Learn how to get 20x more performance than Elastic by moving to a Time Series database.

Topics:
devops ,microservices ,spring ,spring boot ,docker ,containers ,kubernetes

Published at DZone with permission of

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}