Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ Microsoft AZ-900
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Personal Transformation Life Purpose Meditation CBT Emotional Intelligence
Web Development JavaScript React CSS Angular PHP Node.Js WordPress Vue JS
Google Flutter Android Development iOS Development React Native Swift Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Retargeting
Microsoft Power BI SQL Tableau Business Analysis Data Modeling Business Intelligence MySQL Data Analysis Blockchain
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Business Plan Startup Online Business Freelancing Blogging Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
Development Software Engineering Docker

The complete guide to running Java in Docker and Kubernetes

Running JVMs in containers, the hard bits explained! Everything you need to know to run containers in production
Rating: 4.6 out of 54.6 (35 ratings)
233 students
Created by Christopher Batey
Last updated 5/2020
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • In depth knowledge of how Java works in a Container
  • Kubernetes & Docker
  • Containers in depth: Linux cgroups & namespaces
  • How to build a production-quality Docker image for JVM applications

Course content

8 sections • 31 lectures • 4h 38m total length

  • Preview01:32

  • Preview13:16
  • Installing Docker
    05:00
  • Docker components
    09:11

  • Gradle and the samples
    11:44

  • Preview07:00

  • Introduction to namespaces and cgroups
    14:15
  • Preview14:58
  • Container CPU quota
    12:50
  • Container memory
    12:05

  • Kubernetes introduction
    16:21
  • Installing minikube
    08:07
  • Running the samples in Kubernetes
    13:03
  • Kubernetes resources
    05:57
  • Preview08:37
  • Memory in Kubernetes
    03:27
  • Liveness, readiness, and rolling deployments
    07:53

  • Preview01:54
  • Picking a base image
    09:36
  • JDK vs JRE base image
    05:45
  • Multi stage builds
    12:15
  • Preview10:25
  • Graceful shutdown and handling signals
    14:59
  • Handling signals in containers
    06:03
  • Debugging inside containers
    07:58
  • Speeding up startup with Class Data Sharding (CDS)
    09:17
  • Preview09:19
  • Lightning fast containers with Ahead Of Time (AOT) compilation
    08:15
  • GraalVM native image introduction
    09:20
  • GraalVM multi stage builds
    07:34

  • Questions and feedback
    00:49

Requirements

  • Basic Java is helpful but not mandatory. This course is applicable to any JVM language (Scala, Kotlin, Groovy, Clojure) though the samples are in Java.

Description

If you need to learn how to run, tune, and maintain JVM applications that run in Docker and/or Kubernetes then this is the course for you.

This course is very different from other Java/Docker/Kubernetes courses. It focuses on all the skills that you need to succeed in production.

All of the examples are in Java but the content is applicable for any JVM language including Scala, Groovy, and Kotlin.

We'll start with introductions for Docker and Kubernetes then we'll get into the fun stuff. We'll learn:

  • What a container is under the covers

  • Linux cgroups

  • Linux namespaces

Then we will go into how the JVM and your Java application behave differently in Kubernetes when running inside cgroups and namespaces. We'll cover:

  • JVM ergonomics

  • How CPU Shares and Quota work

  • How Kubernetes manages CPU and Memory

Then we will teach you all the techniques needed to build production-ready images:

  • Selecting a base image

  • JDK vs JRE based images

  • Multi-stage Docker builds

  • GraalVM

  • Class data sharing

  • Ahead of time compilation

We will experiment with different JVM versions and settings.

By the end of this course you'll know how to:

  • Build a production-ready image

  • Select between using CPU limits, quotas, or both in Kubernetes

  • Select memory limits and tune the JVM for running in Kubernetes

  • Understand CPU usage in Kubernetes and know why it is different to VMs and physical machines.



Who this course is for:

  • JVM developers interested in understanding how the JVM behaves in a container
  • Java developers using Docker
  • Java developers using Kubernetes
  • JVM developers using containers

Instructor

Christopher Batey
Principal Engineer @ Lightbend Inc
Christopher Batey
  • 4.6 Instructor Rating
  • 35 Reviews
  • 233 Students
  • 1 Course

I first started running Kubernetes back in 2014 (before it was version 1.0) when I was part of a small devops team managing thousands of JVMs running in Kubernetes. During that time I contributed to Kubernetes and spent many hours debugging and tuning JVM applications in Kubernetes.

Since then I've worked full-time on Akka (a Java/Scala concurrency and distributed systems library) where part of my work has been to optimize it for running in Kubernetes.

In this course, I'll be teaching you what I had to learn the hard way.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.