O núcleo da Flink é um motor de fluxo de dados de streaming que fornece distribuição de dados, comunicação e tolerância a falhas para computação distribuída sobre fluxos de dados. Flink inclui várias APIs para criar aplicativos que usam o motor Flink: API DataSet para dados estáticos incorporados em Java, Scala e Python, DataStream API para fluxos não distribuídos incorporados em Java e Scala, e API de tabela com uma linguagem de expressão semelhante a SQL embutida em Java e Scala. Flink também empacota bibliotecas para casos de uso específicos de domínio: Biblioteca de aprendizado de máquina, e Gelly, uma API de processamento de gráficos e biblioteca. Você pode integrar Flink facilmente com outros sistemas de código aberto bem conhecidos tanto para entrada de dados e saída, bem como implementação. (anteriormente Stratosphere)