NGINX Advanced Load Balancing

Summary

NGINX Advanced Load Balancing is a 4-hour class for system administrators, DevOps, and architects who need a deeper understanding of NGINX load balancing.

Description

NGINX Advanced Load Balancing starts with a review of load balancing as covered in NGINX Core. You'll complete a quick review of load balancer configuration and algorithms, discuss migrating from hardware to software load balancers, configure an upstream, and enable Extended Status. You then jump into TCP/UDP load balancing, load balancing a MySQL cluster. You'll explore HA solutions, including Keepalived + VRRP, GCE, and AWS. You'll then explore NGINX service discovery solutions. You'll look at Consul + Zookeeper + etcd, Kubernetes, Docker and load balancing microservices. Finally, you'll benchmark your load balancer, look at options for tuning your implementation, and explore tools for automation.

Duration

4 hours

Objectives

  • Explain how NGINX's load balancing algorithms route requests
  • Configure TCP load balancing
  • Configure UDP load balancing
  • Implement HA with keepalived & VRRP
  • Discuss a variety of service discovery solutions (Consul + Zookeeper + etcd, Kubernetes & Kargo, Docker)
  • Use the resolve directive to enable service discovery
  • Benchmark your load balancer
  • Tune performance based on your benchmark
  • Automate scaling
  • Sync your NGINX configurations with nginx-sync

Audience

NGINX Advanced Load Balancing is intended for system admins, DevOps, and architects who need a deeper understanding of NGINX load balancing.

Prerequisites

Advanced Load Balancing is for people who have completed NGINX Core or who have commensurate experience. Hands on labs require you to run basic UNIX commands, navigate the file system, and editing configuration files using VIM or the like.

Outline

  • Review of Load Balancing
    • Basic Concepts
    • Review of basic set-up
    • Algorithms and how they're evaluated (weighting, etc)
    • Hardware Migration
    • Guide for F5
    • Guide for Netscaler
    • Lab: Configure Upstream + enable Extended Status
  • TCP/UDP Load Balancing
    • TCP Lab Example
    • UDP Lab Example
    • Lab: build simple TCP/UDP Upstream
    • Health Checks
    • Lab: TCP/UDP Health Check + extended Status
    • MySQL example (Gallera cluster)
  • High Availability (keepalived, GCE, ELB)
    • Keepalived + VRRP
    • DEMO: HA Solutions
    • Lab: Students configure HA (ELB)
  • NGINX+ Service Discovery
    • Consul + Zookeeper + etcd
    • On Prem Solutions for Kubernetes (Kargo)
    • Ingress Controller
    • Working with NGINX resolve directive
    • Docker + NGINX (NGINX in Containers)
    • Deeper dive into the Resolve parameter
    • ngx_http_realip_module (Used in CIDR)
    • set_real_ip_from
    • real_ip_header
    • real_ip_recursive
    • Lab: Spinup a K8 cluster (with Docker container) using Kargo
    • Lab: Consul Demo
    • Basics overview of how services work
    • Monolith vs. Microservices
  • Scaling NGINX
    • How can NGINX handle Millions of connections?
    • Perfomance Tuning Section
    • Lab: How to perform a proper benchmark test?
    • Automation
    • AWS Autoscaling
    • Ansible/Chef/Puppet
    • CI/CD (Jenkins, Pipelines)
    • Syncing configurations
    • nginx-sync

Upcoming Classes

Online

Instructor-led online training

Location Jun 2017 Jul 2017 Aug 2017 Sep 2017 Oct 2017
Online Jun 26
Jul 13
Aug 17

Classes in bold are guaranteed to run!

Onsite Training

For groups of three or more

Request Quote

Public Training

Online

  • 9:00 AM - 1:00 PM PDT
    $ 375.00 USD
  • 9:00 AM - 1:00 PM PDT
    $ 375.00 USD
  • 9:00 AM - 1:00 PM PDT
    $ 375.00 USD

Don't see a date that works for you?

Request Class