Skip to content

DevOps与:cloud,IaC,Container,Microservices, Serverless

本文我们来理一理当下最火的技术与DevOps的关系,2020年可以考虑从如下的几方面来改进DevOps。

DevOps代表开发和运营。它的目标是将开发、质量保证和运营(部署和集成)合并到一个单一的、连续的软件开发流程中,这种方法是敏捷和持续交付方法的自然扩展。DevOps更像是一种文化,甚至是一种促进跨职能团队沟通的哲学,使得团队间的沟通和合作更加容易。

云基础设施

今天,大多数组织使用混合云,即公共和私有云的组合。虽然云基础设施不是采用DevOps的必要条件,但它为应用程序提供了灵活性、工具集和可伸缩性。

基础架构和设施代码化

基础设施代码化(IaC)是一种使持续交付和DevOps成为可能的基础设施管理方法。它使用脚本和配置自动化地部署各种环境(网络、虚拟机等)。如果没有IaC,我们将不得不单独配置每个环境,这将成为一项乏味的任务,因为我们有许多用于开发、测试和生产的不同环境。将环境配置代码化后,我们可以简单地部署测试和生产环境, 且保证测试和生产环境的一致性。当需要进行扩展时,脚本可以快速地自动配置更多所需的环境,使其彼此一致。

容器化

容器作为新一代的轻量级的虚拟技术。在DevOps中使用容器来跨各种环境立即部署应用程序,并与上面描述的IaC方法很好地结合在一起。可以在部署之前将容器作为一个单元进行测试。目前,Docker提供了最流行的容器工具集。

Microservices

微服务体系结构方法需要将一个应用程序构建为一组相互通信但单独配置的独立服务。通过这种方式构建应用程序,可以隔离任何出现的问题,确保一个服务中的故障不会破坏其他应用程序功能。由于部署速度快,微服务使得系统更加稳定,同时能独立地解决问题。

Serverless

无服务器计算是一种云计算执行模型,我们可以直接在云端开发的部署。定价是基于应用程序实际消耗的资源数量,而不是基于预先购买的容量单位。无服务器计算可以简化将代码部署到生产环境中的过程。扩展、容量规划和维护操作可能对开发人员或运维人员隐藏。可以将无服务器代码与部署在传统样式(如微服务)中的代码结合使用。