我一直在研究Vagrant,发现它对我的开发非常有用。目前我正在管理一系列服务(邮件、Web、LDAP、文件共享等),经常遇到这些服务之一掉落需要快速备份的情况。是否可以(并建议)使用Vagrant来实现这些目的?
到目前为止,我已经像真实机器一样安装了虚拟机。
我还想了解Vagrant的替代方案,它能让我设置一个简单的配置文件,例如放置一个带有Zimbra的虚拟机,并快速启用备用邮件服务器、启用RabbitMQ等功能。
我一直在研究Vagrant,发现它对我的开发非常有用。目前我正在管理一系列服务(邮件、Web、LDAP、文件共享等),经常遇到这些服务之一掉落需要快速备份的情况。是否可以(并建议)使用Vagrant来实现这些目的?
到目前为止,我已经像真实机器一样安装了虚拟机。
我还想了解Vagrant的替代方案,它能让我设置一个简单的配置文件,例如放置一个带有Zimbra的虚拟机,并快速启用备用邮件服务器、启用RabbitMQ等功能。
Vagrant应该更像一个暂存环境来测试您的基础设施更改。它应该是自动化基础设施更改的测试床。
我们在我的公司使用的方法如下:
基本上,在我们对更改满意时,我们将把我们的puppet更改推入生产环境,以使其发生。
我不建议使用vagrant来管理实际生产的虚拟机。我会使用其他东西,比如razor、virsh、OpenStack或其他许多虚拟机管理系统。
我曾有同样的问题,并一直在调查使用Vagrant push,根据他们的文档,自版本1.7以来,Vagrant能够将应用程序代码部署或“推送”到与你的Vagrantfile相同目录上的远程服务器(例如FTP服务器)。
我正在考虑让Vagrant在VM中为开发人员自动启动,同时也让你有选择地将你的代码部署到生产环境中的实际服务器。
自动化开发环境:Otto 可以检测您的应用程序类型,并为该应用程序构建一个专门定制的开发环境,无需或仅需最少的配置。如果您的应用程序依赖于其他服务(例如数据库),它将自动为您在开发环境中配置和启动这些服务。
面向微服务构建:Otto 理解依赖关系和版本控制,并可以自动部署和配置应用程序及其所有依赖项到任何环境中。应用程序只需要告诉 Otto 它的直接依赖项;依赖项的依赖关系会自动检测和配置。
部署:Otto 不仅知道如何开发应用程序,还知道如何部署它们。无论您的应用程序是现代微服务、传统的单体应用程序还是介于两者之间,Otto 都可以将您的应用程序部署到任何环境中。
Docker:Otto 可以使用 Docker 下载和启动开发所需的依赖项,以简化微服务。应用程序可以自动容器化,使部署更加容易,而不会改变开发人员的工作流程。
生产级工具:Otto 使用生产级工具构建开发环境(Vagrant)、启动服务器(Terraform)、配置服务(Consul)等。Otto 建立在支持全球最大网站的工具之上。Otto 自动安装和管理所有这些工具,因此您无需担心。
正如@andrerpena所提到的,Otto是Vagrant的继承者。
Otto可以部署您的应用程序。多年来,使用Vagrant的用户一直希望有一种方法将其Vagrant环境部署到生产中。 不幸的是,Vagrantfile并未包含足够的信息来构建符合行业最佳实践的适当生产环境。 Appfile用于编码此知识,并且部署只需要一个命令即可完成。