来源:Jenkins(ID:Jenkins-Community)
作者:Herman Morgan
译者:王冬辉
随着 DevOps 逐渐成为主流,许多团队都在问自己应该从哪里开始采用 DevOps , 他们将在此过程中面临哪些挑战,以及如何解决那些挑战。每年都有越来越多的公司希望从传统的瀑布式方法转向 DevOps 。
许多软件开发公司将 DevOps 看作是一个公司在效率方面所能达到的顶峰,并且这有点难。 应对挑战可能大大降低你的生产力,同时适应 DevOps 方法会导致各种自动化工具和开发过程之间缺乏协调。
在本文中,我们将讨论 DevOps 在2019年面临的一些重大挑战,以及可以采取哪些措施来战胜它们。
关注遗留的应用程序和系统
DevOps 团队面临的第一个和主要挑战涉及到遗留应用程序的构建, 这些应用程序是在没有考虑 DevOps 的情况下构建的。 这似乎看起来有益无害,但这对于转变来说是相当棘手的。 即使你关注使用 DevOps 的新应用程序和系统,你也需要维护这些遗留系统。
对于遗留应用程序的转变这里还有其他原因。一开始,你需要努力逐步将淘汰它们,或者逐渐将客户转移到使用 DevOps 系统维护的新版本。否则,你可以尝试创建一个新的系统来维护遗留的应用程序,它不会干扰你的 DevOps 系统。你也可以使用 Scala 性能度量工具,比如 AppOptics ,它有助于逐步淘汰非 DevOps 系统。
选择适合的项目
对于一个新的 DevOps 团队来说,为每个新项目选择 DevOps 似乎很明智,但事实并非总是如此。 DevOps 不是强制性的,因为如果没有正确地实现 DevOps ,有时会降低整个生产过程的速度。 因此,在选择要使用 DevOps 的项目时,你应该非常勤奋。 在考虑 DevOps 是否必要时,最好记住 DevOps 是一种运营策略,并不总是适合的。
如果你正在努力快速规模化的软件,并从其敏捷性中获得更快的速度,那么 DevOps 是一个明智的选择。 同样地,DevOps 并不是一直起作用,所以不应该把它当作解决所有问题的首选解决方案。 例如,如果你正在使用一个较旧的系统,那么最好坚持使用旧的方法和流程,因为不可能总是为这些方法和流程找到自动化的系统。
除此之外,规划和设计工作被认为不适合 DevOps ,因为进行设计和 UX 是处理流程的更成功的方法,而不是不断改进。
性能测试
有一点没有改变,那就是随着用户期望的提高,对广泛测试的需求也在增加。多亏了 DevOps ,现在可以更快地创建和发布产品了,但是你不应该在发布之前对足够的产品测试作出牺牲。
DevOps 擅长多种事情,但是就 bug 而言,它也有一些限制。 幸运的是,有大量的工具,例如 Tricentis 和 Zephyr ,可以帮助你确保发布的产品的最高性能。
难以捉摸的人的问题
通过对 DevOps 的各种研究,许多团队还在与一个叫做"人的问题"的挑战作斗争,这真是一个奇迹。 当开发人员创建一个 DevOps 无法启动的环境时,问题就会在开发人员和管理人员之间出现。这种问题始于缺乏经验,因为许多团队只是因为新奇事物综合症而采用 DevOps ,最终会经历灾难。
另一个障碍可能是缺乏糟糕的领导,因为DevOps团队需要有足够的自由来为项目做出战略决策。在强大领导的支持下,你可以通过培训整个开发和运营团队来进行 DevOps 工作。
2019年DevOps的前景如何?
DevOps 有望在2019年占据开发者心目中的最高位置,原因显而易见。DevOps方法为自动化和不断改进找到了空间,这在现代技术世界中是至关重要的。
正如我们上面所讨论的,在接下来的一年里,仍然有许多挑战威胁着许多团队 DevOps 的成功。 如果你正在考虑 DevOps 或寻找更好的方法来改进策略并接受上述挑战, 那么你可以通过适当的耐心和承诺更好地解决这些问题。不断学习!