Giter Site home page Giter Site logo

ciao's Introduction

#Ciao Project

Go Report Card Build Status Coverage Status GoDoc Stories in Ready

Ciao is the "Cloud Integrated Advanced Orchestrator". Its goal is to provide an easy to deploy, secure, scalable cloud orchestration system which handles virtual machines, containers, and bare metal apps agnostically as generic workloads. Implemented in the Go language, it separates logic into "controller", "scheduler" and "launcher" components which communicate over the "Simple and Secure Node Transfer Protocol (SSNTP)".

Controller is responsible for policy choices around tenant workloads.

Scheduler implements a "push/pull" scheduling algorithm. In response to a controller approved workload instance arriving at the scheduler, it finds a first fit among cluster compute nodes currently requesting work.

Launcher abstracts the specific launching details for the different workload types (eg: virtual machine, container, bare metal). Launcher reports compute node statistics to the scheduler and controller. It also reports per-instance statistics up to controller.

An additional set of componentry provides ciao network connectivity for workload instances and insures tenant isolation. Workloads (whether container or VM) are automatically placed in a unified L2 network, one such network per tenant.

A cli and webui are available.

All ciao components communicate with each other via SSNTP using a set of payloads.

This GitHub repository contains documentation on the various sub-components of ciao in their respective subdirectories. A comprehensive ciao cluster setup document is also available.

If you would like to contribute to ciao, check our Contributing guide. The wiki page ilustrates how to easily setup a development environment without needing a cluster. We also recommend taking a look at the 'janitorial' bugs in our list of open issues as these bugs can be solved without an extensive knowledge of ciao. We would love to help you start contributing!

The ciao development team can be reached via our mailing list and on IRC in channel #ciao-project on Freenode.

ciao's People

Contributors

bryteise avatar chavafg avatar indie avatar kaccardi avatar leoswaldo avatar markdryan avatar mcastelino avatar mrkz avatar obedmr avatar pdxjohnny avatar purpleidea avatar rbradford avatar waffle-iron avatar

Watchers

 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.