PaaS系统/容器Codetainer、Sandstorm、Bocker、NDock介绍

以下为你介绍的PaaS系统/容器都可用在Linux系统上:Codetainer(基于浏览器的容器)、Sandstorm(个人云平台)、Bocker(Shell 实现的 Docker)、NDock(.NET应用运行容器)。

1、Codetainer(基于浏览器的容器)

PaaS系统/容器Codetainer、Sandstorm、Bocker、NDock介绍

Codetainer 可以让你创建基于浏览器上的代码运行沙箱,可方便的嵌入到你的 Web 应用中。你可以把它当成是 codepicnic.com 的开源克隆) 。

Codetainer 作为一个 Web 服务运行,并提供 API 来创建、查看和附加代码到沙箱。你可以在任何的 HTML 终端中实时完成这些操作。其后端基于 Docker 以及其 API 来完成这些主要功能。

Codetainer 使用 Go 语言开发。

从源代码构建和安装:

# set your $GOPATH

go get github.com/codetainerapp/codetainer  

# you may get errors about not compiling due to Asset missing, it's ok. bindata.go needs to be created

# by `go generate` first.

cd $GOPATH/src/github.com/codetainerapp/codetainer

# make install_deps  # if you need the dependencies like godep

make

这将创建./bin/codetainer。

配置Docker:

您必须将Docker配置为侦听TCP端口:

DOCKER_OPTS="-H tcp://127.0.0.1:4500 -H unix:///var/run/docker.sock"

下载地址:https://github.com/codetainerapp/codetainer

2、Sandstorm(个人云平台)

Sandstorm 是国外一款开源的项目,是由我们熟知的开发Protocol Buffers的前谷歌工程师 Kenton Varda 创立的,旨在基本改变现有的网络应用方式,目前已被数百个技术公司使用。后续又发展了Cap'n Proto。

什么是 sandstorm.io?

Sandstorm 将会使你用个人服务像用手机一样的简单。使用者可以使用一个简单的APP 商店安装一些像邮箱、文件编辑、博客软件等等。没有配置文件,没有命令行;所有的东西都是通过你的浏览器完成的。

换句话说,Sandstorm 不仅向使用者提供一些服务器,还会让使用者选择他所使用的软件。也就是说:

使用者所有的数据都储存在一个地方,而不是零散的分落在网上。

如果开发者停止运行它们,APP也不会消失。

APP 的开发者不会暗中侦查使用者、拿使用者做实验或者用使用者的数据进行广告宣传。

在此之前,只有具有高级系统管理知识的人才能使用它们的服务器,现在Sandstorm 却能使每个人都可以使用它。不仅使用简单而且很创新。我们直接在APP平台里建立了通用的功能和强有力的工具:

每一个APP里都有一个安全沙盒,这样就能保证恶意APP不会损害你的服务器。

Sandstorm 提供了一个统一的登录系统,因此你没必要分别进入不同的APP。

APP可以很简单的整合不统一的分享模型而不是独自的运行。事实上,Sandstorm 的沙盒模型使安全分享任意APP案例成为了可能,即使APP本身并不能实现分享。

APP提供了一些基础设施以供联合,这样它们就可在你的允许下安全有效的通过网络接口去发现,去互相讨论,去连接其他的服务器。作为一个私有云平台,创建 Sandstorm 的真正动力在于帮助开源组织和独立开发者打造属于他们自己的Web应用。

在今天较为流行的SaaS模型中,独立开发者不借助外力是不可能取得成功的。尽管这些百折不挠的人们还是在继续开发,但是有一个问题就是:他们开发 出来的软件根本不可能到达广大用户的手中。为了使低预算的软件能够成功,也为了推进开源运动的发展,用户需要在不依赖开发者的前提下运行软件,这在桌面端 和智能手机上很容易实现。但是对服务端的应用来说,这很难实现,因为不是所有人都有自己的服务器。

如今的社会状况就是,只有那些有时间、金钱和相关技术的人才能拥有自己的个人主机。甚至许多技术人员都没有,因为从创建主机到管理主机是一件痛苦的事。

Sandstorm 的出现正是为了解决这个问题——人人都能轻松拥有自己的个人主机。

“唯一的解决之道在于人人都能拥有自己的服务器,在服务器上可以安装任何自己喜欢的应用。”

目前 Sandstorm 有什么?

目前Sandstorm 已经在使用。它在 Github上提供公开并且可利用的资源。使用者可以自行配置或者在Sandstorm 网站上向其的服务器寻求一些帮助。

处于安全原因,Sandstorm开始在APP怎么与外部世界相互作用上进行了大规模的整合并且也逐步授权一些功能,目前已经向Sandstorm提供了一些公开资源的APP。

目标:

Sandstorm 的目标是建立一个独立的APP市场;网络电源管理系统;GPG登录系统;文档加密系统和端对端的加密系统。

Sandstorm 支持联合创新,认为通过对网络APP的创新可以使每一个人更好的也更便捷的使用由他们自己控制的网络服务器。

Sandstorm.io 的下一个目标就是使人们在运行个人Web App上变得更加简单。它允许用户有自己的服务器,通过一个类似App Store的界面进入,用户可以安装自己的App,就像在你的手机上安装App一样。

安全问题:

对于传统的服务器,安装一个APP就有可能存在一个漏洞,从而就有可能遭到黑客的攻击。针对这一系列的安全问题Sandstorm开发了安全沙盒,这一安全沙盒可以让你的信息与其他的系统进行隔离,当你需要使用其中的信息时它会向Sandstorm发出信号申请使用,从而保证使用者的信息安全。

Sandstorm 是怎样工作的?

Sandstorm 拥有一些和 Linux基本相似的功能板块,便于使用者更熟悉的使用。Sandstorm 希望开发的APP都有自己独立的沙盒,每一个文件都存储在一个独立的沙盒里,当一个服务器在运行的时候其他的服务器就被关闭。

风险与挑战:

具有吸引力的开发项目都是很难的。风险之一是开发者不愿意去触碰Sandstorm,所以Sandstorm就需要有自己的开发和维持团队;其二是 Sandstorm将花费更长的时间去完成而不是去预测,所以Sandstorm就需要不仅完成现有的APP,更需要去预测更多的未来部分,如APP商店,网络电源盒子等。

下载地址:https://sandstorm.io/

3、Bocker(Shell 实现的 Docker)

Bocker 是一个用大约 100 行代码实现的 Docker。

依赖:

btrfs-progs、curl、iproute2、iptables、libcgroup-tools、util-linux >= 2.25.2、coreutils >= 7.5。

基本使用方法:

$ bocker pull centos 7

######################################### 100.0%

######################################### 100.0%

######################################### 100.0%

Created: img_42150

$ bocker images

IMAGE_ID        SOURCE

img_42150       centos:7

$ bocker run img_42150 cat /etc/centos-release

CentOS Linux release 7.1.1503 (Core)

$ bocker ps

CONTAINER_ID       COMMAND

ps_42045           cat /etc/centos-release

$ bocker logs ps_42045

CentOS Linux release 7.1.1503 (Core)

$ bocker rm ps_42045

Removed: ps_42045

$ bocker run img_42150 which wget

which: no wget in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)

$ bocker run img_42150 yum install -y wget

Installing : wget-1.14-10.el7_0.1.x86_64   1/1

Verifying  : wget-1.14-10.el7_0.1.x86_64   1/1

Installed  : wget.x86_64 0:1.14-10.el7_0.1

Complete!

$ bocker ps

CONTAINER_ID       COMMAND

ps_42018           yum install -y wget

ps_42182           which wget

$ bocker commit ps_42018 img_42150

Removed: img_42150

Created: img_42150

$ bocker run img_42150 which wget

/usr/bin/wget

$ bocker run img_42150 cat /proc/1/cgroup

...

4:memory:/ps_42152

3:cpuacct,cpu:/ps_42152

$ cat /sys/fs/cgroup/cpu/ps_42152/cpu.shares

512

$ cat /sys/fs/cgroup/memory/ps_42152/memory.limit_in_bytes

512000000

$ BOCKER_CPU_SHARE=1024 \

 BOCKER_MEM_LIMIT=1024 \

 bocker run img_42150 cat /proc/1/cgroup

...

4:memory:/ps_42188

3:cpuacct,cpu:/ps_42188

$ cat /sys/fs/cgroup/cpu/ps_42188/cpu.shares

1024

$ cat /sys/fs/cgroup/memory/ps_42188/memory.limit_in_bytes

1024000000

当前实现的功能:

docker build、docker pull、docker images、docker ps、docker run、docker exec、docker logs、docker commit、docker rm / docker rmi、Networking、Quota Support / CGroups。

下载地址:https://github.com/p8952/bocker

4、NDock(.NET应用运行容器)

NDock 是一个.NET应用运行容器,他可以帮助你宿主和管理你的多个后端服务程序。

功能特点:

自动化服务宿主:宿主你的多个后端程序,无需为每个程序创建服务。

外部程序宿主:宿主外部的可执行程序,可支持任何可执行程序,无论它是否是.NET开发。

多应用隔离:支持多个程序的应用程序域级别的隔离或者进程级别的隔离。

看门狗:程序意外关闭后自动启动。

自动化回收管理:达到一定条件后自动重启程序。

应用程序花园:为同一应用运行多个实例。 

下载地址:https://github.com/kerryjiang/NRack

注明

以上就是PaaS系统/容器Codetainer、Sandstorm、Bocker、NDock的介绍内容,这些PaaS系统/容器都能使用在Linux操作系统中。

栏目相关文章