Book Image

Hybrid Cloud for Developers

By : Manoj Hirway
Book Image

Hybrid Cloud for Developers

By: Manoj Hirway

Overview of this book

This book introduces you to the hybrid cloud platform, and focuses on the AWS public cloud and OpenStack private cloud platforms. It provides a deep dive into the AWS and OpenStack cloud platform services that are essential for developing hybrid cloud applications. You will learn to develop applications on AWS and OpenStack platforms with ease by leveraging various cloud services and taking advantage of PaaS. The book provides you with the ability to leverage the ?exibility of choosing a cloud platform for migrating your existing resources to the cloud, as well as developing hybrid cloud applications that can migrate virtual machine instances from AWS to OpenStack and vice versa. You will also be able to build and test cloud applications without worrying about the system that your development environment supports. The book also provides an in-depth understanding of the best practices that are followed across the industry for developing cloud applications, as well as for adapting the hybrid cloud platform. Lastly, it also sheds light on various troubleshooting techniques for OpenStack and AWS cloud platform services that are consumed by hybrid cloud applications. By the end of this book, you will have a deep understanding of the hybrid cloud platform and will be able to develop robust, efficient, modular, scalable, and ?exible cloud applications.
Table of Contents (16 chapters)
Title Page
Dedication
Packt Upsell
Contributors
Preface
Index

Developing OpenStack compute applications


The OpenStack Compute service provides a hypervisor, which is used to host virtual machines. In Chapter 2, Exploring AWS Cloud, we have seen how to use the dashboard to launch and manipulate virtual machines in OpenStack. Lets now write some code to perform similar actions.

Listing nova networks

The OpenStack compute service (code-named NOVA) provides networks called nova networks, which can be consumed by the virtual machines. The connection object can refer the network class and invoke the networks() function to get a list of all the available nova networks.

The following function demonstrates this:

deflist_networks(conn):print("List Networks:")
fornetworkinconn.network.networks():print(network)

Creating an SSH key-pair

When an OpenStack virtual machine is launched, you need an SSH key-pair to log in to the virtual machine.

In the following code, we first determine if there's already an existing keypair with the same name. If there isn't, we invoke the...