Giter VIP home page Giter VIP logo

zstack's Introduction

ZStack: the IaaS software you have been looking for. http://zstack.org

ZStack is open source IaaS(infrastructure as a service) software aiming to automate datacenters, managing resources of compute, storage, and networking all by APIs. Users can setup ZStack environments in a download-and-run manner, spending 5 minutes building a POC environment all on a single Linux machine, or 30 minutes building a multi-node production environment that can scale to hundreds of thousands of physical servers.

ZStack provides the capability of managing everything in a datacenter by APIs, fulfilling the goal of software-defined datacenter. Users control their clouds using either web UI or command line tool both of which interact with ZStack management nodes; NO scattered configurations, dependent software installation, services HA, and thirdparty monitoring are needed, all of them are taken care of by ZStack itself, which provides a great simplicity for stable long-term operation.

Why ZStack?

ZStack is designed to tackle two problems -- complexity and stability -- that users building clouds based on open source IaaS software have been suffered for a long time.

In terms of complexity, ZStack sticks to the design principles of APIs managing everything, full automation, self-managed services, no hardware lockin, and user-friendly query APIs, providing a software easy to setup and long-term operation.

In terms of stability, ZStack was born with a plugin system that adding or removing features will not impact existing codes, a workflow engine that can rollback completed changes on error, a cascade framework that can spread an operation from a resource to dependent resources, and three rigorous automated testing systems that guard every single feature, solving the stability issue in architectural designs.

Besides, ZStack is extremely scalable that a single management node is capable of managing hundreds of thousands of physical servers, managing millions of virtual machines, and serving tens of thousands of concurrent API requests, particular suitable for building large-scale public clouds.

Key Strength

Scalable

A single management node is capable of managing hundreds of thousands of physical servers, managing millions of virtual machines, and serving tens of thousands of concurrent API requests.

Fast

Operations are extremely fast, see below performance data of creating VMs.

VM NUMBER TIME COST  
1 0.51 seconds
10 1.55 seconds
100 11.33 seconds
1000 103 seconds
10000 23 minutes

Network functions virtualization

The default networking model is built on NFV(network functions virtualization), which provides every tenant a dedicated networking node implemented by a virtual appliance VM. The whole networking model is self-contained and self-managed, administrators need neither to purchase special hardware nor to deploy networking servers in front of computing servers.

Comprehensive query APIs

Users can query everything everywhere by about 4,000,000 query conditions and countless query combinations. You will never need to write ad-hoc scripts or directly access database to search a resource, it's all handled by APIs.

 >> QueryVmInstance vmNics.eip.guestIp=16.16.16.16 zone.name=west-coast
 
 >> QueryHost fields=name,uuid,managementIp hypervisorType=KVM vmInstance.allVolumes.size>=549755813888000 vmInstance.state=Running start=0 limit=10

Easy to deploy and upgrade

Installation and upgrade are as simple as deploying a Java WAR file. A POC environment can be installed in 5 minutes with a bootstrap script; A multi-node production environment can be deployed in 30 minutes including the time you read the documentation.

 >> [root@localhost ~]# curl http://download.zstack.org/install.sh |  bash -s -- -a

Full automation

Everything is managed by APIs, no manual, scattered configurations in your cloud. And the seamless, transparent integration with Ansible liberates you from installing, configuring, and upgrading agents on massive hardware.

Versatile plugin system

The core orchestration is built on an Eclipse and OSGI like plugin system that everything is a plugin. ZStack affirms that adding or removing features will not impact the core orchestration, promising a robust software the cloud users deserve.

Rigorous testing system

Three full-automated, rigorous testing systems ensure the quality of every feature.

Installation

Installation of ZStack is super easy; users can choose different methods depending on their needs to install the first ZStack environment:

Once the installation is done, users can follow one of getting started guides:

Tutorials

Six tutorials are prepared for your first journey in ZStack, building classic cloud deployments all on one single Linux machine:

Amazon EC2 classic EIP zone:
Flat Network:
Three Tiered Network:
Security Group:
Elastic Port Forwarding:
Snapshots:

Under the hood

Under the hood, ZStack is built on an architecture explained by following articles:

Scalability:

ZStack's Scalability Secrets Part 1: Asynchronous Architecture

ZStack's Scalability Secrets Part 2: Stateless Services

ZStack's Scalability Secrets Part 3: Lock-free Architecture

Plugin Architecture:

The In-Process Microservices Architecture

The Versatile Plugin System

The Tag System

The Workflow Engine

The Cascade Framework

Query API:

The Query API

Automation:

Full Automation By Ansible

Storage And Network:

Networking Model 1: L2 and L3 Network

Networking Model 2: Virtual Router Network Service Provider

Storage Model: Primary Storage and Backup Storage

Testing:

The Automation Testing System 1: Integration Testing

The Automation Testing System 2: System Testing

The Automation Testing System 3: Model-based Testing

License

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

zstack's People

Contributors

alvin-lau avatar camilesing avatar hhjuliet avatar live4thee avatar luchukun avatar mathematrix avatar mattyen avatar mingjian2049 avatar newbiet avatar qiraining avatar quarkonics avatar seasonkwok avatar winger007 avatar xuexuemiao avatar youyk avatar zhangzz2 avatar zstackorg avatar zxwing avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.