优化云端应用性能的5项原则
优化云端应用性能
速度和敏捷性仍是企业采用云的主要驱动力之一,因为在当今这个快节奏的世界里,缓慢已难以接受。但作为DevOps从业者,既要加快应用部署,又要提升应用性能并确保安全,该如何实现系统和流程现代化,解决云环境中的速度瓶颈?我们有几点建议。
1. 基础设施即代码是您的得力助手
在99%的情况下,“手动”几乎等同于低效和不可预测。大多数人都会认同,要实现快速、可靠的交付,自动化是一个很好的起点。无论是启动更多云资源来横向扩展应用,还是部署和配置必要的应用服务,整个过程都应该像执行一次API调用或在控制台中点击一两下那样简单直接。采用基础设施即代码(IaC)是成功的关键。与基础设施、网络运维和安全运维团队协作,建立经过验证的定义文件,详细说明部署内容和部署方式,从而快速、可重复且可靠地预置基础设施和服务。
利用这种模板化方法进行自助式部署,最终可以减少对其他团队的依赖,并避免因通过工单请求手动配置基础设施而造成的部署瓶颈。
2. 充分发挥CI/CD流水线的作用
基础设施即代码是加快部署的正确方向,但要获得更显著的收益,还需要充分发挥完整CI/CD流水线的价值。除了更频繁地集成新的应用代码并自动将更新推送到生产环境外,还可以将应用服务的引入也集成到流水线中。将这些服务定义为代码(IaC),并存储在源代码控制工具中,以便定期监控、更新和验证,CI/CD工具(如Ansible和GitLab)便可通过API调用自动将这些服务纳入部署。这样既不会延误部署,又能确保每个应用在发布时都具备适当的安全与合规控制措施。
3. 采用容器……但要确保安全
将整个应用所需的代码、库和二进制文件打包成轻量级软件包,并在不同平台上快速、一致地部署,这一能力推动了近年来容器的广泛采用。这些特性有助于提升云环境中的速度,使应用能够按需启动和横向扩展、加快CI/CD流程,并构建高度动态且易于管理的微服务架构。
抛开这些炒作不谈,人们很容易一味追求速度,却忽略了仍有一些应用需要达到与应用组合中其他应用相同甚至更高的安全性和应用性能优化水平。遗憾的是,尝试改造现有应用服务以满足容器的独特需求,往往只能取得有限成效。更合适的做法是,确定一组更具动态性的服务,并将其与容器编排系统集成,从而真正为容器提供支持,帮助避免意外中断以及安全和合规问题。
4. 可见性就是力量
让应用快速上线运行是一回事,让应用持续稳定运行并可供用户使用,则是另一项截然不同的挑战。应用投入生产后,可能面临各种运行威胁,例如网络中断、平台问题、网络攻击和代码缺陷。排查单个应用中断往往已如同大海捞针,更何况多个应用同时在不同云环境中发生故障。该从何处着手?
在这种情况下,可见性是获取洞察的前提,因此对于解决应用问题至关重要。对应用堆栈各层的可见性越高,识别运行异常和根本原因的能力就越强。为此,必须实施一个集中式可见性解决方案,该解决方案不受云和应用限制,以便更快地解决多云架构中的应用问题。
5. 团队协作,让愿景成真
最后,云敏捷性并不只是拥有合适的工具和技术(当然,这些确实有帮助),还取决于人员和流程。俗话说:“网络的速度取决于其中最慢的线路。”这句话同样适用于负责在云中构建、部署和管理应用的团队。这通常需要DevOps、SecOps、NetOps和架构师等多个团队成员共同协作,因此,无论是个人效率低下还是协作不畅,都可能影响整个团队。
打破团队壁垒,并在团队之间建立定期、稳健的协作机制,将为加快规划、故障排除和信息共享奠定良好基础,确保所有人步调一致。这样不仅能更充分地利用跨职能专业知识,减轻工作负担,还能通过推动其他职能领域采用自动化和流程优化等方式给予回馈,帮助所有人提高工作效率。




