在EKS POD中运行C程序

0

【以下的问题经过翻译处理】 你好团队,

目前我们的客户正在使用编译为dll的C程序来运行应用,并将这些应用程序托管到其本地数据中心的Windows 2016服务器中。

现在我们需要将这些应用程序迁移到AWS云上。客户希望将这些应用程序部署到容器解决方案中,而无需进行代码更改。

是否可以在EKS上运行C程序dll,并进行少量代码更改?如果不行,那么我们应该为客户提供何种最佳处理方案,以实现无缝部署到AWS云上的应用程序。

谢谢。

profile picture
专家
已提问 1 年前98 查看次数
1 回答
0

【以下的回答经过翻译处理】 根据应用程序本身的情况,将这样的Windows应用程序容器化可能很困难甚至不可能(例如,如果它需要通过Windows界面与用户进行交互)。您应该先分析并评估该应用程序,了解它是否可以容器化。

如果可以容器化,那么您就有几个选项了。Amazon EKS支持运行Windows容器,请参见此博客文章以了解详情。请注意,在Kubernetes集群中运行应用程序需要深入了解Kubernetes的工作原理。

如果没有使用Kubernetes的要求,您可以考虑使用Amazon ECS和Fargate来运行Windows容器。您可以阅读此博客文章,了解如何做到这一点。通过使用具有Fargate的Amazon ECS,您可以利用无服务器、按使用量计费的计算引擎来运行Windows应用程序。

如果所讨论的应用程序无法容器化,则可以直接在Windows EC2实例上运行它。

更新

考虑到您在此答案的评论中提供的附加信息:

  • 可能可以将“无头”Windows应用程序容器化而不需要进行大量的代码更改。您仍需要一个可执行文件来加载应用程序的DLL并运行代码功能。
  • 将本机C应用程序代码迁移到托管环境(例如.NET或Java)可能具有挑战性;编程语言和运行时中存在一些不兼容的特性,如内存管理、指针、面向对象的范式等等,因此代码可能需要大量更改。另外,托管环境可能比本机环境执行某些功能慢,
profile picture
专家
已回答 1 年前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则