?

Adaptive Application Services with Nginx

Bookmark
110 Launches
Solution Overview

The F5 NGINX Lab is a hands-on overview for system administrators, DevOps professionals, and Architects who need a deeper understanding of NGINX Advanced Application Services. 

Modules 1 and 2 will provide a foundation introducing infrastructure automation using Terraform templates to deploy Nginx application servers and load balancing instances in multi-cloud environments and Ansible playbooks to deploy application code and basic configuration. 

Modules 3 and 4 will introduce to concepts of leveraging an Nginx + instance as a Native API Gateway to manage a service component in a Kubernetes cluster.

Also as part of this lab, we will use an Ansible playbook to deploy the NGINX controller agent to Nginx + instances for overall central management and exposure to Controller API.

Goals & Objectives

Module 1: In this module, we begin with basic interactions with VMware vCenter and Terraform automation to deploy infrastructure local to a data center leveraging the VMware ESXi API. Understanding the environment will assist with each task in this lab. Gitlab will be the source of truth for infrastructure as code (IaC). We will clone these templates for automated build-out in cloud type environments. Each will use Nginx as application servers, local and external load balancer.

Module 2: In this module, we will be extending the NGINX deployment to the Microsoft Azure Public Cloud. There will be three general ATC subscriptions that we will use to deploy infrastructure to a Resource Group (dynamically generated). The goal is to provide a use case where we deploy an Nginx application server and load balancing instance into the public cloud. We will use the Azure Portal to read-only all resources in a unique resource group for each lab deployment.

Module 3: This module is a hand of demonstration of managing an application using API for each service or workload in a k8s cluster. In this lab, there is a 3 node Kubernetes cluster, master, worker node 1, and worker node 2. We've already deployed the container pods that make up the arcadia-finance application.

Module 4: In this module, we will build an Application and publish an API with the application OAS3 specification file from the Nginx Controller GUI. We will also push OAS3 specification file into the controller GUI in order to create the API and manage each API as a unique managed transaction.

Next steps:
This lab will be extended in follow-up phases to include other use cases such as Application Protect and Content Caching.

Hardware & Software

  • 1x Windows Jumphost (Windows 10)
  • 2x NGINX Application Servers - CentOS Linux release 7.4.1708 (Core)
  • 1x NGINX Load Balancer - CentOS Linux release 7.4.1708 (Core)
  • 1x VMware vCenter Host (v6.5)
  • 2 VMware ESXi Hosts (v6.5)
  • 1x Active Directory Server (Windows Server 2012 R2)
  • 1x Infoblox DDI Server
  • 1x Ansible Tower Server / Terraform v0.12.18 (CentOS 7)
  • 1x NGINX Controller (3.7.x)
  • 3x Microsoft Azure Subscriptions
    • WWT SUB NGINX 1
    • WWT SUB NGINX 2
    • WWT SUB NGINX 3