Advanced Apache Flink Bootcamp

Deep dive into Flink internals, production deployment, and advanced patterns

100% Online Course 2-Day Intensive Bootcamp Certificate Included

Course Syllabus

Course Overview

This intensive 2-day bootcamp takes you deep into Apache Flink internals and production best practices. You'll learn how Flink really works by studying the source code, master both DataStream and Table APIs, and gain hands-on experience building custom operators and production-ready pipelines.

This is an advanced bootcamp. Most courses just repeat what’s already in the documentation. This bootcamp is different: you won’t just learn what a sliding window is — you’ll learn the core building blocks that let you design any windowing strategy from the ground up.

Duration: 14 hours (2 days, 7 hours per day)
Level: Advanced
Format: Deep-dive training with hands-on workshops
Schedule: 9:00 AM - 4:00 PM PST each day

Learning Objectives

  • ▸ Understand Flink internals by studying source code and execution flow
  • ▸ Master DataStream API with state, timers, and custom low-level operators
  • ▸ Know how SQL and Table API pipelines are planned and executed
  • ▸ Design efficient end-to-end data flows
  • ▸ Deploy, monitor, and tune Flink applications in production

Prerequisites

Technical Knowledge
  • Good understanding of Apache Flink basics (DataStream or Table API)
  • Proficiency with Java
  • Understanding of distributed systems concepts
Ideal Experience
  • 1+ years working with Flink or similar streaming systems
  • Familiarity with Kubernetes is helpful but not required

Course Modules

📚 Day 1: Deep dive into Flink internals, DataStream & Table APIs, connectors, and custom operators

Module 1: Anatomy of a Flink Pipeline

Understanding Flink internals through source code exploration

  • ▸ Internals of a Flink application. From SQL query to bytes over the wire: studying the source code, inspecting code generation, looking into network exchange data, understanding stream tasks and processors
  • ▸ End-to-end data flow from source to sink

Module 2: Mastering DataStream API

State, timers, watermarks, and custom joins

  • ▸ Core primitive building blocks: state and timers. Combining them to build stateful operators like joins and aggregations
  • ▸ Operator chaining, task assignment and state evolution
  • ▸ Complex watermark generators: going beyond choosing timestamp columns
  • ▸ Building custom low-level operators

Module 3: Mastering Table API & SQL

Dynamic tables, UDFs, and query optimization

  • ▸ Dynamic tables, versioned tables, changelog semantics
  • ▸ Understanding query plans: what EXPLAIN doesn't tell you
  • ▸ Strategies for updating SQL jobs
  • ▸ UDF best practices
  • ▸ Process Table Functions (PTFs)

Module 4: Flink Connector Design

Modern source and sink patterns

  • ▸ Design principles for modern source and sink connectors
  • ▸ Understanding popular connectors: Kafka, Iceberg, Flink CDC, etc.
  • ▸ Connectors and changelogs
  • ▸ Best practices for connector implementation

Module 5: Hands-on Workshop - Building Custom Operators

Practical implementation with state and timers

  • ▸ Build low-level DataStream API operators with state and timers
  • ▸ Implement the same logic using custom Process Table Functions (PTFs)
🚀 Day 2: Production deployment, performance tuning, and best practices

Module 6: Architecting Efficient End-to-End Data Flows

Optimization patterns and best practices

  • ▸ Changelog and upsert semantics, metadata propagation end-to-end
  • ▸ Data reuse, scan sharing, and statement sets. Minimizing unnecessary work
  • ▸ Data pruning, filtering, and pushdown optimizations
  • ▸ When to materialize intermediate data streams. One Flink pipeline vs many
  • ▸ Async I/O and broadcasting
  • ▸ Serialization best practices

Module 7: Flink in Production - Deployment

Kubernetes deployment and infrastructure

  • ▸ Using Flink Kubernetes Operator
  • ▸ Launching ad-hoc jobs with SQL Gateway
  • ▸ Autoscaling & autotuning
  • ▸ Choosing parallelism, task slots, and resources
  • ▸ Using REST API
  • ▸ Building a control plane: putting Flink on auto-pilot

Module 8: Flink in Production - Observability and Reliability

Monitoring, alerting, and failure recovery

  • ▸ Key metrics to track and monitor, alerting strategies. Holistic telemetry collection
  • ▸ Designing actually useful dashboards
  • ▸ Minimizing restarts and improving failure recovery
  • ▸ Exactly-once end-to-end delivery guarantees

Module 9: Flink in Production - Performance and Tuning

Profiling, benchmarking, and optimization

  • ▸ Profiling and benchmarking techniques. So many flamegraphs!
  • ▸ Recommended settings to tune, common pitfalls to avoid
  • ▸ RocksDB tuning and optimizations

Module 10: Hands-on Workshop - Production-Ready Pipeline

End-to-end implementation and deployment

  • ▸ Take a Flink pipeline from development to production
  • ▸ Apply optimization techniques learned in day 2
  • ▸ Configure deployment with Kubernetes Operator
  • ▸ Set up observability components
  • ▸ Performance tuning and benchmarking

Please note: the course modules are subject to change

Certificate of Completion

All participants who complete the bootcamp and both hands-on workshops will receive a Certificate of Completion for the Advanced Apache Flink Bootcamp.

Instructor

Yaroslav Tkachenko, Lead Instructor LinkedIn

  • Yaroslav has been building software for more than fifteen years, focusing on data platform engineering and data streaming in the past eight years.
  • Yaroslav was a tech lead at Activision and Shopify, driving major initiatives with technologies like Apache Kafka and Apache Flink.
  • Later, Yaroslav spent several years as a founding engineer at Goldsky, building a self-managed data streaming platform based on Apache Flink.
  • Yaroslav is an international speaker, author of the Data Streaming Journey newsletter, Confluent Catalyst and the founder of Irontools.

Course Schedule

Timezone Notice: All times are shown in Pacific Standard Time (PST).

January 2026 Cohort: January 21-22, 2026 (Wed-Thu)

Day 1: Wednesday, January 21st

9:00 AM - 9:15 AM PST Intro
Course overview & guiding principles
9:15 AM - 10:00 AM PST Module 1
Anatomy of a Flink Pipeline
10:00 AM - 10:30 AM PST Module 2
Mastering DataStream API (Part 1)
10:30 AM - 10:40 AM PST Break
10:40 AM - 11:10 AM PST Module 2
Mastering DataStream API (Part 2)
11:10 AM - 12:10 PM PST Module 3
Mastering Table API & SQL
12:10 PM - 1:10 PM PST Lunch Break
1:10 PM - 2:00 PM PST Module 4
Flink Connector Design
2:00 PM - 2:50 PM PST Module 5
Workshop: Building Custom Operators (Part 1)
2:50 PM - 3:00 PM PST Break
3:00 PM - 3:40 PM PST Module 5
Workshop: Building Custom Operators (Part 2)
3:40 PM - 4:00 PM PST Q&A

Day 2: Thursday, January 22nd

9:00 AM - 9:10 AM PST Intro
Day 2 overview
9:10 AM - 10:10 AM PST Module 6
Architecting Efficient End-to-End Data Flows
10:10 AM - 10:40 AM PST Module 7
Production: Deployment (Part 1)
10:40 AM - 10:50 AM PST Break
10:50 AM - 11:25 AM PST Module 7
Production: Deployment (Part 2)
11:25 AM - 12:10 PM PST Module 8
Production: Observability and Reliability
12:10 PM - 1:10 PM PST Lunch Break
1:10 PM - 2:00 PM PST Module 9
Production: Performance and Tuning
2:00 PM - 2:50 PM PST Module 10
Workshop: Production-Ready Pipeline (Part 1)
2:50 PM - 3:00 PM PST Break
3:00 PM - 3:40 PM PST Module 10
Workshop: Production-Ready Pipeline (Part 2)
3:40 PM - 4:00 PM PST Q&A & Closing
Register for January Cohort

Can't make it? Let me know your preference for the next cohort.

What's Included

  • ✓ 14 hours of live instruction (2 days, 7 hours each)
  • ✓ 2 hands-on workshops integrated into the curriculum
  • ✓ All course materials and code examples
  • ✓ 90-day access to course recordings
  • ✓ Certificate of completion
  • ✓ Private Discord community access
  • ✓ Q&A with the instructor
  • ✓ Real-world project templates and exercises

Frequently Asked Questions

While we highly recommend attending all live sessions for the best learning experience and interaction with instructors, all sessions will be recorded. You'll have 90-day access to recordings if you need to miss a session. However, please note that active participation is required for certification.

All session times are listed in Pacific Standard Time (PST). We recommend using a timezone converter to determine the equivalent time in your location. The course is designed to be accessible globally, and recorded sessions are available for those in significantly different timezones.

We don't recommend this bootcamp for complete beginners. A good understanding of Apache Flink basics and proficiency with Java are required to keep up with the advanced material covered. If you're new to Flink, consider at least completing the Learn Flink section in the Flink documentation first.

The bootcamp primarily uses Java for examples and exercises, as it's the most widely used language for Apache Flink.

Absolutely! We offer team discounts for groups of 3 or more. Contact us at yaroslav@irontools.dev for custom pricing and dedicated support for your team.

We offer a full refund if you cancel at least 14 days before the course start date. Just email us at yaroslav@irontools.dev to request a cancellation.

Register for the Bootcamp

Advanced Apache Flink Bootcamp

$799 $499

One-time payment

  • ✓ 14 hours live instruction over 2 days
  • ✓ 2 hands-on workshops
  • ✓ All course materials and recordings
  • ✓ Certificate of completion
Early Bird Discount: Register by December 31, 2025 and save $300! Use code EARLYBIRD2025
Proceed to Payment

Secure payment powered by Stripe. You'll be redirected to complete your purchase.