open source软件:CloudSlang介绍

  1. 介绍

1. 介绍

CloudSlang是一个基于工作流的软件的编排软件,写相应的yaml格式的DSL来定义工作流。

有三部分组成:the CloudSlang Orchestration Engine, the CloudSlang language and the ready-made CloudSlang content.

Overview Diagram

2. 特点

CloudSlang and its orchestration engine are:

  • Process Based: allowing you to define the ‘how’ and not just the ‘what’ to better control the runtime behavior of your workflows.
  • Agentless: there are no agents to set up and manage on all your machines. Instead, workflows use remote APIs to run tasks.
  • Scalable: execution logic and distribution are optimized for high throughput and are horizontally scalable.
  • Embeddable: the CloudSlang Orchestration Engine is distributed as a standard java library, allowing you to embed it and run CloudSlang from your own applications.
  • Content Rich: you can build your own flows, or just use CloudSlang ready-made content.

3. 快速开始

Download, Unzip and Run

  • Download the CLI with content zip file.
  • Unzip the archive.
  • Run the CloudSlang executable in the cslang-cli/bin folder.
  • At the prompt enter:
run --f ../content/io/cloudslang/base/print/print_text.sl --i text=Hi
  • The CLI will run the ready-made print_text operation that will print the value passed to the variable text to the screen

4. 已有的支持模块

cloudslang

  • amazon:
    • aws: Amazon Web Services (AWS) is a collection of remote computing services that make up a cloud-computing platform. This folder contains content for images, instances, network, regions, snapshots, tags and volumes.
  • base: This folder contains general purpose content.
    • cmd: Local shell command content, such as: run command.
    • comparisons: Comparison content, such as: equals and less than percentage.
    • datetime: This folder contains a variety of helper operations that are useful for manipulating dates and times.
    • filesystem: File management and manipulations, such as: read/write, copy/move/delete, and zip/unzip.
    • http: Http REST calls, such as: GET, POST, DELETE, PUT, TRACE, PATCH.
    • json: This folder contains operations for manipulating Javascript objects, or more precisely, string values that are contain objects in the JSON format (JavaScript Object Notation). JSON is a simple format that can represent simple values, arrays, and objects in a human-readable format that is very similar to what is used elsewhere in Operations Orchestration, with the added benefit that Javascript scriptlets can handle them as true structured objects.
    • lists: This folder contains a set of operations for list manipulation.
    • mail: The operations allow email to be sent using the sendmail protocol. It also allows emails to be retrieved via either POP3 or IMAP.
    • maps: Maps related content, such as: get keys and values.
    • math: Numeric operations, such as: add, divide, multiply, round and subtract numbers.
    • network: Network related actions, such as: ping and wait port open.
    • os: Content for working with operating systems, such as: determining the OS, checking disk space and validating SSH access.
    • powershell: The operation in this folder executes a PowerShell script on a remote host (in order to use this operation, there are some prerequisites (see powershell_script)).
    • print: Printing text.
    • python: The operation in this folder runs a python script provided through an inline script or the canonical path to the python file.
    • remote_file_transfer: The operations in this folder can be used to transfer files from one machine to another.
    • ssh: The operations interact with SSH Servers in a variety of ways.
    • strings: String actions and manipulations, such as: match, replace, occurrence counter.
    • utils: Utility actions, such as: base64 encoder and decoder, is true, uuid generator and sleep.
    • xml: Utility Operations for the manipulation of XML data.
  • chef: Chef is a systems and cloud infrastructure automation framework for deploying servers and applications to any physical, virtual, or cloud location. This folder contains content for bootstrapping nodes, adding/removing rules and/or recipes, and deleting nodes.
  • ci:
  • consul: Consul has multiple components, but as a whole, it is a tool for discovering and configuring services in your infrastructure. This folder contains content for interacting with Consul, such as dealing with endpoints and the key/value store.
  • coreos: CoreOS is a Linux distribution that has been rearchitected to provide features needed to run modern infrastructure stacks. This folder contains content for interacting with a CoreOS cluster.
  • couchbase: Couchbase Server is an open source, distributed, NoSQL document-oriented database.
  • digital_ocean:
    • v2: DigitalOcean is a cloud infrastructure provider focused on simplifying web infrastructure for software developers. This folder contains content for dealing with droplets, such as: create, list and delete.
  • docker: Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications.
  • git: Git is a distributed version control system. This folder contains content for interacting with Git.
  • google:
    • authentication Contains the authentication operation that can be used for other Google Compute integrations.
    • compute:
      • compute_engine Google - Compute Engine delivers virtual machines running in Google's innovative data centers and worldwide fiber network. Compute Engine's tooling and workflow support enable scaling from single instances to global, load-balanced cloud computing.
  • hashicorp
    • vault Hashicorp - Vault secures, stores, and tightly controls access to tokens, passwords, certificates, API keys, and other secrets in modern computing. Vault handles leasing, key revocation, key rolling, and auditing. Through a unified API, users can access an encrypted Key/Value store and network encryption-as-a-service, or generate AWS IAM/STS credentials, SQL/NoSQL databases, X.509 certificates, SSH credentials, and more.
  • heroku: Heroku is a cloud platform based on a managed container system for deploying and running modern apps. This folder contains content for dealing with accounts, applications, domains, regions and more.
    • cadvisor: cAdvisor provides container users an understanding of the resource usage and performance characteristics of their running containers. This folder contains content for querying cAdvisor to get usage information of Docker containers and to possibly act on the received responses.
    • containers: In Docker terminology, a container is a read-write layer, plus the information about its Parent Image and some additional information like its unique id, networking configuration, and resource limits. This folder contains content for working with Docker containers, such as: start, stop and delete.
    • images: In Docker terminology, an image is a read-only layer. This folder contains content for working with and maintaining Docker images, such as: pulling, listing, and deleting images.
    • maintenance: This folder contains content for maintaining a clean Docker environment, such as: retrieving and acting upon the status of MySQL and Linux checks.
    • monitoring: Content that check, report etc. the status of certain containers such as MySQL container.
    • swarm: Swarm provides native clustering capabilities to turn a group of Docker engines into a single, virtual Docker Engine. This folder contains content for interacting with a Swarm cluster.
    • utils: Utility content that pertains to Docker.
  • jenkins: Jenkins is an application that monitors executions of repeated jobs, such as building a software project or jobs run by cron. This folder contains content for working with Jenkins jobs, such as: enable, disable, copy and delete.
  • marathon: Marathon is cluster-wide init and control system for services in cgroups or Docker containers. This folder contains content for working with apps, such as: creating, deleting, updating and listing.
  • microsoft:
    • azure: Microsoft Azure is a growing collection of integrated cloud services—analytics, computing, database, mobile, networking, storage, and web—for moving faster, achieving more, and saving money.
  • new_relic:
    • servers: New Relic Infrastructure delivers real-time health metrics correlated with recent configuration changes, so you can quickly resolve issues, scale rapidly, and deploy intelligently.
  • openshift: OpenShift is a cloud application development and hosting platform that automates the provisioning, management and scaling of applications. This folder contains content for dealing with applications and cartridges.
  • openstack: OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter.This folder contains content for working with servers, such as: create, delete, authenticate and check.
  • stackato: Stackato is Platform-as-a-Service that can run on your own data center using the hypervisor of your choice, or on a cloud hosting provider. This folder contains content for dealing with Stackato, such as: applications, services and spaces.
  • twilio:
    • sms: Twilio SMS is an SMS sending and receiving online service.
  • vmware:
    • vcenterVMware vCenter Server is a virtualization platform which simplifies IT by separating applications and operating systems (OSs) from the underlying hardware. This folder contains content for dealing with virtual machines, such as create, power on/off, update and delete.

5. 测评

1. 可以内置到java的应用里。
2. workflow的语法比较简单
3. 给的支持的例子,可以支持的一些东西,试用了vmware, jenkins, python, 但还不够丰富
4. 提供的CLI, 但没有一个可视化的界面。
5. 不是一个可用的服务,提供restfulapi
6. 使用比较简单

6. 参考:

1. https://cloudslang-docs.readthedocs.io/en/latest/overview/get_started.html

2. https://github.com/CloudSlang/cloud-slang

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值