云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

对象存储_阿里云gpu_排行榜

小七 141 0

大数据库_国内_人工智能知名企业

作为DevOps领域的产品经理,我最喜欢的一个方面是,我经常在我职业生涯的早期,当我戴着开发人员和操作人员的帽子时,大数据风控,我经常沿着记忆之路走。当我和客户谈论他们在软件交付过程中遇到的问题时,这种情况就会发生,并闪回我过去遇到过的类似问题。有时候,如果那次闪回把我带到我的技术生涯中我宁愿忘记的某个事件(比如我不小心把一个生产数据库弄下来,让CEO本人在我的隔间门上发脾气),这可不是最愉快的经历。其他的记忆更有趣,让我想起了DevOps从业者在完全解决问题时所经历的满足感(比如我推出了一个相当复杂的地图应用程序,它涉及了一堆政府和大学的数据库)。不管这些是好是坏,我总是带着对我所做的事情的新的兴奋:构建工具来帮助DevOps更加成功。最近,我采访了一位IT经理,他面临着一个应用程序部署的挑战,这让我立刻回到了2008年,以及我作为PHP开发人员(兼兼职操作人员)职业生涯的落日岁月。表面上看,这是"将一个PHP应用程序部署到prod",但实际上是"将一堆松散连接的PHP应用程序部署到prod上,这些应用程序由不同的团队使用不同的框架构建而成"。好时光,真的!为了更清楚一点,我们现在讨论的是:一个产品目录网站,一部分是硬编码内容,人工智能知识体系,一部分是动态的,一部分是WordPress CMS,一个受密码保护的区域,在这里付费客户可以访问特定的数据(我们是如何获得$),一个内部门户,销售人员可以在其中获取有关客户使用情况的报告。每个应用程序都是由不同的团队在不同的时间段使用不同的PHP开发风格构建的,有自己的第三方库和GIT库,它们之间共享2个数据库。这让我的开发人员发疯了,但是我的操作系统更糟糕,因为整个老鼠窝必须按照非常具体的步骤进行部署,包括推送代码、更新数据库架构、推送更多代码、对一个区域进行冒烟测试、推送更多代码、检查第三方web服务、再次进行冒烟测试,等等,这太疯狂了。我现在回首过去,意识到有多少人要么经历了同样的噩梦,要么正经历着同样的噩梦(比如IT经理)。如果您是DevOps负责部署这样一个应用程序的人,您可以做什么?在不要求开发人员把它拆开重新开始(哈!)的情况下,如何理解这一点?你能做些什么来把理智带入一个疯狂的境地?那时候,除了把一些脚本拼凑起来执行部署序列之外,我一点都不知道。但是现在…由于DevOps实践和部署自动化,这些问题现在有了答案。像我们自己的CloudBees Flow Deploy这样的工具提供了多种方法来减轻复杂度,提高一致性,云服务器特价,并降低即使是最复杂的部署的风险。如果我今天必须从头再来一次,我将如何使用CloudBees Flow Deploy来展示PHP应用程序谁是老大。这就是我现在要做的,CloudBees Flow:1.为环境建模(在那里部署东西):首先,我从逐层建模环境开始。以前我有"stage"和"prod",它们是彼此的紧密复制品,唯一的区别是每个环境的容量和物理位置。所以现在在CloudBees Flow Deploy中,我为每个环境建模,并将适当的服务器资源分配给它们的层。这个模型不仅为我提供了整个环境的一个很好的可视化表示,它还通过提供代码部署位置的库存视图(更多信息请参阅第二部分)来获得回报。我的生产环境的完整模型2.为应用程序建模(部署的内容):在对环境进行建模并准备好采取行动之后,我将通过一个类似的过程来为这个令人痛苦的复杂应用程序建模。在这里,我真正开始看到一些健全的发展,因为我创建了应用程序的各个层,每个组件映射到该应用程序的每个Git存储库。这些组件现在代表了我前面描述的PHP应用程序的三个主要领域。通过将它们连接到各自的Git存储库,我已经为它们的部署做好了准备。查看这段1分钟的简短视频,了解在CloudBees Flow Deploy中创建层有多简单:我的应用程序的完整模型。请注意,WordPress和宣传册网站被认为是在一个保护伞下,但有自己的Git回购。我现在插入了源代码控制—为每个单独的组件创建进程,其中包含从Git存储库中提取代码并部署到特定目录的步骤(说明)。3.将应用程序层绑定到环境层(在何处部署什么):现在,我将应用程序模型的每一层映射到我的环境模型的适当层,好评返现,基本上将应用程序绑定到实际环境(注意:我对"stage"和"prod"环境模型重复此操作,以便可以使用一个单一的应用程序模型部署到其中任何一个)。将应用程序层映射到环境层(将这些主要对象绑定在一起)。现在,理智正在逐渐形成:我的Git回购绑定到应用层中的组件这些层与我的环境模型相关我还准备了不同的进程来从Git中提取代码并更新数据库模式。现在,我可以确切地看到我的应用程序的各个部分将在哪里结束,以及它们在部署后如何到达那里。我对我部署的这些主要部分的信心和控制力现在已经非常高了。 4.创建部署过程(应用程序组件的部署方式和时间):在这一点上,我非常接近于控制这个可怕的PHP应用程序的部署。但是,在我们真正开始部署之前,我需要创建主部署流程,该流程协调我们之前定义的所有较小组件流程,并将"自动化"置于部署自动化中。在CloudBees Flow Deploy中,构建主部署过程的工作流简单而强大。我不仅可以轻松调用组件进程,还可以创建步骤来执行shell命令、启动外部过程或在我们庞大的插件库中开发特定功能(这种灵活性本身就是一个博客主题)。观看此短片,了解在CloudBees Flow Deploy中创建流程步骤有多容易:带检查点的部署过程视图 !!AAAA-AAAA!完成后,我有一个非常结构化的部署过程,我(或其他任何人)可以很容易地一步一步地可视化,以准确地了解何时会发生什么。这仍然是一个复杂的应用程序,有一组复杂的部署步骤,移动大数据,但是有了cloudbeesflow的模型驱动的体系结构自动化流程,我现在已经有了围绕它的结构。这感觉比我以前维护的运行手册好多了。为了安全起见,我还在适当的地方进行了检查,以确保在部署出现任何问题时尽早和经常地收到通知。最重要的是,CloudBees Flow Deploy不仅跟踪和显示对所有对象(包括部署过程)所做的更改,还允许我获取对象的"快照",以便以后根据需要回滚到这些对象。流程完成后,我就可以开始部署到stage或prod环境。下一次我需要部署时-它都在那里,等着我重用。不再需要手动一次性操作。别再头疼了。Phew..:)现在我们已经看到了设置部署过程是多么容易,在我的下一篇博客文章中,我将向您展示启动部署是多么简单,并触及部署后活动的各种好处,如实时状态通知、代码工件清单、快照等等。敬请期待!资料图:维基共享资源。