  This is part II of the follow-up lecture notes of the lectures given by the
authors at the Three \CO" (Composability, Comprehensibility, Correctness)
Winter School held in Kov{s}ice, Slovakia, in January 2018, and Summer School
held in Budapest, Hungary, in June 2019. In this part we explain the recent
network evolution and the concept of virtualization, focusing on the management
and orchestration of virtualized network resources. Network Functions
Virtualization (NFV) is a new paradigm for changing the way networks are built
and operated. Decoupling software implementation from network resources through
a virtualization layer introduces a need for developing sets of NFV management
and orchestration (MANO) functions. We discuss how this new point of view is
highly inspired by the functional programming concepts. We provide examples and
exercises on Open Stack virtual technology, and also discuss the challenges and
problems inspired by telecommunication industry. Focus is on Reliable operation
of Management and Orchestration functions of Virtualized resources.
  These notes provide an introduction to the subject, with the goal of
explaining the necessity for new knowledge and skills in area of network
programming. We introduce students with main problems and the network design
principles, methods and techniques used for their solution. The worked examples
and exercises serve students as the teaching material, from which they can
learn how to use functional programming to effectively and efficiently
coordinate management and orchestration functions in distributed complex
systems using NFV.
