本文是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构建节点上运行构建脚本即可生成正确的二进制文件。
内部/自定义:自定义应用程序可以分为四种类型:解释型、高级、二进制和硬件特定型。
- 解释型代码:使用Java或Python等解释型语言编写的、未经编译的代码,在云原生平台上重新部署非常简单。由于代码是解释执行的,因此无需更改代码即可在云原生计算平台上运行。相反,代码在为Arm而不是x86编译的解释器上运行。通常,为云原生处理器重新部署解释器是一个简单的过程,如果镜像不存在,可以在几分钟内完成。
- 高级代码:为云原生平台准备使用C/C 等高级语言编写的代码也相对容易。在大多数情况下,应用程序只需要为Arm ISA重新编译即可。通常,这是通过简单地将编译器配置为Arm而不是x86来管理的。如果在编译过程中出现任何警告或错误,通常可以轻松地解决这些问题,或者确认它们不是问题。
- 二进制文件:对于许多应用程序来说,最常见的重新部署问题是使用二进制文件。二进制文件是代码(通常是库),包含在应用程序中。这可能包括仅以二进制形式提供的产品,这些产品是您的应用程序的依赖项。在构建应用程序之前,只需检查代码具有的依赖项,并确保使用的二进制文件是基于Arm的而不是基于x86的。
- 硬件特定代码:为特定处理器编写的代码,或出于性能目的而使用特定处理器功能的代码(例如图形库),可能需要有限的移植。只有在没有可用的Arm特定版本时,才会出现这种情况。无论如何,移植过程通常很简单,最多只需几个小时即可完成。
现实世界中的重新部署
让我们来看看将应用程序重新部署到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中文网其他相关文章!

与这些顶级开发人员新闻通讯有关最新技术趋势的了解! 这个精选的清单为每个人提供了一些东西,从AI爱好者到经验丰富的后端和前端开发人员。 选择您的收藏夹并节省时间搜索REL

该教程通过使用AWS服务来指导您通过构建无服务器图像处理管道。 我们将创建一个部署在ECS Fargate群集上的next.js前端,与API网关,Lambda函数,S3桶和DynamoDB进行交互。 Th

该试点程序是CNCF(云本机计算基础),安培计算,Equinix金属和驱动的合作,简化了CNCF GitHub项目的ARM64 CI/CD。 该计划解决了安全问题和绩效


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

SecLists
SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

SublimeText3 英文版
推荐:为Win版本,支持代码提示!

禅工作室 13.0.1
功能强大的PHP集成开发环境

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

记事本++7.3.1
好用且免费的代码编辑器