Learning Path

Develop production-ready, Apache Kafka apps

Discover how to use Kafka in enterprise messaging solutions

Overview

In this learning path, you'll learn the foundational concepts of Apache Kafka and also the roles that Kafka can play in an enterprise messaging solution. You'll learn how to adopt the basic functions of Kafka and apply the learning to your own solutions. Finally, you'll learn how to use the IBM Event Streams on IBM Cloud offering for implementing your Kafka solutions.

Skill level

The skill level of this learning path is for a beginner.

Estimated time to complete

It will take you approximately 2 hours to complete this entire learning path.

Learning objectives

Upon completion of this learning path, you will be able to:

  • Summarize the characteristics of Kafka
  • Explain the key concepts and components of a Kafka deployment
  • Explain how persistence works in a Kafka deployment
  • Compare and contrast Kafka with other event streaming and messaging technologies
  • Deploy a suitable Kafka instance (such as IBM Event Streams on IBM Cloud)
  • Summarize the available Kafka APIs (Producer, Consumer, Streams, Connect and AdminClient)
  • Create an application performing the 'producer role' using the Producer API
  • Create an application performing the 'consumer role' using the Consumer API
  • Create an application using the 'streams API'
  • Use Kafka Connect and existing connectors to flow data from Kafka to external systems and vice versa
  • Be able to work with a Kafka instance to verify that the applications are working (logs, command line tools, and so on)
  • Summarize debugging tips and tricks that a Kafka developer should know
  • Securely connect to an authenticated Kafka instance, either in cloud or on-prem and understand the different security options available in the different environments
  • Understand the security concerns (such as encrypting data) when creating production-ready Kafka apps
  • Understand high availability, failover, data recovery, app failure or cluster node failure in your system
  • What are the performance considerations when coding production-ready Kafka apps, such as throughput vs. latency (produce anywhere, consume as close to cluster as possible). What are the tradeoffs that developers need to make?
  • Understand IBM service and product compliance as an advantage of adopting IBM services over open source implementation