在网络级别在 AWS 和 localstack 之间切换
Switch between AWS and localstack on network level
有人可以告诉我是否有一些影响最小的解决方案可以在 AWS- 和 localstack 环境之间切换?可能是 serverless-localstack?
我有一系列 node.js- java-ee- 和 spring-boot 服务,它们部署为 docker-containers (AWS ecs) 和通过 AWS sqs 和其他 AWS 服务互连。
我想象使用 localstack 就像来自 localstack.cloud 的图片,我会用 localstack env 切换一个真正的 AWS env 而无需更改应用程序代码 - 甚至更好:docker-容器。下面的模式鼓励我,它可能真的就这么简单:
我只想更改 docker-compose-file 中的一些选项,或者像操作 /etc/hosts 文件一样替换一组 "real" AWS-URL由 localhost:3456。就是这样。
没有这样的吗?我真的必须更改每一个微服务吗?
随着我开始深入研究,我变得越来越困惑:
大多数教程从不描述应用程序级别,但会显示一些调用 "aws --endpoint-url ..." 很好,但我想,我的节点或 java-service 不会调用 aws shell命令对吧?
在应用程序级别,这意味着我必须针对不同的环境更改代码,通过 java 中的配置文件替换 beans 并导入不同的 bean,不是吗?
对于 java 这意味着:
.withEndpointConfiguration(新端点配置("http://localhost:4575", "eu-west-1")
对于 node.js-module sqs-consumer,我看到了类似的解决方案...
这些 URL 更改本可以在更抽象的层面上完成,不是吗?
https://github.com/temyers/serverless-localstack 听起来像上面想象的解决方案,但似乎没有太大变化,并且有一个严重的 WIP-warning。有这方面的经验吗?
再说一次 - 有人能告诉我是否有一些简单的影响最小的解决方案可以在 AWS- 和 localstack env 之间切换,比如某种 "redirect"?
非常感谢!
1 1/2 年后我想我知道了答案。它是 "kubernetes and minikube" 而不是 "AWS and localstack"。
除了一些小的例外,规则是:"A node is a node is a node",无论您将其部署在本地 minikube 还是远程云集群上。
在开发过程中,我在本地 minikube 上执行 e2e-tests,而 Jenkins 在一些临时测试集群上执行相同的 e2e-tests,你甚至可以 运行 在生产环境中远程执行相同的测试-集群 - 全部由同一个 "Kubernetes client" 完成。
有人可以告诉我是否有一些影响最小的解决方案可以在 AWS- 和 localstack 环境之间切换?可能是 serverless-localstack?
我有一系列 node.js- java-ee- 和 spring-boot 服务,它们部署为 docker-containers (AWS ecs) 和通过 AWS sqs 和其他 AWS 服务互连。
我想象使用 localstack 就像来自 localstack.cloud 的图片,我会用 localstack env 切换一个真正的 AWS env 而无需更改应用程序代码 - 甚至更好:docker-容器。下面的模式鼓励我,它可能真的就这么简单:
我只想更改 docker-compose-file 中的一些选项,或者像操作 /etc/hosts 文件一样替换一组 "real" AWS-URL由 localhost:3456。就是这样。
没有这样的吗?我真的必须更改每一个微服务吗?
随着我开始深入研究,我变得越来越困惑:
大多数教程从不描述应用程序级别,但会显示一些调用 "aws --endpoint-url ..." 很好,但我想,我的节点或 java-service 不会调用 aws shell命令对吧?
在应用程序级别,这意味着我必须针对不同的环境更改代码,通过 java 中的配置文件替换 beans 并导入不同的 bean,不是吗? 对于 java 这意味着: .withEndpointConfiguration(新端点配置("http://localhost:4575", "eu-west-1") 对于 node.js-module sqs-consumer,我看到了类似的解决方案...
这些 URL 更改本可以在更抽象的层面上完成,不是吗?
https://github.com/temyers/serverless-localstack 听起来像上面想象的解决方案,但似乎没有太大变化,并且有一个严重的 WIP-warning。有这方面的经验吗?
再说一次 - 有人能告诉我是否有一些简单的影响最小的解决方案可以在 AWS- 和 localstack env 之间切换,比如某种 "redirect"?
非常感谢!
1 1/2 年后我想我知道了答案。它是 "kubernetes and minikube" 而不是 "AWS and localstack"。
除了一些小的例外,规则是:"A node is a node is a node",无论您将其部署在本地 minikube 还是远程云集群上。
在开发过程中,我在本地 minikube 上执行 e2e-tests,而 Jenkins 在一些临时测试集群上执行相同的 e2e-tests,你甚至可以 运行 在生产环境中远程执行相同的测试-集群 - 全部由同一个 "Kubernetes client" 完成。