SlideShare a Scribd company logo
Environment as a Code
   with Vagrant & Chef
       金明 @imingjin
Scenario 1



如何满足团队需要新机器的需求?
Scenario 1


IS同学给我们订购一台机器,但要等半个月

IS同学给我们创建一台虚拟机,但服务器资源
有限
Scenario 2



如何快速搭建一套完全可用的应用环境?
Scenario 2


团队ghost标准环境,ghost文件缺乏维护

大多数时候,团队仍然需要去做手工部署

每个人基本上都有自己的部署过程,千人千面
Scenario 3



如何保持团队机器上的工具与库等一致?
Scenario 3


各人的机器配置很快就变得面目全非

升级工具或者库,需要逐台机器进行
缺乏管理,环境的问题无休无止
发、测试、CI、Staging、Production⋯
环境   也要做 配置管理
Scenario 1


如何满足团队需要新机器的需求?




何不试试本地的虚拟机?
Vagrant Sample 1



创建一台CentOS服务器
与VirtualBox/VMWare有啥区   ?
没有区    ,只不过⋯
用Ruby脚本描述机器配置
自动化、可以集成到CI等流程
Base box的维护、管理社区化
集成对环境provision的支持
Let’s Look Closer...
Box operations

  add/remove/list

  package

vm instance operations

  up/resume/reload

  suspend/halt/destroy

  ssh/provision
Let’s Look Closer...

Networking

  NAT

  host-only

  bridged

Shared folder
Scenario 2


如何快速搭建一套完全可用的应用环境?




如何对应用环境进行配置管理?
Vagrant Sample2



Provision刚才创建的服务器
应用环境配置

            OS
      Runtime
     Container
           app

           app



     app         lib
应用环境配置
               OS
         Runtime
         Container
              app

              app



        app          lib

  Infrastracture as Code
Chef
Manage your servers by writing code, not by running
commands. (via Cookbooks)

Integrate tightly with your applications, databases, LDAP
directories, and more. (via Libraries)

Easily configure applications that require knowledge about
your entire infrastructure ("What systems are running my
application?" "What is the current master database
server?") (via Search)

Create perfect clones of QA environments, pre-production
environments, partner preview environments and more. (via
Environments)
Chef sample1



chef-solo配置一台服务器
与我自己写shell/powershell有啥区   ?
没有区      ,只不过⋯
Chef对shell的命令与系统提供了良好的抽象
对脚本的管理(knife)与版本管理(chef-repo.git)
cookbook/recipe社区
Ruby!!
client/server的架构支持“pub/sub”
Let’s Look Closer
Scenario 3


如何保持团队机器上的工具与库等一致?




如何自动监听应用环境的变更并更新?
Chef Sample 2



chef-client配置一台服务器
Let’s Look Closer
Scenario 4



How about windows?
Scenario 4


How about Windows?




Chef也行!
Chef Sample 3



chef + windows server 2008

winrm + knife-windows
多余的话


本地虚拟机

私有云

公有云
References
vagrant(http://vagrantup.com)

veewee(https://github.com/jedi4ever/veewee)

chef(http://wiki.opscode.com/display/chef/
Home)

knife-windows(https://github.com/opscode/
knife-windows)

puppet(http://docs.puppetlabs.com)
Q&A

More Related Content

PDF
2014 Hpocon 李志刚 1号店 - puppet在1号店的实践
PPTX
Ops X Serverless (GCPUG.TW meetup 20180627)
PPTX
我們與Azure DevOps的距離
PDF
Dbbuild2
 
PPTX
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
PDF
簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率
PPTX
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
PDF
从Docker到容器服务
2014 Hpocon 李志刚 1号店 - puppet在1号店的实践
Ops X Serverless (GCPUG.TW meetup 20180627)
我們與Azure DevOps的距離
Dbbuild2
 
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
簡化 JVM 上雲 - 透過 Azure Spring Cloud 提升開發、發佈及服務監控效率
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
从Docker到容器服务

What's hot (17)

PPTX
ASP.NET Core 6.0 全新功能探索
PPTX
企业应用架构:模块化、微服务与 Linux 容器技术
PPTX
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
PDF
Ansible introduction
PDF
Ch14 簡介Spring Boot
PPTX
容器驅動開發 - .NET Conf 2017 @ 台中
PPTX
Scylladb 3.0 new
PPTX
使用 ASP.NET 5 實戰開發雲端應用程式
DOC
Subversion快速入门教程
PDF
Gops2016 云端基于Docker的微服务与持续交付实践
PPTX
AKS 與開發人員體驗 (Kubernetes 大講堂)
PPTX
研发云:借助云计算实现持续交付(by冯智超)
PDF
美团点评技术沙龙05 - 前后端联调方案探索与应用
PDF
Mobile Web Function Test
PPTX
ASP.NET MVC 5 新功能探索
PPTX
Windows Container 101: dotNET, Container, Kubernetes
PDF
twMVC#26 | Redis資料型別與場景的連結
ASP.NET Core 6.0 全新功能探索
企业应用架构:模块化、微服务与 Linux 容器技术
全新 Windows Server 2019 容器技術 及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
Ansible introduction
Ch14 簡介Spring Boot
容器驅動開發 - .NET Conf 2017 @ 台中
Scylladb 3.0 new
使用 ASP.NET 5 實戰開發雲端應用程式
Subversion快速入门教程
Gops2016 云端基于Docker的微服务与持续交付实践
AKS 與開發人員體驗 (Kubernetes 大講堂)
研发云:借助云计算实现持续交付(by冯智超)
美团点评技术沙龙05 - 前后端联调方案探索与应用
Mobile Web Function Test
ASP.NET MVC 5 新功能探索
Windows Container 101: dotNET, Container, Kubernetes
twMVC#26 | Redis資料型別與場景的連結
Ad

Similar to Envrionment as a code with vagrant & chef (16)

PDF
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
PDF
基于Fuel的超融合一体机
PDF
Openstack网络规划
PDF
自动化运维管理
PDF
合久必分,分久必合
PDF
Baidu Cloud Foundry
PPTX
hicloud PaaS 雲創平台 PHP 運行環境介紹
PPTX
Track2 -刘继伟--openstack in gamewave
PPTX
OpenStack Network Planning
PPTX
202203-技术沙龙-k8s-v1.pptx
PDF
20150604 docker 新手入門
PDF
2015中国软件技术大会-开放云介绍
PDF
51 cto下载 51cto信息图:openshift vs cloudfoundry
PDF
Linux基础
PDF
unixtoolbox_zh_CN
PDF
Unixtoolbox zh cn
A brief introduction to Vagrant – 原來 VirtualBox 可以這樣玩
基于Fuel的超融合一体机
Openstack网络规划
自动化运维管理
合久必分,分久必合
Baidu Cloud Foundry
hicloud PaaS 雲創平台 PHP 運行環境介紹
Track2 -刘继伟--openstack in gamewave
OpenStack Network Planning
202203-技术沙龙-k8s-v1.pptx
20150604 docker 新手入門
2015中国软件技术大会-开放云介绍
51 cto下载 51cto信息图:openshift vs cloudfoundry
Linux基础
unixtoolbox_zh_CN
Unixtoolbox zh cn
Ad

Recently uploaded (16)

DOC
原版制作(UOL毕业证书)路易斯维尔大学毕业证毕业证和学位证哪里购买
DOC
原版制作(法国毕业证书)图卢兹第一大学毕业证学费单在线办理
DOC
一比一原版(英国RVC毕业证书)皇家兽医学院毕业证毕业成绩单官方认证
DOC
一比一原版(美国RSU毕业证书)罗杰斯州立大学毕业证毕业证书复印件原版定制
DOC
一比一原版(GBC毕业证书)乔治布朗学院毕业证学费发票学分不够
DOC
一比一原版(美国DC毕业证书)达特茅斯学院毕业证毕业证认证出售
DOC
一比一原版(CSUMB毕业证书)加州州立大学蒙特利湾分校毕业证学费发票挂科办理
DOC
原版制作(英国NTU毕业证书)诺丁汉特伦特大学毕业证注册证明信原版定制
DOC
一比一原版(美国USD毕业证书)圣地亚哥大学毕业证研究生文凭证书哪里办理
DOC
网上存档可查(美国Tufts毕业证书)塔夫茨大学毕业证转学成绩单如可办理
DOC
一比一原版(澳大利亚UNSW毕业证书)新南威尔士大学毕业证文凭学历认证在线购买
DOC
原版制作(爱尔兰IADT毕业证书)邓莱里文艺理工学院毕业证文凭证书英文定做
DOC
网上存档可查(UM毕业证书)迈阿密大学毕业证学位证书1:1制作
DOCX
托福口語保分如何不被 AI 發現?托福保分沒出分可以全額退費嗎?-mexam.net
PDF
Company Profile: Swift Ecommerce Consultants
DOC
原版制作(PSU毕业证书)宾州州立大学毕业证毕业证书范本原版制作
原版制作(UOL毕业证书)路易斯维尔大学毕业证毕业证和学位证哪里购买
原版制作(法国毕业证书)图卢兹第一大学毕业证学费单在线办理
一比一原版(英国RVC毕业证书)皇家兽医学院毕业证毕业成绩单官方认证
一比一原版(美国RSU毕业证书)罗杰斯州立大学毕业证毕业证书复印件原版定制
一比一原版(GBC毕业证书)乔治布朗学院毕业证学费发票学分不够
一比一原版(美国DC毕业证书)达特茅斯学院毕业证毕业证认证出售
一比一原版(CSUMB毕业证书)加州州立大学蒙特利湾分校毕业证学费发票挂科办理
原版制作(英国NTU毕业证书)诺丁汉特伦特大学毕业证注册证明信原版定制
一比一原版(美国USD毕业证书)圣地亚哥大学毕业证研究生文凭证书哪里办理
网上存档可查(美国Tufts毕业证书)塔夫茨大学毕业证转学成绩单如可办理
一比一原版(澳大利亚UNSW毕业证书)新南威尔士大学毕业证文凭学历认证在线购买
原版制作(爱尔兰IADT毕业证书)邓莱里文艺理工学院毕业证文凭证书英文定做
网上存档可查(UM毕业证书)迈阿密大学毕业证学位证书1:1制作
托福口語保分如何不被 AI 發現?托福保分沒出分可以全額退費嗎?-mexam.net
Company Profile: Swift Ecommerce Consultants
原版制作(PSU毕业证书)宾州州立大学毕业证毕业证书范本原版制作

Envrionment as a code with vagrant & chef