Microservice Development with Java EE 8, Docker, and Kubernetes Training Course

Duration

28 hours (usually 4 days including breaks)

Requirements

  • Java programming experience
  • An understanding of Java EE concepts

Audience

  • Developers

Overview

The Java EE platform provides an API and runtime environment for developing and running large-scale, multi-tiered, scalable, reliable, and secure network applications. Docker and Kubernetes enable developers to package a Java application into a container and deploy it as a microservice in a Java EE environment.

This instructor-led, live training (online or onsite) is aimed at developers who wish to containerize their Java EE 8 applications and run them as microservices in the cloud.

By the end of this training, participants will be able to:

  • Build and deploy Java microservices in Docker containers.
  • Manage Docker containers using Kubernetes.
  • Integrate microservices with an existing monolithic system.
  • Monitor, test, and secure microservices.
  • Troubleshoot containers and orchestration environments.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Overview of Java EE 8 Features and Architecture

Overview of Docker Containers and the Kubernetes Orchestrator

Understanding Microservices and How They Interact with Existing Applications

Setting up the Development Environment

Containerizing a Java Application

Networking a Docker Container

Accessing Storage Inside and Outside of a Container

Orchestrating a Docker Container using Kubernetes

Deploying the Java Application as a Microservice

Containerizing a Java EE 8 Application

Integrating a Microservice with a Java EE 8 Application

Making a Microservice Persistent

Integrating a Microservice with a Legacy Monolythic System

Troubleshooting a Microservice

Summary and Conclusion

Creating a Service Mesh with Istio and Kubernetes Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • An understanding of networking concepts.
  • Experience with Linux command line.
  • An understanding of containers and Kubernetes.

Audience

  • Developers
  • Cloud architects
  • DevOps engineers
  • Network engineers
  • Sys Admins

Overview

Istio is an open source service mesh for connecting, monitoring, and securing microservices.

This instructor-led, live training (online or onsite) is aimed at engineers who wish to connect, secure, and manage cloud-based applications (microservices) using an Istio based service mesh.

By the end of this training, participants will be able to:

  • Install and configure Istio on Kubernetes.
  • Understand service meshes and implement one with Istio.
  • Deploy an Istio service mesh on top of Kubernetes.
  • Use a service mesh to run, manage and monitor microservices in the cloud.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.
  • To learn more about Istio, please visit: https://istio.io/

Course Outline

Introduction

  • The complexities of managing a service mesh

How Microservices Connect with Each Other

Overview of Kubernetes Networking

Overview of Istio Features and Architecture

Case study: When Managing a Network of Microservices Gets out of Hand

Setting up Istio on Kubernetes

Creating an Istio Service Mesh with Kubernetes

Working with the Istio Control Plane

Working with the Istio Data Plane

Networking and Policy Management with Project Calico

Deploying the Istio Service Mesh

Securing the Service Mesh with End-to-End Authentication

Troubleshooting

Summary and Conclusion

Managing Kubernetes with Rancher Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • Experience with Kubernetes.
  • Experience with distributed applications.
  • A general understanding of infrastructure and software deployment.

Audience

  • Software engineers
  • System administrators
  • DevOps engineers

Overview

Rancher is an open source PaaS platform for managing Kubernetes on any infrastructure.

This instructor-led, live course provides participants with an overview of Rancher and demonstrates through hands-on practice how to deploy and manage a Kubernetes cluster with Rancher.

By the end of this course, participants will be able to:

  • Install and configure Rancher.
  • Launch a Kubernetes cluster using RKE (Rancher Kubernetes Engine).
  • Manage multiple cloud Kubernetes clusters while avoiding vendor lock-in.
  • Manage Kubernetes clusters using their operating system and container engine of choice.

Format of the Course

  • Part lecture, part discussion, heavy hands-on practice

Course Outline

Introduction

  • Rancher vs OpenShift

Installing and Configuring Rancher

Understanding Rancher’s Kubernetes Distribution

Starting the Rancher Server

Adding Hosts

Launching Infrastructure Services

Creating a Container Using the UI

Creating a Container through Docker Command Line

Creating a Multi-Container Application

Networking Between Containers

Service Discovery

Load Balancing Containers

Launching Kubernetes Using RKE (Rancher Kubernetes Engine)

Administering Kubernetes using Rancher

Managing Kubernetes Workloads

Health Monitoring

Backup and Recovery

Working with Catalogs

Working with the Rancher API (optional)

Summary and Conclusion

Certified Kubernetes Application Developer (CKAD) – exam preparation Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • An understanding of cloud native application concepts and architectures.
  • Experience in programming in Python, Node.js, Go, or Java.
  • An OCI-Compliant Container Runtime, such as Docker or rkt.

Audience

  • Developers
  • Kubernetes Users

Overview

The Certified Kubernetes Application Developer (CKAD) program has been developed by The Linux Foundation and the Cloud Native Computing Foundation (CNCF), the host of Kubernetes.

This instructor-led, live training (online or onsite) is aimed at Developers who wish to confirm their skills in design, build, configure, and expose cloud native applications for Kubernetes. 

On the other hand, training is also focused on gaining practical experience in Kubernetes application development, so we recommend taking part in it, even if you don’t intend to take CKAD exam.

NobleProg have been delivering Docker & Kubernetes training from 2015. With more than 360 successfully completed training projects, we became one of the best known training company worldwide in field of containerization. Since 2019 we are also helping our customers to confirm their performance in k8s environment by preparing them and encouraging to pass CKA and CKAD exams.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

Course Outline

  1. Core concepts
    1. Kubernetes architecture
    2. Cluster components
  2. Building the app
    1. Creating containers
    2. Configuring local Docker repo
  3. Pod design
    1. Base configuration
    2. Liveness and readiness probes
    3. CPU and memory constraints
    4. Resource limits for a namespace
  4. Security
    1. Security context
    2. Service accounts
    3. Secrets
    4. Kubernetes network policy
    5. Linux capabilities
  5. Deployment configuration
    1. Controllers: deployments, daemon sets and stateful sets
    2. Jobs and cron jobs
    3. Config maps
    4. Rolling upgrade, blue-green deployment, canary deployment
    5. Using Helm for managing deployments
    6. Kubernetes API resources
  6. Multi-container pods
    1. Sidecar, ambassador and adapter containers
    2. Init containers
  7. Services & Networking
    1. Services and different types
    2. Load balancing
    3. Ingress controller
  8. State Persistence
    1. Persistence of application state in Kubernetes
    2. Ephemeral storage
    3. Persistent volumes and claims
    4. Storage classes

Kubernetes Advanced Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • Experience with Docker containers
  • Familiarity with the Linux command line
  • An understanding of networking concepts

Audience

  • Software developers
  • Architects
  • Deployment engineers
     

Overview

This instructor-led, live training (online or onsite) is aimed at engineers wishing to automate, secure, and monitor containerized applications in a large-scale Kubernetes cluster.

By the end of this training, participants will be able to:

  • Use Kubernetes to deploy and manage different environments under the same cluster
  • Secure, scale and monitor a Kubernetes cluster

Format of the Course

  • Interactive lecture and discussion
  • Lots of exercises and practice
  • Hands-on implementation in a live-lab environment

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

Setting up the Kubernetes Cluster

Infrastructure for Kubernetes

  • Provisioning, partitioning, networking
  • Considerations for scaling a Kubernetes Cluster

Building in High-Availability

  • Load Balancing and Service Discovery

Deploying a Scalable Application

  • Horizontal Pod Autoscaling
  • Database clustering in Kubernetes

Securing the Application

  • Authentication
  • Authorization

Updating the Application

  • Package Management
  • Releases in Kubernetes

Maintainance

  • Logging with Fluentd (optional)
  • Monitoring with Elastic Stack (ELK) (optional)
  • Scheduling with Cronjob

Troubleshooting

  • Diagnosing and fixing common Kubernetes issues

Summary and Conclusion

Docker, Kubernetes and OpenShift 3 for Developers Training Course

Duration

35 hours (usually 5 days including breaks)

Requirements

  • An basic understanding of container concepts
  • Experience with the Linux command line
  • Application development experience

Audience

  • Architects
  • Developers

Overview

Docker is an open-source platform for automating the process of building, shipping and running applications inside containers.

Kubernetes goes one step further by providing the tools needed to deploy and manage containerized applications at scale in a clustered environment.

OpenShift Container Platform (formerly OpenShift Enterprise) brings Docker and Kubernetes together into a managed platform, or PaaS (Platform as a Service), to further ease and simplify the deployment of Docker and Kubernetes. It provides predefined application environments and helps to realize key DevOps principles such as reduced time to market, infrastructure as code, continuous integration (CI), and continuous delivery (CD). OpenShift Container Platform is maintained by Red Hat and runs atop of Red Hat Enterprise Linux.

In this instructor-led, live training, participants will learn how to use OpenShift Container Platform to deploy containerized applications.

By the end of this training, participants will be able to:

  • Create and configure an OpenShift setup.
  • Quickly deploy applications on-premise, in public cloud or on a hosted cloud.

Format of the Course

  • Part lecture, part discussion, exercises and heavy hands-on practice.

Course Customization Options

  • This course is based on OpenShift Container Platform version 3.x. 
  • To customize the course or request training on a different version of OpenShift (e.g., OpenShift Container Platform 4 or OKD), please contact us to arrange.

Course Outline

Introduction

  • From Docker containers, to managed clusters of containers with Kubernetes, to managed Docker and Kubernetes with OpenShift.

Docker

  • Overview of Docker architecture
  • Setting up Docker
  • Running a web application in a container
  • Managing Docker images
  • Networking Docker containers
  • Managing the date inside a Docker Container

Kubernetes

  • Overview of Kubernetes architecture
  • Managing a cluster of Docker containers with Kubernetes

OpenShift Container Platform

  • Overview of OpenShift Container Platform architecture
  • Creating containerized services
  • Managing Docker containers with OpenShift Container Platform
  • Creating and managing container images
  • Deploying multi-container applications
  • Setting up an OpenShift Container Platform cluster
  • Deploying applications on OpenShift Container Platform using source-to-image (S2I)

Closing remarks

Docker, Kubernetes and OpenShift 3 for Administrators Training Course

Duration

35 hours (usually 5 days including breaks)

Requirements

  • An understanding of container concepts
  • System administration or DevOps experience
  • Experience with the Linux command line

Audience

  • System administrators
  • Architects
  • Developers

Overview

Red Hat OpenShift Container Platform (formerly OpenShift Enterprise) is an on-premises platform-as-a-service used for developing and deploying containerized applications on Kubernetes. Red Hat OpenShift Container Platform runs on Red Hat Enterprise Linux.

In this instructor-led, live training, participants will learn how to manage Red Hat OpenShift Container Platform.

By the end of this training, participants will be able to:

  • Create, configure, manage, and troubleshoot OpenShift clusters.
  • Deploy containerized applications on-premise, in public cloud or on a hosted cloud.
  • Secure OpenShift Container Platform.
  • Monitor and gather metrics.
  • Manage storage.

Format of the Course

  • Part lecture, part discussion, exercises and heavy hands-on practice.

Course Customization Options

  • This course is based on OpenShift Container Platform version 3.x.
  • To customize the course or request training on a different version of OpenShift (e.g., OpenShift Container Platform 4 or OKD), please contact us to arrange.

Course Outline

Introduction

Overview of Docker and Kubernetes

Overview of OpenShift Container Platform Architecture

Creating Containerized Services

Managing Containers

Creating and Managing Container Images

Deploying Multi-container Applications

Setting up an OpenShift Cluster

Securing OpenShift Container Platform

Monitoring OpenShift Container Platform

Deploying Applications on OpenShift Container Platform using Source-to-Image (S2I)

Managing Storage

Closing remarks

Docker (introducing Kubernetes) Training Course

Duration

14 hours (usually 2 days including breaks)

Overview

The objective of this practical course is to provide all the tools that address the practical aspects of Docker and Kubernetes, in order that the participants can count on the necessary skills for the proper management of the program.

Course Outline

What is Docker

Use cases

  • Major components of Docker
  • Docker architecture fundamentals

Docker architecture

  • Docker images
  • Docker registry
  • Docker containers

The underlying technology

  • Namespaces
  • Control groups
  • Union FS
  • Container format

Installation of Docker

  • Installation on Ubuntu via apt-get
  • Installation of newer version of Docker

Dockerizing applications

  •  The hello world example
  •  Interactive container
  •  Daemonizing programs

Container usage

  •  Running a webapp in a container
  •  Investigating a container
  •  Port mapping
  •  Viewing the logs
  •  Looking at processes
  •  Stopping and restarting
  •  Removing a container

Managing images

  •  Listing images
  •  Downloading images
  •  Finding images

Networking of containers

  •  Port mapping details
  •  Container linking and naming
  •  Linking and environment variables

Data in containers

  •  Data volumes
  •  Host directories as data volume
  •  Host file as data volume
  •  Data volume containers
  •  Backup, restore of data volumes

Contributing to the ecosystem

  •  What is Docker Hub?
  •  Registering on Docker Hub
  •  Command line login
  •  Uploading to Docker Hub
  •  Private repositories
  •  Automated builds

Kubernetes introduction

  •  Pods
  •  Labels and Selectors
  •  Controllers
  •  Services
  •  Architecture and the Kubernetes Node

Kubernetes on Azure (AKS) Training Course

Duration

14 hours (usually 2 days including breaks)

Requirements

  • An understanding of containers (e.g., Docker) and Kubernetes basics
  • Experience with the Linux command line

Audience

  • Developers
  • System Administrators
  • DevOps Engineers

Overview

Azure Kubernetes Service (AKS) is a hosted Kubernetes service that simplifies the deployment and management of a Kubernetes cluster in Azure. 

In this instructor-led, live training (online or onsite), participants will learn how to set up and manage a production-scale container environment using Kubernetes on AKS. 

By the end of this training, participants will be able to:

  • Configure and manage Kubernetes on AKS.
  • Deploy, manage and scale a Kubernetes cluster.
  • Deploy containerized (Docker) applications on Azure.
  • Migrate an existing Kubernetes environment from on-premise to AKS cloud.
  • Integrate Kubernetes with third-party continuous integration (CI) software.
  • Ensure high availability and disaster recovery in Kubernetes.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

  • To request a customized training for this course, please contact us to arrange.

Course Outline

Introduction

  • Kubernetes deployment: Azure vs AWS vs on-premise

Overview of Azure Kubernetes Service (AKS) Features and Support

Using the Azure Portal and the Azure CLI (Command Line Interface)

Creating and Uploading a Container Image to the Azure Container Registry

Building A Kubernetes Cluster

Networking Kubernetes Pods

Integrating Kubernetes with Continuous Integration (CI) Tools and Processes

Updating an Application Running in Kubernetes

Integrating Kubernetes with Active Directory

Identity and Security Management in AKS

Advanced Networking

Monitoring a Kubernetes Cluster

Scaling a Kubernetes Cluster

Migrating from On-premise to Azure

Ensuring High Availability and Disaster Recovery in Kubernetes

Troubleshooting

Summary and Conclusion

Certified Kubernetes Administrator (CKA) – exam preparation Training Course

Duration

21 hours (usually 3 days including breaks)

Requirements

  • An understanding of Kubernetes.
  • Experience with Linux.

Audience

  • Administrators
  • Kubernetes Users

Overview

The Certified Kubernetes Administrator (CKA) program was created by The Linux Foundation and the Cloud Native Computing Foundation (CNCF).

Kubernetes is nowadys a leading platform used for containers orchestration.

NobleProg have been delivering Docker & Kubernetes training from 2015. With more than 360 successfully completed training projects, we became one of the best known training companyworldwide in field of containerization.

Since 2019 we are also helping our customers to confirm their performance in k8s environment by preparing them and encouraging to pass CKA and CKAD exams.

This instructor-led, live training (online or onsite) is aimed at System Administrators, Kubernetes User swho wish to confirm their knowledge by passing CKA exam.

On the other hand, training is focused also on gaining practical experience in Kubernetes Administration, so we recommend taking part in it, even if you don’t intend to take CKA exam.

Format of the Course

  • Interactive lecture and discussion.
  • Lots of exercises and practice.
  • Hands-on implementation in a live-lab environment.

Course Customization Options

Course Outline

  1. Core concepts and Kubernetes architecture
    1. Kubernetes architecture and its main components
    2. Pods, Labels, Selectors, Deployments, Services, Namespaces
    3. Application lifecycle management
    4. Deployment of applications and services
  2. Installation, Configuration & Validation
    1. Kubernetes installation using kubeadm
    2. Growing the cluster
    3. Standalone pods
    4. Control Plane High Availability
    5. Cluster maintenance
    6. Upgrade to a new version
    7. Cordoning and draining nodes
  3. Networking
    1. Containers network model in Kubernetes
    2. Service discovery, scaling and load balancing
    3. DNS for service discovery
  4. Scheduling
    1. Node selectors
    2. Affinity and anti-affinity rules
    3. Taints and tolerations
  5. Security
    1. Authentication, Authorization and RBAC
    2. Configuring TLS access to API
  6. Logging / Monitoring
    1. Application and system components logging
    2. Cluster wide logging architecture
    3. Metrics Sever
    4. Prometheus
  7. Storage
    1. Storage architecture
    2. Storage backend in Kubernetes: local, NFS, GlusterFS
    3. Storage classes and dynamic storage provisioning
    4. Resource quotas
  8. Troubleshooting