This is a thesis work performed as a degree completion project in the study program of Bachelors of Science in Electrical Engineering with emphasis on Telecommunication at Blekinge Institute of Technology. The thesis work is based upon the implementation of OpenStack and CDMI (Cloud Data Management Interface) data storage protocols in the web server developed by Compuverde or in any other lightweight, open source and reliable web server. Compuverde is a company, founded by Stefan Bernbo in 2008 in Karlskrona of Sweden, which is aimed to provide data storage solutions and services. This thesis work will help Compuverde to expand its capabilities to serve more clients. The web server developed by Compuverde, in co-ordination with its File System API (application program interface), will enable the clients to use the data storage services and solutions provided by Compuverde by exposing its file system to the clients. OpenStack is an open source cloud computing project, developed by more than 150 companies around the world, which includes an object or data storage system. The feature of the data storage system of OpenStack is that it is not a traditional file system, it is a distributed storage system where greater scalability, redundancy and durability is possible due to lack of central “Brain” or master point. CDMI or Cloud Data Management Interface is a standardized protocol, standardized by SNIA (Storage Networking Industry Association), for self-provisioning, administering and accessing cloud storage. RESTful HTTP operations are defined by CDMI for assessing the capabilities of the cloud storage system, allocating and accessing containers and objects, managing users and groups, implementing access control, attaching metadata, making arbitrary queries, using persistent queues, specifying retention intervals and holds for compliance purposes, using a logging facility, billing, moving data between cloud systems, and exporting data via other protocols such as iSCSI and NFS. Transport security is obtained via TLS. Compuverde did not have the capability to attract clients that use OpenStack and CDMI data storage protocol. To increase its capability, Compuverde decided to develop extended features in an existing lightweight and reliable web server or their own web server, where OpenStack and CDMI are targeted to be enabled. As part of that development this thesis work focuses on implementing a working interface of OpenStack Containers and CDMI Containers and Data Objects at mandatory level. The first phase of the thesis work consists of a research on different lightweight open source web servers like Lighttpd and Nginx, to determine if those web servers fulfill the need of Compuverde or if Compuverde need to create its own web server. The second phase consists of extensive programming in C++ with a purpose to make the chosen web server capable of supporting OpenStack and CDMI data storage features. The C++ programming part of the project is done using Microsoft TeamServer for project portal and source control. The features of OpenStack that are enabled are according to the specifications of “Cloud Files Developer Guide version 1.0” provided by RackSpace Cloud Files while the specification for CDMI is provided SNIA which is named as “Cloud Data Management Interface version 1.0”.
2012. , 67 p.