开发环境设计

前言:

    程序员的测试环境和生产环境,都已经从物理机、虚拟机,进化到了自动化部署、容器云平台。

    那开发环境,是否也应该改善一下呢?

 

一、背景

开发环境怎么能做到一次搭建,永久使用,一劳永逸?甚至还可以快速复制和分享。

如何避免重装系统?

如何避免重装软件?

如何避免资料丢失?

如何避免重新配置?

 

包括几个方面问题:

1、更换电脑或重装系统时,如何快速拥有全面的办公能力、开发能力?

    通常情况:

  • 各种软件(常用的、不常用的)都得重新安装,包括各种插件、补丁等;

  • 系统配置,软件配置,都得重新来过;

  • 某些软件中的资料、历史记录,无法完全恢复(比如无法备份,浏览器的历史记录,XSHELL的登录密码等);

  • 其他一些问题……

    遇到这种情况,是很头疼的,特别是像我这样,各种配置、软件非常多的情况。

 

2、更换网络环境时,如何拥有以前花大力气搭建起来的实验环境(Linux下)?

    比如,以前搭了一套Kafka集群,Kubernetes集群,换了公司,现在想用一下,怎么办?

 

二、解决方案

 

先回答 问题2:

    通常来说,换了大环境、网络环境,以前那些实验性的东西,就不会再用了。试想一下,什么情况下,我们换了公司后,还会想把以前搭建的东西跑起来呢?可以是可以,但是代价比较大,需要衡量。

    所以,要解决的问题就是,怎么以最小的代价,恢复以前搭建和使用的东西。但是做这件事情之前,首先要考虑值不值得,这个东西以后用到的概率大不大。

    下面就说说解决方案。

    将实验环境搭在自己本地,而不是公司网络中,或者在本地打包成Docker镜像,拿到公司网络中去运行,甚至像Oracle这样的数据库,都是有Docker镜像安装的。

    但是像Kubernetes这种成套非常复杂的Docker镜像集群,还得对宿主机进行一些配置,要整套重新配置搭建,也是很费劲的。

    所以,解决方法就是,虚拟机+Docker的方式混合,能封装成Docker,一键或者简单安装的,就用Docker,如果需要用到宿主机,且有很多配置、安装很多软件的,则用虚拟机,恢复的方式就是直接把虚拟机启动起来。要管理这么多虚拟机,建议使用Vagrant。如果要用到Windows环境,也可以用Windows的虚拟机整体备份,这样所有的软件、开发环境都在里面了,启动起来就能用。

    这里有个问题,就是存储怎么解决,Docker会挂外部存储,大的文件也不宜直接存到虚拟机中,所以存储得单独拿出来。恢复的时候,要和Docker或虚拟机对应起来。

    总之,就是要写文档,把搭建步骤,存储的对应关系,使用方法等,都写出来。以便以后能很快恢复和上手。

    注意,虚拟机的方式运行,需要本地电脑有强悍的配置,比如要运行Kubernetes集群,运行TiDB,运行Spark Yarn等。我觉得,6个节点应该是足够了,每个节点最多8G,最多也就48G,算上宿主电脑自身需要,64G内存应该绰绰有余。放宽一点,32G可以将就用。

 

三、总结

    上述方案,现在我已经做到了,效果很好!简单总结一句话:

    “Windows的系统整体备份(WTG)” + “Vagrant虚拟机(Windows、Ubuntu、CentOS和DockerOS)”+“各种Docker镜像”

    其中:

  • WTG是重量级复制(也是日常使用系统的常规备份,非常可靠)

  • Vagrant虚拟机是比较重量级的复制(但很少需要复制,做好种子备份就行了)

  • Docker镜像是比较轻量级的复制(复制可靠,但很少用)

    相当于是有三重保障。开发环境的搭建,可以做到一劳永逸

  • 我MySQL、Redis等,都安装在Vagrant的DockerOS中,分分钟启动,数据持久化并有整体备份。

  • 我的一堆偶尔用到的软件(比如Music文件制作工具)安装在Windows虚拟机(VMWare或VirtualBox)中,分分钟启动。

  • 我偶尔用到的专业开发环境(比如Android开发)安装在专用Ubuntu虚拟机中(VMWare或VirtualBox)中,分分钟启动。

  • 我日常用到的所有常用软件和代码,都在Windows WTG系统中,一个小U盘,随身携带,定期备份,分分钟启动我日常使用的Win10系统。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值