In this chapter, we spent a lot of time describing the architecture and inner workings of OpenStack. We discussed software-defined networking and its challenges, as well as different OpenStack services such as Nova, Swift, Glance, and so on. Then, we moved on to practical issues, such as deploying Packstack (let's just call that OpenStack for proof of concept), and full OpenStack. In the last part of this chapter, we discussed OpenStack-Ansible integration and what it might mean for us in larger environments.
Now that we've covered the private cloud aspect, it's time to grow our environment and expand it to a more public or hybrid-based approach. In KVM-based infrastructures, this usually means connecting to AWS to convert your workloads and transfer them there (public cloud). If we're discussing the hybrid type of cloud functionality, then we have to introduce an application called Eucalyptus. For the hows and whys, check out the next chapter.