|  | --- | 
|  | title: "Stateful Functions Documentation" | 
|  | nav-pos: 0 | 
|  | nav-title: '<i class="fa fa-home title" aria-hidden="true"></i> Home' | 
|  | nav-parent_id: root | 
|  | --- | 
|  | <!-- | 
|  | Licensed to the Apache Software Foundation (ASF) under one | 
|  | or more contributor license agreements.  See the NOTICE file | 
|  | distributed with this work for additional information | 
|  | regarding copyright ownership.  The ASF licenses this file | 
|  | to you under the Apache License, Version 2.0 (the | 
|  | "License"); you may not use this file except in compliance | 
|  | with the License.  You may obtain a copy of the License at | 
|  |  | 
|  | http://www.apache.org/licenses/LICENSE-2.0 | 
|  |  | 
|  | Unless required by applicable law or agreed to in writing, | 
|  | software distributed under the License is distributed on an | 
|  | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | 
|  | KIND, either express or implied.  See the License for the | 
|  | specific language governing permissions and limitations | 
|  | under the License. | 
|  | --> | 
|  |  | 
|  | **Stateful Functions** is an open source framework that reduces the complexity of building and orchestrating distributed stateful applications at scale. | 
|  | It brings together the benefits of stream processing with Apache Flink® and Function-as-a-Service (FaaS) to provide a powerful abstraction for the next generation of event-driven architectures. | 
|  |  | 
|  | <p class="text-center"> | 
|  | <img width="80%" src="{{ site.baseurl }}/fig/stateful_functions.png"/> | 
|  | </p> | 
|  |  | 
|  | There are many ways to get started with Stateful Functions. | 
|  | Which one is the best for you depends on your goals and prior experience. | 
|  | Whether you prefer a more theoretical or a practical approach, we hope you’ll find this section helpful. | 
|  |  | 
|  | ## Learn By Doing | 
|  |  | 
|  | If you prefer to learn by doing, start with our code [walkthrough]({{ site.baseurl }}/getting-started/python_walkthrough.html). | 
|  | It provides a step by step introduction to the API and guides you through real applications. | 
|  |  | 
|  | ## Learn Concepts Step By Step | 
|  |  | 
|  | If you prefer to learn concepts step by step, start with our guide to [main concepts]({{ site.baseurl }}/concepts/application-building-blocks.html). | 
|  | It will walk you through all the API's and concepts to build advanced stateful systems. | 
|  |  | 
|  |  | 
|  | ## Start A New Project | 
|  |  | 
|  | The [project setup]({{ site.baseurl }}/getting-started/project-setup.html) instructions show you how to create a project for a new Stateful Functions application in just a few steps. |