The prevalence of ubiquitous computing devices encouraged by the expanding technology trend of the Internet of Things (IoT) demands a change in how these devices are used and where the generated data is processed. Since these computing devices not only generate data but feature computational and storage capabilities, a new paradigm evolved. The decentralized computing paradigm that shifts the focus of interest away from a centralized cloud computing environment towards the edge of the network is called fog computing. The main idea of fog computing is to utilize the processing and storage resources at the edge of network by deploying IoT services on available edge devices to reduce latency and processing cost. ^The research challenges to be tackled in order to develop a dynamic software environment realizing the vision of fog computing are decentralized data processing, resource virtualization, service deployment, IoT device orchestration, and resource provisioning in both the cloud environment and the fog landscape. Such a dynamic decentralized software environment is a fog computing framework. State of the art approaches are mostly focusing on cloud computing, conceptual fog computing architectures, and cloud-based resource provisioning approaches. Only few contributions deal with the development of a concrete fog computing framework. Therefore, in this work, IoT use cases, related IoT frameworks, and best practices in the area of distributed systems are analyzed in order to design and implement a dynamic, extensible, and flexible fog computing framework. The fog computing framework provides the tools to manage IoT services in the fog landscape by means of a real-world test-bed. ^Furthermore, the framework facilitates the communication between the devices, fog device orchestration, IoT service deployment, and dynamic resource provisioning in the fog landscape. In addition to these main functionalities, the framework is able to react on various system events, e.g., device accedence, device failure, and device overload. The consequent event handling and assessment of other important metrics, e.g., costs, deployment times, and service arrival patterns, is performed in the evaluation of the framework. As a result, the framework provides the utilities to deal with the dynamism of the fog landscape and yields lower deployment times of IoT services and considerable cost benefits. Finally, the design of the framework allows future researchers to configure, extend, and enhance the components of the framework to fit the individual requirements and research challenges.