F5 Networks Developing iRules for BIG-IP
This course provides networking professionals a functional understanding of iRules development. The course builds on the foundation of the Administering BIG-IP or Configuring LTM course, demonstrating how to logically plan and write iRules to help monitor and manage common tasks involved with processing traffic on the BIG-IP system. Extensive course labs consist of writing, applying and evaluating the effect of iRules on local traffic. This hands-on course includes lectures, labs, and discussions.
By the end of this course, participants will be able to:
Provide system and network administrators, and application developers, with the skills to write, deploy, and optimize iRules for application delivery management.
Understand iRule event contexts and trigger points across client-side and server-side traffic.
Apply best practices for writing, testing, and maintaining iRules.
Use variables, data groups, control structures, and session tables effectively in iRules.
Optimize iRules for performance and efficiency while minimizing system impact.
Parse and manipulate HTTP headers and payloads with Tcl commands and iRules functions.
Implement persistence, traffic steering, and custom security controls using iRules.
Troubleshoot and debug iRules with logging, runtime statistics, and diagnostic tools
This course is intended for system administrators, network administrators and application developers responsible for the customization of traffic flow through a BIG-IP system.
Administering BIG-IP or Configuring BIG-IP LTM: Local Traffic Manager or hold the F5 Certified BIG-IP Administrator certification
- Introducing the BIG-IP System
- Initially Setting Up the BIG-IP System
- Archiving the BIG-IP System Configuration
- Leveraging F5 Support Resources and Tools
- Customizing Application Delivery with iRules
- Triggering an iRule
- Leveraging the DevCentral Ecosystem
- Creating and Deploying iRules
- Introducing iRule Constructs
- Understanding iRule Events and Event Context
- Working with iRule Commands
- Logging from an iRule Using SYSLOG-NG (LOG Command)
- Working with User-Defined Variables
- Working with Operators and Data Types
- Working with Conditional Control Structures (IF and SWITCH)
- Incorporating Best Practices in iRules
- Mastering Whitespace and Special Symbols
- Grouping Strings
- Developing and Troubleshooting Tips
- Using Fiddler to Test and Troubleshoot iRules
- Understanding the Need for Efficiency
- Measure iRule Runtime Efficiency Using Timing Statistics
- Modularizing iRules for Administrative Efficiency
- Using Procedures to Modularize Code
- Optimizing Logging
- Using High-Speed Logging Commands in an iRule
- Implementing Other Efficiencies
- Using Looping Control Structures (WHILE, FOR, FOREACH Commands)
- Integrating iRules into Web Application Defense
- Mitigating HTTP Version Attacks
- Mitigating Path Traversal Attacks
- Using iRules to Defends Against Cross-Site Request Forgery (CSRF)
- Mitigating HTTP Method Vulnerabilities
- Securing HTTP Cookies with iRules
- Adding HTTP Security Headers
- Removing Undesirable HTTP Headers
- Understanding Number Forms and Notation
- Working with Strings (STRING and SCAN Commands)
- Combining Strings (Adjacent Variables, CONCAT and APPEND Commands)
- Using iRule String Parsing Functions (FINDSTR, GETFIELD, and SUBSTR Commands)
- Reviewing HTTP Headers and Commands
- Accessing and Manipulating HTTP Headers (HTTP::header Commands)
- Other HTTP commands (HTTP::host, HTTP::status, HTTP::is_keepalive, HTTP::method, HTTP::version, HTTP::redirect, HTTP::respond, HTTP::uri)
- Parsing the HTTP URI (URI::path, URI::basename, URI::query)
- Parsing Cookies with HTTP::cookie
- Selectively Compressing HTTP Data (COMPRESS Command)
- Working with iFiles
- Introducing Data Groups
- Working with Old Format Data Groups (MATCHCLASS, FINDCLASS)
- Working with New Format Data Groups (CLASS MATCH, CLASS SEARCH)
- Implementing Universal Persistence (PERSIST UIE Command)
- Working with the Stream Profile (STREAM Command)
- Collecting Statistics Using a Statistics Profile (STATS Command)
- Collecting Statistics Using iStats (ISTATS Command)
- Reviewing the Local Variable Namespace
- Working with Arrays (ARRAY Command)
- Using Static and Global Variables
- Using the Session Table (TABLE Command)
- Processing Session Table Subtables
- Counting “Things” Using the Session Table