云计算和DevOps
云计算
概念、定义
云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态的易扩展且经常是虚拟化的资源。
美国国家标准与技术研究院对于云计算的定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络、服务器、存储、应用软件和服务),这些资源能够被快速提供,只需投入很少的管理工作,或与服务供应商进行很少的交互。
分类
- 公有云(AWS, 阿里云,Azure等)
- 云服务提供商对基础设施维护
- 多租户
- Pay For Use
- 私有云(Vmware等)
- 自己维护云基础设施
- 单租户或狭义上的多租户
- Pay For Cloud
- 混合云(Azure, Rackspace)
- 云服务提供商维护自己的云设施
- 用户范围内租户隔离
- Pay For Use of Cloud
DevOps
概念
DevOps = Development + Operations
DevOps是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保证(QA)部门之间的沟通、协作与整合。它的出现时由于软件行业日益清晰地认识到:为了按时交付软件产品和服务,开发和运营工作必须紧密合作。其最大的特点就是极速的迭代和快速的用户反馈。
DevOps完整研发周期
- 下载:https://www.docker.com/docker-mac
- 安装:下载文件为.dmg文件,打开,拖动到Application文件夹中即可
node web项目的DevOps实例
项目准备
- 在本地创建一个node项目,文件目录以及文件内容如下:
- 使用 pm2 管理项目的启动,配置如下:
- 启动项目:npm run start
打开浏览器,访问 http://localhost:3008,即可看到web页面。
将其部署到云计算服务器上(本blog使用的是美团云。。。)
- 上传代码到 github 上, 地址:https://github.com/wikidson/node-web-DevOps
-
登陆到云服务,部署项目
- 通过 ssh 进入到云主机
-
由于我们的项目是node项目,所以需要在云主机上安装node:
- 下载node镜像,这里直接使用的淘宝的node镜像,不需要编译
wget -P /usr/local/ https://npm.taobao.org/mirrors/node/v8.9.4/node-v8.9.4-linux-x86.tar.gz
- 解压node镜像
cd /usr/local && tar zxvf node-v8.9.4-linux-x86.tar.gz
- 配置环境变量
vim /etc/profile # 自文件末尾添加:export PATH="$PATH:/usr/local/node-v8.9.4-linux-x86/bin" source /etc/profile
-
从github上获取代码,并启动项目
- 创建目录:
mkdir -p ~/webapp && cd ~/webapp
2. clone 项目:git clone https://github.com/wikidson/node-web-DevOps
- 启动项目:
cd node-web-DevOps && npm install && npm run start
- 访问web项目对应的云主机外网IP和端口号:
- 创建目录:
实现DevOps
- 创建部署服务器:
- 部署脚本内容如下:
- 添加脚本命令到 package.json 文件中
- 将代码提交并push到github上
5.登陆云主机, 进行如下操作:
cd ~/webapp/node-web-DevOps
npm install
npm start:deploy
npm start
打开浏览器, 依次访问如下地址:
web页面:
部署页面:
- 配置 github 的webhook
以上及实现了项目的DevOps
- 验证,修改项目代码
等待30s左右(因为在云主机上需要重新执行 npm install )
打开浏览器,访问web页面,输出如下:
上一篇: Zabbix
下一篇: 『为金融数据打标签』「2. 元标签方法」