In order to set up an enterprise, there are many factors need to be considered such as setting up an infrastructure, installing operating system and deploying application in the datacenter. Almost a decade ago, procuring and setting up the hardware seemed to be an humongous task for the customers. In addition to it, the turnaround time for getting the resource caused delay in development anywhere ranging from few days to months. Providing Infrastructure-as-a-Service was seen as challenge for both providers and consumers. With the advent of Openstack, the burden was reduced as it makes provisioning of IaaS possible in a matter of few clicks, thereby cutting down the time for application installation Considering the options beyond provisioning the cloud platform with Openstack facilitates providing Platform as a service(PaaS) to the user. Hence the project’s goal is to create a PaaS over Openstack.
The objective of the project is to develop a user interface accessible from web browser that allows user to launch instances of virtual machine from the choice of list of images, flavors. The backend invocation of Openstack is done by using:
- Openstack CLI and
- Openstack REST API
OpenStack uses keystone as its identity service for authentication and authorization. Keystone provides following,
- an API client authentication
- service discovery
- distributed multi tenant authorization.
- OpenStack Nova component provides a frame to create virtual machines on the fly based on demand.
- Nova being a distributed component, interacts with other components like keystone for performing authentication and horizon for its web-interface.
- Is an OpenStack project to provide “Network as a Service” in the cloud.
- It lets the tenants to create multiple private networks and control IP addressing.
- Neutron has an API extension to allow administrators and tenants to create routers and subnets.
- Multiple composite cloud applications can be launched by implementing the heat orchestration engine which is template based.
- The template is a human readable text file which describes the infrastructure of the cloud applications as a code and also specifies the relationship between the resources.
- The Heat API component provides OpenStack-native REST API.
- The heat engine orchestrates the launch of templates and provides the events back to the API consumer.
- Golang
- Gophercloud sdk
- HTML
- CSS
- JavaScript
- JQuery
- Bootstrap