Developing NGINX Modules (Class & Builders Fair) Part 1

September 9, 2019 9:00 am — September 9, 2019 12:00 pm 

Developing NGINX Modules is a hands‑on class that gives you the foundation you need to begin extending NGINX functionality with NGINX modules. The class begins with a discussion of when and why a new NGINX module might be the best solution for you. You’ll be guided through the development process from the point of view of a first‑time developer, including obstacles you might encounter and how to overcome them, as well as sites, blogs, and queries that provide the most helpful information.

Next, the course dives deep into NGINX internals – the code that is NGINX. Topics include an architectural overview, connection handling, data types and structures, memory, module structure, and NGINX coding best practices. You’ll write a simple hello_world module, exploring the build process, dynamic vs. static modules, and how to define the directives for configuring the module’s functionality. You’ll then write and execute tests for your module.

Building on your experience with the hello_world module, you’ll write simple access, header filter, and body filter modules. You’ll learn about the NGINX Certified Module program, best practices for module development, and the resources that NGINX makes available.

The class wraps up with a panel discussion with the instructors.

After completing this class you’ll have access to the instructors and peers who are interested in building NGINX modules, during the Module Builders Fair workshop office hours on Monday, Tuesday and Wednesday (September 9, 10 and 11). Bring your projects and ideas and apply what you learned in class with the support of NGINX module development experts and your peers.

Module Builders Fair Schedule

Monday, Sept 9

    9:00am – 5:00pm: Developing Modules Training (Optional)
    5:00pm – 7:00pm: Module Builders Fair Workshop Open

Tuesday, Sept 10

    12:00pm – 5:30pm: Module Builders Fair Workshop Open

Wednesday, Sept 11

    12:00pm – 5:00pm: Module Builders Fair Workshop Open

Objectives

After completing this class you will be able to:

  • Describe NGINX’s internal architecture
  • Explain core aspects of NGINX code in the context of module development
  • Describe requirements for successful NGINX modules
  • Get the resources you need to begin module development
  • Create a simple content module
  • Create a simple access module
  • Create a simple header filter module
  • Create a simple body filter module

Audience

Architects, developers, and advanced administrators who are interested in extending NGINX core functionality for specific business purposes.

Prerequisites

Prior development experience is required, preferably with C/C++ and systems programing. Basic knowledge of configuring, troubleshooting, and administering NGINX is highly advised. Although not a requirement, it’s ideal for attendees to have taken the NGINX Core training course.