作者归档:在线疯狂

RSS feed of 在线疯狂

IaaS vs. PaaS vs. SaaS云计算服务模式对比

各种形式的云计算服务如雨后春笋般不断涌现,而这些服务形式各有其优点和缺点。各式各样容易混淆的缩写词充斥其中,让人难以做出最佳选择。

云计算服务最主要的3种模式为IaaS,PaaS和SaaS,分别代表基础设施即服务,平台即服务以及软件即服务。当你仔细观察你会发现,从中做出选择的关键是公司的实际需求。

虚拟化技术、高速网络的普及与当今浏览器的功能使得这些服务成为可能。有了这些现成的服务,人们不再需要拥有自己的基础设施,甚至不再需要拥有自己的软件。当需要时,你可以随时从云端获取自己所需的东西。

理解这些“即服务"产品最简单的方式是从SaaS开始,这是最抽象的一层并且你现在可能已经在使用了,即使在个人层面上。SaaS的一个简单的例子就是在线邮件服务,例如Gmail。如果你使用Gmail,你并没有架设自己的邮件服务器。Google托管了这些服务器,你只需通过浏览器客户端访问服务。不过电子邮件只是你的公司使用的应用之一,目前还有许多商业用途的在线应用。

SaaS其实面向的是公司的终端用户并且很容易上手。服务提供商计算你的应用需要多少资源。服务提供商计算出需要多少服务器,虚拟机,网络设备,所有一切。你只需用浏览器访问就可以了。

IaaS位于云图谱的另外一端。在此场景中,你需要维护控制你的网络环境,但是不想维护任何设备。你不想买服务器并且把它们放置在环境控制的机房里。相反,你只需找IaaS提供商申请虚拟机就可以满足这些需求。

你可以安装自己所需的任何软件。在后端,提供商在你需要时为你提供存储或者其他资源。这些因为虚拟化技术而变得简单,该技术将物理驱动器和你运行的虚拟机相互隔离开来。IaaS在Amazon EC2,IBM和许多其他提供商都有提供,但是你需要仔细抉择。

PaaS位于IaaS与SaaS之间。与SaaS不同,PaaS并不是一个完整的产品,它也不是像IaaS那样的白板(拉丁语:Tabula rasa)。PaaS为应用开发者提供钩子(hooks)和工具来为平台做定制开发。例如,微软的Windows Azure为开发者提供工具来开发移动app,社会化app,网站,游戏等等。你自己开发这些应用,但是需要使用提供商的API和工具并且使用Azure环境进行部署和运行。

In the end, SaaS and its many types may actually become so overused that we stop referring to it as a cloud thing. After all, even what we typically ...

继续阅读

bootstrap标签页使用方法

Bootstrap的JS插件中包含了标签页组件,使用步骤如下:

1. 在页面中添加bootstrap的样式与js引用,例如可以从百度CDN获取:


<script src="https://libs.baidu.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<link href="https://libs.baidu.com/bootstrap/3.0.3/css/bootstrap.min.css" rel="stylesheet" />

2. 添加标签头部,class样式为nav nav-tabs,标签标题设置属性data-toggle=tab。例如:


<ul id="myTab" class="nav nav-tabs">
 <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
 <li><a href="#profile" data-toggle="tab">Profile</a></li>
 <li class="dropdown"><a href="#" id="myTabDrop1" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
  <ul class="dropdown-menu" role="menu" aria-labelledby="myTabDrop1">
   <li><a href="#dropdown1" tabindex="-1" data-toggle="tab">@fat</a></li>
   <li><a ...

继续阅读

基于nodejs与phantomjs在heroku搭建网页截图服务

heroku网页截图服务搭建流程:

基于nodejs与phantomjs可以在heroku上搭建网页截图服务(Screenshot as a Service)

示例页面:http://screenshot.bookshadow.com/

该服务基于github的项目https://github.com/fzaninotto/screenshot-as-a-service的heroku分支版本

部署具体步骤如下:

继续阅读

Ubuntu 13.10安装heroku toolbelt异常解决方案

heroku toolbelt是heroku的客户端程序包,包括Heroku client,Foreman和Git

heroku官网提供的安装方式是:wget -qO- https://toolbelt.heroku.com/install-ubuntu.sh | sh

但是在ubuntu 13.10下直接安装会报错,提示:

sh: 7: [[: not found

解决方案为将https://toolbelt.heroku.com/install-ubuntu.sh wget至本地,修改第13行
将deb http://toolbelt.heroku.com/ubuntu的http更改为https


#!/bin/sh
{
    echo "This script requires superuser access to install apt packages."
    echo "You will be prompted for your password by ...

继续阅读

OpenShift编译安装gperf

GNU gperf是一款完美的哈希函数生成器。 给定一组字符串,它生成一个哈希函数和哈希表,采用C 或者 C++ 代码的形式,来根据输入的字符串寻找对应的值。哈希函数是完美的,这意味着哈希表没有冲突,并且哈希表的查找只需要一次字符串比较。

安装步骤:

1. 从GNU gperf官网(目前最新版为gperf-3.0.4)或者GNU镜像站下载gperf源码包

2. 将源码包上传至工程的git目录下,假设工程名为foo,则目录为$HOME/git/foo.git/

3. 将源码包解压 tar zxvf gperf-3.0.4.tar.gz,生成目录gperf-3.0.4

4. cd至gperf-3.0.4,执行./configure --prefix=${HOME}git/foo.git/install (注,默认安装路径为ac_default_prefix=/usr/local,由于该目录无写权限,因此不可用)

5. 分别修改doc,lib,src这3个目录下的configure文件,在代码test -z "$cl_cv_path_install" && cl_cv_path_install="cp" 所在行后添加代码:cl_cv_path_install="cp"

6. cd至gperf-3.0.4,执行make install,此时gperf会被安装在${HOME}git/foo.git/install/bin目录下

注释:


if test -z "$INSTALL"; then
if ...

继续阅读