云服务迁移是巨大的。但不幸的是,人们通常通过我们之前在本地部署方面的狭隘经验来查看和理解云服务。大多数公司将他们的业务迁移到云端,以便能够探索新的商机。但许多公司在迁移过程中步履蹒跚,因为他们仍在使用本地架构。这种架构在部署到云端时,会导致一些资源被过度利用,而另一些资源被利用不足。一个创新和强大的架构通常需要平衡和全面地使用资源。想象一下您的IT业务在公司地下室的服务器上运行。将这些服务器移动到您办公室的一楼是否会为您的业务开辟新的机会?当然不是。将您的服务器迁移到云端可能会为您节省一些钱,但肯定不会让您更进一步。关于云服务,首先也是最重要的一点是,上云不是部署位置的迁移,而是一种全新的架构模式。构建云服务最需要的是思维方式的改变,而不是地点的改变。云服务与本地架构有何不同?十年前,本地架构是大多数人的共同参考框架,也是我们理解和解释云的唯一方式。如今,通过传统架构来理解云已经过时且有害。传统的架构已经无法让我们更好地利用云服务的力量。今天我们可以参考Netflix来设计我们的云服务架构,而不是继续参考那些传统的架构。同时,我们必须更多地关注两者之间的差异而不是它们的相似之处。在本地架构时代,我们可以使用的服务和产品是有限的,因为我们使用的每个服务和产品都需要许可证(更不用说维护大量的各种服务是不可行的)。在云计算时代,我们可以管理大量面向任务的产品和服务,而这些资源都是按需付费的,没有进入成本。下一个不同可能会更触动你。下面的截图是Azure中一个名为AppService的PaaS服务。您可以通过此服务部署Web服务。该服务提供一系列开箱即用的操作功能(例如自动缩放、备份、监控、身份验证、API管理)。当然,你也可以在虚拟机中手动部署web服务器,但是你需要想一想,在手动部署的web服务器上实现所有这些功能需要付出多大的努力?需要付出多少努力才能与时俱进并得到妥善管理?不仅仅是应用服务,事实上Azure还提供了数十种非常全面的、开箱即用的PaaS(或无服务器)服务。通过使用这些以任务为导向的云原生服务,您无需浪费时间和资源来构建和维护基础设施,而可以专注于开发业务解决方案。云挑战:使用哪种服务?一个令人不安的事实:大多数组织都知道云服务与本地架构有何不同,而且他们中的大多数也知道关键区别。但是,他们不使用更新、更好的架构。这是因为大多数组织面临着相同的挑战:在云厂商提供的众多服务中,哪一个最适合特定的业务场景?如果选择太多,会导致开发人员和架构师陷入困境。做决定很困难。为了避免艰难的决策,技术人员往往更喜欢使用最熟悉的架构。对于习惯于在本地架构上构建的组织而言,这通常意味着继续选择旧的技术堆栈(VM/容器编排集群),而不考虑其他选项。如何在几十种云服务中做出选择确实是一个艰巨的挑战(在撰写本文时,Azure有超过400种不同的服务,每种服务可能内置了几十种功能)。然而,挑战仍然值得面对。这是因为,如果你不解决这个问题,你就需要面对如何让云服务表现得像本地环境的问题。解决第一个问题(使用哪个服务)可以有效地释放云服务的力量,而解决第二个问题只会让您进一步陷入传统架构中。使用云服务的挑战是真实存在的,但从长远来看,解决这些挑战会给您带来丰厚的回报。我多次看到,在云上使用错误的架构往往会很快达到性能的极限,在错误的架构上进一步开发会导致业务投资低效甚至失败。如何解决上云挑战不知道有没有灵丹妙药可以完美解决上云挑战,不过以下建议可以帮到你:使用参考架构:下面是Azure参考架构。当您开始使用云服务时,这些参考架构将帮助您找到满足您需求的正确云服务。让更多的团队参与进来:CIO(或任何个人)知道IT部门与之相关的一切的日子已经一去不复返了。现代云服务提供了许多低代码/无代码选项,让更多员工(技术和非技术)参与IT解决方案。这可以使许多非技术人员也成为创造创新解决方案的巨大力量。忘记本地模型:如果您在云中看到的只是VM、vNet、存储和防火墙,那么无论您为云解决方案付出多少努力,您最终都会得到一个本地解决方案模型,除了它可能在云端。最后,我不想忽视上云带来的成本节约的重要性,但即使是在业务部署和迁移的场景下,如果需要最大限度地节约成本,也只能通过采用云服务架构模型:当不需要资源时,在需要时销毁资源,在需要时重新创建资源,并按需扩展资源。总之,上云不仅仅是部署位置的改变,而是一种全新的架构模式。译者介绍季凯,51CTO社区编辑,拥有18年软件开发经验。现为阿里云全球培训中心讲师,负责云计算、云原生、数字化转型等领域的课程设计与授课。曾就职于富士通、联想集团、欢乐时光、搜狗,手机YY第一架构师。2014年开始从事专业技术培训和咨询工作。原标题:云挑战:选择瘫痪和“本地部署”云的错误策略,作者:AlaaTadmori
