在我们完成构建云堆栈之前——即实现平台即服务(PaaS)、扩展容器和开发工具集中的各种工具选项——我们首先需要建立一个良好的操作系统基础来支持这些容器系统。云堆栈的良好基础是灵活且经过时间考验的。当我们着手开发应用程序时,您必须首先投入数小时、数天甚至数年的时间来完善您的计划。你不仅需要学习相关的编程语言和概念,还需要学习如何做出正确的架构决策,为所有正在开发的应用程序提供坚实的基础。问题是我们经常需要尽可能地忽略我们当前正在构建的环境。今天的应用程序开发人员通过引入云计算、平台即服务和容器技术等解决方案,帮助我们开阔视野并加深对环境工具选项的理解。一切都需要一个基础。基础扎实,将成为后续发展的重要败笔。我们选择物理结构或应用程序和云堆栈等实现方法并不重要。真正重要的是,不管是怎样的上层建筑,都需要用最基本的“砖头”来搭建。而为了检验这块“第一块砖”,我们需要看看云堆栈,了解整个应用的开发基础。在云堆栈中立足后,我们往往会迷失在大量的工作流、容器和应用程序开发复杂性中。在我们完成云堆栈——包括平台即服务(PaaS)、规模容器和各种开发工具——之前,我们首先需要建立操作系统基础来支持每个容器系统。基础我们的云堆栈的基础将是企业版Linux、RedHatEnterpriseLinux或简称RHEL。CloudFoundation从RHEL和RHELAtomic开始。我们目前使用的是RHEL7版本,其中包含对创建和托管容器系统的集成支持的所有元素。选择RHEL作为我们的操作系统后,我们还需要在底层使用RHELAtoic实现容器支持能力。这是一个轻量级的基于Linux的发行版,专为容器设计。它包括运行容器所需的所有组件,因此您可以将其视为一个“设备”——因为我们不能再向它添加任何软件。作为应用开发者,大家肯定更倾向于使用个人开发的操作系统,比如Windows或者一些Unix版本。但是考虑到容器系统的部署和托管需求,我们必须借助Docker工具集来实现镜像的容器化。我们只需要确保我们的云堆栈能够托管这些应用程序,而不必过多担心其开发环境以及如何将其添加到RHEL或RHELAtomic基础层。在管理这个业务系统时,大家真正需要关注的是负责承载容器并提供贯穿开发、测试、生产部署全过程管理能力的基础层。除了管理各种类型的企业级基础架构所需的操作任务外,我们还需要利用DevOps机制来管理现代容器化开发工作流。这些结构化环境支持现代企业所需的敏捷开发方法,以便与客户不断变化的实际需求保持一致。这部分容器化开发环境必须支持持续集成(简称CI)、容器化微服务的即时测试和持续部署(简称CD),以支持现代敏捷中大量涉及的持续变更任务企业开发人员的日常工作以自动化的方式进行。升级到规模使用上述基础来维护、更新和管理灵活的DevOps基础架构将很快成为行业共识。你甚至会发现,这种基于容器的开发部署方式即将成为我们最喜??欢的最佳实践方案。CloudStackDiagram没有什么可怕的,扩展容器并不可怕。除了可扩展性之外,我们还需要跨主机的容器系统管理,以确保应用程序开发团队始终拥有随着业务增长而配置的必要基础设施和工具。原标题:FoundationsforaStableCloudStack【.com独家翻译,合作站转载,转载请注明出处】
