蓝盟IT外包,有关容器,微服务,Docker的十大问题

发布者:上海IT外包 发布时间:2019/10/21 9:16:00来源:www.linemore.com

      容器的操作不能轻易参考虚拟机的实际经验。例如,几乎所有工作负载都可以立即虚拟化,但是有些工作负载适合于容器实现,而其他工作负载则不适合。
  1.容器最合适的使用方案是什么?
  在生产环境中,最适合容器实现的理想应用程序类型应该是微服务。微服务是一项重点工作,仅代表一般应用程序的一小部分。由于微服务专注于单个任务,因此您可以独立于应用程序的其余部分进行扩展和扩展。另外,由于微服务具有高度的凝聚力和自由耦合性,因此它们可以彼此独立地实现和释放。
  此外,使用容器基础架构构建微服务可以更快,更好地实现其优势。只要面向外部的API不会破坏应用程序的兼容性,软件开发人员就可以快速迭代并改善整个微服务,而不会影响其他开发人员的微服务。但是,大多数传统业务应用程序都不符合微服务架构,因此并非所有公司都适合微服务。
  2.实施容器时要考虑的关键因素是什么?
  (1)UI和API接口管理
  管理用户界面的用户界面,包括基于API的用户界面(也就是说,外部系统直接使用API访问系统)。
  (2)镜库
  公共镜像存储库(例如Docker Hub)提供了公共管理的容器化镜像存储库。许多容器管理系统提供专用的镜像仓库,企业组织可以在其中管理自己的映像。
  (3)编排与编程
  编排层允许容器以所需状态运行,并提供更新和回滚功能。当然,Kubernetes已成为容器编排的事实上的标准。
  (4)容器工作时
  容器运行时,群集节点可以在重复存储中获取容器的映像。您还可以生成正确的文件结构,以在主机上运行容器,与网络和存储附件交互以及创建,启动和停止容器。
  (5)安全检查
  安全策略是通过安全组件实施的,包括密钥管理,安全扫描,图像签名,网络隔离和加密以及基于角色的访问控制(RBAC)。
  (6)持续监控
  该监视器在群集节点,容器和微服务级别提供可视化功能。
  (7)DevOps工作流程
  DevOps对于容器部署并不重要,但是它们经常一起使用。例如,诸如DevOps工具,CI/CD管道工具和容器成像器之类的工具应协同工作。
  3.我可以在Windows或VMware环境中运行容器吗?
  Windows容器生态系统还不够成熟,无法在生产环境中广泛使用。 Windows容器缺少对容器编排工具的支持。例如,最新版本的Kubernetes软件仅提供Windows容器的beta支持。此外,该容器支持很少的Windows应用程序。 Windows服务器对身份验证,安全性和网络的支持也非常有限。现有的几个组件都处于“ beta”版本或“ preview”版本。当然,尽管有这些限制,Windows容器仍可用于特定方案,例如内部开发方案,在该方案中,容器可实现敏捷性,可移植性和成本优势。VMware的VSphere将Docker引擎与vSphere集成在一起,为容器在轻量级虚拟机上运行提供了一种方法。此外,VMware还提供了容器管理门户和专用存储库,以实现安全的存储复制。
  4.我应该选择CaaS,Kubernetes还是BYO容器管理解决方案?
  市场上有许多产品可以使公司部署大型容器。这些产品为应用程序开发人员提供了不同级别的抽象。最抽象的产品是容器即服务(CaaS)产品,以前主要是PaaS产品,例如Cloud Foundry和OpenShift。这些CaaS产品汇总了开发人员的基础架构详细信息,并以结构化的方式提供了应用程序工具。 BYO容器管理解决方案提供了最小的抽象和最大的灵活性,但增加了复杂性。
  BYO:除特殊情况外,请尽量避免使用BYO。因为很少有组织有能力实施它。对于需要BYO的组织,您可以选择集成一些快速发展的开源产品。
  Kubernetes:至少在概念上了解基础架构并且是实用的,然后选择相对灵活的K8S发行版是可行的选择。某些CaaS产品为开发人员工具提供了一些选项,并为开发人员提供了更直接使用容器编排和编程组件的选项。
  PaaS:如果您刚刚进入微服务开发,请使用PaaS提供的服务。
  5.容器技术是否不如虚拟机(VM)技术安全?
  容器技术本身并不是不安全的。实际上,为了防止来自其他容器的攻击,容器中的每个应用程序和用户都相互隔离。因此,确保共享主机操作系统内核的完整性至关重要,并确保容器在主机上彼此隔离。另外,有必要监视和保护容器之间的通信,并且传统的安全工具在这方面大多无效。
  使用容器技术时,建议考虑以下三点:
  使用增强型操作系统,通常是“瘦客户端操作系统”,该操作系统可以限制攻击面,并使用严格的自动化补丁程序管理系统对其进行补充。
  在容器构建和执行阶段进行控制,例如在软件开发生命周期中扫描软件以及早发现漏洞。
  使用细粒度的容器安全工具(例如Hive Beehive等容器安全产品)主动检测和监视异常行为,这些工具可提供安全的容器和服务器级别的可视化效果,并有助于防止恶意应用程序流量。
  6.容器可以处理机密数据和应用程序吗?
  通过专注于容器部署的容器安全性,再加上诸如现有加密之类的安全工具,容器可以用于处理敏感数据和应用程序。另外,某些容器安全提供程序解决方案可用于保护容器,例如Ivy Cloud Safe容器解决方案。当然,要使此方法成功,安全团队必须尽早参与容器实施过程中的机密数据。7.容器是否适合COTS应用?
  越来越多的软件供应商将容器化部署作为其产品的一种选择。一些提供程序使用敏捷开发模型来容纳容器实现,这是其编写,测试和交付软件能力的一部分。这些应用程序已经在微服务中重构为自然适应的容器。但是,也有一些供应商担心不提供容器部署功能,这会失去市场,因此几乎不能提供容器部署。可独立扩展的属性。同样,如果公司本身没有要管理的现有容器基础结构,则COTS应用程序的容器实现可能不适合公司。
  在大多数情况下,应避免在没有提供者明确支持的情况下封装COTS应用程序,并避免出现错误。
  8. Foundry,OpenShift与其他产品和容器之间是什么关系?
  Cloud Foundry是一个PaaS应用程序平台,支持多种框架,语言,运行时环境,云平台和应用程序服务,使开发人员可以在几秒钟内部署和扩展应用程序,而无需担心任何基础架构。问题因此,它也是相对固定的容器框架。之所以进行说明,是因为已对其进行了预先配置以方便安装和维护。
  OpenShift是Red Hat云开发平台(PaaS),允许开发人员创建,测试和运行其应用程序并将其部署在云中。 OpenShift支持各种编程语言和框架,例如Java,Ruby和PHP。它还提供了各种集成开发工具,例如Eclipse,JBoss Developer Studio和Jenkins的集成。
  在评估针对容器方案的PaaS产品时,公司应注意其服务范围,是否支持容器方案,是否需要自定义,或者是否需要使用第三方组件服务来支持容器方案。
  9.是否必须重构应用程序以更好地支持容器?
  在生产中,如果实现一个容器来支持微服务的灵活工作负载,则该容器将提供最大的帮助。因此,如果要重构应用程序以支持容器中的部署,则取决于组织是否计划在开发,生产等测试中使用容器。
  此外,当公司决定重构其应用程序以更好地支持容器时,他们必须首先重构应用程序的无状态部分(例如Web应用程序的前端),然后在微服务中对其进行重构以支持容器的使用。此外,公司可以通过微服务架构创建新的应用程序,以避免将来的重构。10.在公共云中实施容器服务的效率如何?
  Cloud IaaS服务提供商无需管理虚拟机或基础架构即可提供完全托管的服务,这种趋势现在适用于容器。例如,AWS Fargate提供了托管容器服务,该服务为开发人员抽象了基础架构。关注于必须执行的任务,而不关注Kubernetes集群中的实例数量。

 

上海IT外包服务网 链接:http://www.linemore.com

>
400-635-8089
立即
咨询
电话咨询
服务热线
400-635-8089
微信咨询
微信咨询
微信咨询
公众号
公众号
公众号
返回顶部