ZStack is open source IaaS(infrastructure as a service) software aiming to automate datacenters, managing resources of compute, storage, and networking all by APIs.
1. Huge Scale
Because of full-async architecture, stateless services and lock-free architecture, ZStack can handle huge concurrent APIs very fast. In our simulator test, ZStack installed in a virtual machine with 8CPU, 8G memory can serve 30K concurrent APIs. And an IBM IT guy tested ZStack on 4 physical machines creating 1000 VM concurrently, all tasks completed successfully in 4 minutes. This is the best performance data I have been seen so far in IaaS area.
2. Seamless Upgrade
Upgrade is a headache problem that users have been suffered for a long time. ZStack is the first IaaS really implementing seamless upgrade, all you need is to run a singe command, for example:
bash zstack-installer-1.1.0.bin -u
3. Full APIs
Tasks in ZStack are all delivered through APIs. You don't have to manually configure a service or install an agent. For example, to add a host, you can just call the API AddKvmHost with its IP and SSH credential, ZStack will automatically configure the system, install dependent packages(e.g. libvirt), and deploy own kvm-agent. Openstack only has APIs for manipulating VMs, so Mirantis releases a product Fuel to solve this problem. However, given Openstack was not designed in the way that makes everything APIable, it's hard to build a reliable product automating everything.
ZStack's automation is built up on Ansible that is a famous configuration management tool. We directly use Ansbile SDK to customize the deployment process for every ZStack agent, and hide them from end users. So you don't have to care about details of deployment, all you need is to install the single ZStack binary and play with the web UI or CLI, we takes care the rest of the world!
4. Full Query API
Companies which wants to do Devops on the IaaS often encounter a problem that there is no API to search resources, so they have to bypass the software and directly access the database. ZStack solves this problem by query APIs, you can do SQL-like queries including table-join at API level. For example:
QueryHost fields=name,uuid,managementIp hypervisorType=KVM vmInstance.allVolumes.size>=549755813888000 vmInstance.state=Running start=0 limit=10
With the query API, enterprises can build sophisticated UI similar to outlook and jira, which generate views defined by query.
5. Light-weight IaaS
ZStack is light-weight IaaS that can be easily installed on a single physical machine even virtual machine. Many of our users use two machines to setup a HA cluster where computing, storage and control nodes are converged. This can help small businesses build their private cloud, without purchasing many hardware just for deploying a control panel.
If you think OpenStack is unnecessary complexity for your cloud, I recommend you to try out ZStack.