当前位置: 首页 > 科技观察

找出这四个问题,然后容器化应用!

时间:2023-03-20 13:26:15 科技观察

[.com速译]Docker是出了名的容易试用。但是对于对Docker感兴趣的单体应用的企业来说,关于如何实际使用Docker的信息并不多。即使在敏捷开发爱好者中,对于微服务模式是否值得做,也存在着很大的争议。图:6月22日在旧金山举行的DockerDockerCon大会上。如果您有一个单体应用程序并希望提高应用程序的敏捷性,您如何知道Docker是否是答案?容器在部署方面的优势能否被抵消?划分或重写您的应用程序的前期工作?在开始容器化您的应用程序之前,请问以下四个问题:1.您想要Docker还是微服务?Docker是一种可以高效部署微服务的软件解决方案,但它不会自动创建微服务进程或组。在开始使用Docker之前,请决定您是否想要微服务及其所有好处和风险。然后你走过这条构建或重构微服务应用的艰难之路,而Docker只是其中的一小部分。话虽如此,单体应用程序的某些组件可以容器化:独立或单一用途组件特别适合早期使用Docker进行试验,尤其是当它们不维护任何类型的本地状态时。该服务正在迅速成熟,可横向扩展,并且可以将复杂的功能封装到易于部署的包中。2.您是否准备好管理多种语言/代码库/软件库?去年我们遇到了一个企业组织,该组织开发了一个模块化应用程序,允许开发人员“使用任何技术”来构建单独的组件。这是一个伟大的概念,但却是一个彻头彻尾的企业噩梦——盲目追求理想的模块化设计,而不考虑这种复杂性如何影响其运营。当时企业对Docker很感兴趣,因为它便于部署,但是我们强烈建议企业在解决问题根源之前不要使用Docker。更轻松地部署这些不同的应用程序并不能克服为长期维护这些应用程序而维护多个不同的开发架构的挑战。3.您是否已经有了日志记录、监控或成熟的部署解决方案?您的应用程序很可能已经具有用于在正确的时间传送日志和将数据备份到正确的位置的框架。要实施Docker,您不仅需要在虚拟机环境中复制所需的日志记录行为,还需要让您的合规或治理团队为这些变化做好准备。新工具一直涌入Docker领域,但许多工具不如现有解决方案稳定和成熟。一些更新、回滚和其他常见部署任务可能需要重新设计以适应容器化部署系统。如果它没有损坏,请不要修理它。如果您已经投入了构建持续集成/持续交付(CI/CD)管道所需的工程时间,那么容器化遗留应用程序可能不值得投入时间。4.云自动化会压倒容器化吗?在上个月举行的AWSRe:Invent大会上,亚马逊CTOWernerVogels在主题演讲中对AWSLambda进行了长时间的介绍。工具可以根据您的代码部署基础设施。虽然Vogels没有提到AWS的容器服务,但他对Lambda的关注表明他认为处理零基础设施比为大多数开发人员配置和部署容器更可取。容器在企业界迅速普及,必将成为许多专业CI/CD管道的必要组成部分。但作为技术专家和CTO,我们的工作是质疑新方法和服务,并正确评估早期采用的风险。我认为Docker对于了解容器化后果的组织来说非常有效,但前提是你提出正确的问题。原标题:Dockerizingyourapplications前要问的4个问题【.com独家翻译,合作站转载请注明出处】