问题描述
正在完善自己的DevOps技能,但他的“云”更像是一堆脚本化的虚拟机和系统监控。例如,如果他有Oracle VM Server,并安装了Ansible、Docker、Kubernetes等工具,可以进行CI、虚拟机和容器的部署,以及使用Elastic进行监控…这样算作云吗?
他可能会部署以下内容:
– 开发人员需要CI。开发人员使用Team Foundation Server进行CI,并调用Jenkins或其他工具进行部署。
– 开发人员的应用开始受到大量访问,需要进行扩容。如果应用程序允许,可以进行垂直扩容或水平扩容。数据库扩容、分片、缓存、索引等都属于DBA的工作。
– 对我来说,这更像是DevOps。你需要了解开发和运维的世界,并知道当运维无法再提供帮助时,以及应用程序需要进行工程化的时候。
– 还有一些脚本和日志监控的工作。
– 但是,我没有像Azure、Oracle Cloud这样的真正的云软件,也没有FaaS。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
根据Google的免费计算课程,云计算具有以下五个同等重要的特点:
1. 按需和自助获取计算资源。只需使用简单的界面,您就可以获得所需的处理能力、存储和网络资源,无需人工干预。
2. 可以从任何地方通过网络访问这些资源。
3. 提供者拥有一个大的资源池,并从中为客户分配资源。这使得提供者可以通过批量购买获得规模经济,并将节省的成本传递给客户。客户不需要知道或关心这些资源的确切物理位置。
4. 资源是弹性的。如果需要更多资源,可以快速获得更多。如果需要更少资源,可以缩减规模。
5. 客户只支付他们使用或预留的资源。如果停止使用资源,就停止支付。
使用DevOps软件与虚拟机,无论是否使用容器,都可以在不使用云的情况下进行。同样地,您可以在公共云上开设企业账户,而完全不进行DevOps。当大公司将传统系统迁移到云上时,这种情况比我们预期的要多,他们只是让系统管理员或其他运维人员使用云IaaS的Web界面手动创建和配置虚拟机。我曾经遇到过一些团队,他们确信自己在进行DevOps,但实际上只是在进行一些运维工作,只有少数专门的云工程师负责设置虚拟专用云(VPC,即与云的私有连接,如VPN或专线)和IAM(身份和访问管理)。
云和DevOps绝对不是同一回事,但在结合使用时效果最好。