这是今天部门内部分享的PPT
Slideshare有些失真,ppt下载地址:PPT下载
首先介绍云计算概念PaaS+SaaS+IaaS。
然后以Cloud Foundry为PaaS代表。
使用Sinatra编写一个连接MySql查询优快云用户信息的小应用,并部署到Cloud Foundry上。
本来想详细演示下这些功能
- 简单的hello world应用
- 连接mysql查询优快云用户信息
- 给应用进行集群
- 演示应用的热部署。
后来由于网速等的不给力,走马观花过了一遍。
cloud foundry 官网:http://cloudfoundry.com
cloud foundry 源码:https://github.com/cloudfoundry
源码基本同http://rubyer.me/blog/1234,只是修改的访问数据库的代码。
2 | require 'active_record' |
6 | services = JSON .parse( ENV [ 'VCAP_SERVICES' ]) |
7 | mysql_key = services.keys.select { |svc| svc =~ /mysql/i }.first |
8 | mysql = services[mysql_key].first[ 'credentials' ] |
10 | mysql_conf = {database: 'd7c8cf2bdb43179768bbc47e01636a' , :host => mysql[ 'hostname' ], :port => mysql[ 'port' ], |
11 | :username => mysql[ 'user' ], :password => mysql[ 'password' ], adapter: "mysql2" , encode: "utf8" } |
13 | ActiveRecord::Base.establish_connection(mysql_conf) |
15 | class Csdn < ActiveRecord::Base |
24 | @csdns = Csdn.where( "email like ? or username like ?" , "%" + @key + "%" , "%" + @key + "%" ) |
views/index.html.erb源码
3 | Your missing hack tool(优快云)</ pre > |
4 | < form action = "/" method = "get" >search for: |
5 | < input type = "text" name = "key" value="<%= @key if @key %>" /> |
6 | < input type = "submit" value = "submit" /></ form > |
10 | < h3 >Csdn results: ()</ h3 > |