[Ruby] bosh Introduction

Source: Internet
Author: User

Cloud foundry is the first open source PAAs in the industry. it supports multiple frameworks, multiple services and multiple cloud providers. bosh was originally created in the context of the cloud foundry project. nevertheless, it is a general tool chain for deployment and lifecycle management of large scale distributed services. in a few subsequent blogs, I will walk you through the process of installing the cloud foundry platform using bosh.

Bosh is the tool we use to deploy the components of cloud foundry onto distributed nodes. (in a receivalized environment, we use the term "Node" interchangeably with "Virtual Machine" or VM ). before we move to the details of a real deployment, let's introduce briefly how bosh works when it deploys a system. we stronugly suggest you read the official bosh document here. https://github.com/cloudfoundry/oss-docs/blob/master/bosh/documentation/documentation.md)

Bosh can be considered as a server or a robot which orchestrates the deployment process of a distributed system. there is a ruby tool which can interact with Bosh command line interface (CLI ). before bosh starts to deploy a system, it needs three prerequisites: A Stemcell, a release (the software to be installed), and a deployment manifest. let's look at these three items in more detail.

 Stemcells:In a cloud platform, VMS are usually cloned from a template. A Stemcell is a VM template containing a standard Ubuntu distribution. A bosh agent is also embedded in the template so that bosh can take control of VMS cloned from the Stemcell. the name "Stemcell" originated from biological term "stem cells", which refers to the undifferentiated cells that are able to grow into diverse cell types later. similarly, VMS created by a bosh Stemcell are identical at the beginning. after inception, VMS are configured with different CPU/memory/storage/network, and installed with different software packages. hence, VMS built from the same Stemcell template behavior differently.

 Releases:A release contains collections of software bits and tolerations which will be installed onto the target system. each VM is deployed with a collection of software, which is called a job. ations are usually templates which contain parameters such as IP address, port number, user name, password, domain name. these parameters will be replaced at deploy time by the properties defined in a deployment manifest file.

 Deployments:A deployment is something that turns a static release into runnable software on VMS. A deployment manifest defines the actual values of parameters needed by a deployment. during a deployment process, bosh substitutes the parameters in the release and makes the software run on the configuration as planned.


[Ruby] bosh Introduction

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.