本文是Ampere Computing“加速云计算”系列文章的第二部分。您可以[此处](此处需替换为Part 1链接)阅读第一部分。
将应用迁移到Ampere云原生计算平台比您想象的要容易得多。这是因为大部分将应用程序重新部署到基于Arm的服务器的工作已经为您完成,或者只需重新编译即可。
简而言之,由于Ampere的云原生处理器使用Arm指令集架构(ISA),因此在Arm上运行的软件也能在Ampere上运行。在过去的五年里,开源社区对Arm的支持呈指数级增长,涌现出各种各样的新软件和服务。例如,Redis、NGINX、Memcached、MySQL和Cassandra等应用程序已经提供了经过验证的基于ARM的版本。
这对开发人员意味着什么?公司使用的大部分软件已经在云端运行,或者很可能已经准备好用于云原生环境。
操作系统(OS):几乎所有可用的操作系统都已移植到Arm ISA,并在基于Arm的核心上运行。因此,Ampere的云原生处理器支持云中使用的主要操作系统的已发布版本。
为了进一步保证可靠性和性能,Ampere在其Ampere云原生处理器上测试和验证操作系统的公共镜像和预打包应用程序。通过这种方式,开发人员可以确信他们的应用程序可以在Ampere上无缝运行。
预打包代码:通常,应用程序的很大一部分是使用预打包的应用程序组件构建的。大多数这些应用程序(从MYSQL、PostgreSQL、Cassandra、NGINX和Squid到各种应用)的基于Arm的公共镜像已经在Ampere云原生处理器上进行了测试和验证。因此,为云原生计算平台准备应用程序的这一部分相对简单:只需使用已提供的基于Arm的镜像即可。无需复杂的移植或软件重写。
编译型语言:一般来说,重新部署Web服务器时出现的大多数关键问题都源于需要编译才能在Ampere上运行的代码。对于使用Go、C和C 等语言编写的代码,重新部署过程需要一个额外的步骤,因为现有的二进制文件是为x86环境构建的。由于绝大多数编程语言都可以在Arm和x86上使用,因此大多数重新部署问题只需在Ampere构建节点上运行构建脚本即可生成正确的二进制文件。
内部/自定义:自定义应用程序可以分为四种类型:解释型、高级、二进制和硬件特定型。
让我们来看看将应用程序重新部署到Ampere云原生处理器需要什么。考虑一下Momento,它致力于提供大规模管理缓存的服务,这样开发人员就不必自己管理了。Momento Serverless Cache基于Pelikan构建,Pelikan是一个开源缓存引擎,最初是为Twitter的特定缓存需求而设计的。Pelikan最近完全用Rust重写了。Momento希望将Pelikan重新部署到Google托管的基于Ampere的Tau T2A虚拟机上。
重新部署快速而无缝,无需更改任何代码即可启动并运行Pelikan和Momento Serverless Cache。此外,Momento团队能够实现一些简单的优化(无需代码调整),从而快速将吞吐量提高三倍。我们将在本系列的第四部分详细介绍您可以期待的性能优势。
另一个重新部署示例是Plesk。Plesk的软件使人们能够通过中央控制面板管理Web基础设施。Plesk业务发展和战略联盟高级副总裁Lukas Hertig描述了他自己重新部署过程的经验。“最初我有一个疯狂的想法,就是有一个Arm版本。几周后,我的工程团队回来告诉我,‘哦,它现在可以用了。’比平时快得多!”
Plesk服务于SMB领域,在该领域,选择云原生并非显而易见。但Hertig表示,在重新部署后不久,“我们在生产环境中已经超过了1000个Arm实例。”底线:Arm和开源社区在开发和扩展Arm云生态系统方面做得非常出色。当然,将您的应用程序重新部署到云原生计算平台的复杂性取决于您从哪里获取代码。但是,一般来说,将大多数应用程序重新部署到云原生处理器的投资是最小的,因为80-90%的应用程序只需要重新编译即可。
在本系列的第三部分,我们将进一步探讨云原生重新部署过程。
以上是加速云:投资云的详细内容。更多信息请关注PHP中文网其他相关文章!