Current location - Music Encyclopedia - Chinese History - Which one should I choose for openstack cloudstack?
Which one should I choose for openstack cloudstack?
Comparison between OpenStack and CloudStack

1) Historical background and overview

OpenStack was jointly released by NASA and Rackspace in 20 10. They contributed computing code (Nova) and storage code (Swift) respectively, and were authorized by Apache license agreement. The goal of OpenStack is to provide a universal open source cloud computing platform, which can be used to build both public and private clouds, making the construction of the cloud platform as simple and convenient as possible, and at the same time, it can be rapidly expanded horizontally. OpenStack is independent of any enterprise, follows the concepts of open source, open design, open development process and open community, and is completely dominated and maintained by the community. The release cycle of OpenStack is half a year. So far, eight official versions have been released. The latest version is Havana. After each version is released, the community will hold a summit. Companies and developers from all over the world will discuss the design of the next version and share related technologies of OpenStack. It is worth mentioning that the latest summit was held in Hongkong, China.

CloudStack was originally developed by Cloud.com Company and is divided into two versions: commercial version and open source version. The open source version is licensed by GPL v3 (GNU General Public License, Version 3) license agreement. After Citrix 20 1 1 acquired Cloud.com, all the codes were open source. In 20 12, CloudStack was contributed to Apache Software Foundation and became the incubation project of Apache. At the same time, the license agreement was changed to a more relaxed, open and business-friendly Apache license agreement, and CloudStack was upgraded to an official Apache project in March 20 13. The goal of CloudStack is to provide a highly available and extensible open cloud platform for large-scale virtual machine deployment and management. The release cycle of CloudStack is not fixed. At present, the latest version is 4.2, and the community holds a global collaboration conference every year to share and exchange technologies.

2) Platform architecture

OpenStack adopts distributed architecture, and the whole platform is divided into several module projects according to different functions. As shown in Figure 2, projects communicate with each other through message queuing middleware and RESTful API (among which authentication projects provide authentication and service registration for other projects), so each project can be deployed on different hosts, and the architecture is very flexible. OpenStack provides rich and powerful APIs for users to use and schedule resources conveniently, and provides APIs compatible with Amazon AWS (Amazon Web Service).

Figure 2, OpenStack distributed architecture diagram

CloudStack adopts a centralized monolithic architecture. As shown in Figure 3, the whole platform contains only one project. Different modules can interact through local calls, and the platform can be deployed on a host, which is very convenient. CloudStack also provides its own API and an API compatible with Amazon AWS.

Figure 3. CloudStack centralized architecture diagram

It can be seen that the architecture of the two is almost relative. The distributed architecture of OpenStack is flexible, different projects can be deployed separately, and it is easy to combine functions according to actual needs. Moreover, due to the low coupling between different projects, the function division between projects is clear, and it is also very convenient for the customized development of a single function. The disadvantage is that the deployment and configuration of each project are troublesome. CloudStack is relatively easy to deploy because there is only one project, but the scalability of the platform is relatively weak.

3) Overall comparison of platforms

The functional pairs of OpenStack and CloudStack are shown in table 1. We compare them from different aspects, such as authorization protocols, supported underlying technologies and user groups.

OpenStack

Yunzhan

Authorization agreement

Apache 2.0 can be commercialized for free.

Apache 2.0 can be commercialized for free.

Virtualization technology

XenServer/XCP、KVM、QEMU、

LXC, VMware ESXi/vCenter, Hyper-V bare metal, Docker, Xen/Libvirt.

XenServer、KVM、QEMU、

VMware vCenter

network service

VLAN, flat, flat DHCP

Quantum virtualization network

VLAN, plane, open flow

Storage support

ISCSI, Ceph, NFS, LVM, Swift, Shepherd Dog.

NFS、LVM、Ceph、Swift

Scheduling strategy

The model is comprehensive and easy to expand.

The model is simple and extensible.

User Interface(UI)

Perfect function and simple interface.

Perfect function and friendly interface.

database

PostgreSQL、MySQL、SQLite

relational database

Virtual machine template

support

support

parcel

Keywords nova, scanning, keystone,

Keywords horizon, swift, cinder,

Quantum, thermal and cloud altimeter

Console proxy virtual machine,

The second storage virtual machine,

Virtual router virtual machine,

Host agent, management server

Develop ahead

Kaiyuan community

Sijie company

Development language

computer programming language

Java language (a computer language, especially for creating websites)

official document

Very detailed

detailed

Version problem

There is a version compatibility problem.

There is no version compatibility problem.

user group

About 160, including NASA,

Red hat, Rackspace, HP,

Netease, UnitedStack, etc.

Less than 60, including Nokia,

Japan Telephone and Telegraph Corporation, Zynga,

Disney Alcatel, etc

Comparison between table 1, OpenStack and CloudStack

4) Platform selection

Through the previous comparative analysis, we can conclude that OpenStack and CloudStack are both powerful open source cloud platforms, which meet the needs of enterprise private cloud construction, and can be customized as needed because of open source. The difference is that CloudStack is open source from commercial software, so it will be easier for enterprises to get started and it will be more convenient to build a cloud platform. However, due to its commercial software properties, the platform architecture is relatively concentrated, the coupling degree between modules is high, the expansibility is not very good, and the secondary development cost is high; OpenStack is an open source software with distributed architecture since its birth. All development is undertaken by the community, and there is almost no coupling between different projects, so it can be easily customized. However, because it is composed of multiple projects, each project must be installed separately, and the cooperation between projects must be ensured, so the deployment will be more troublesome. In addition, because OpenStack is in a high-speed development stage, the projects between different versions may change greatly, so the upgrade between versions will be more difficult.

It is also worth mentioning that both OpenStack and CloudStack support VMware's ESXi virtualization technology, but in different ways, as shown in Figure 4. CloudStack can only manage virtual machines on ESXi hosts through vCenter; OpenStack supports direct communication with ESXi to realize basic management of virtual machines, and only advanced functions need the support of vCenter. In view of the current situation that small and medium-sized enterprises generally adopt VMware's free virtualization technology without vCenter, this should also be considered when choosing a platform.

Figure 4, VMware ESXi management mode comparison diagram

Hengtianyun uses OpenStack open source platform for private cloud construction. Because OpenStack architecture is very open, convenient for customized development, and supported by many technology vendors, it is very likely to become Linux in the field of cloud computing IaaS platform. Therefore, through the customized development of OpenStack, it is also very beneficial to enterprises in the long run.