Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services Azure的本地云堆栈与AWS的本地堆栈类似?_Amazon Web Services_Azure_Localstack - Fatal编程技术网

Amazon web services Azure的本地云堆栈与AWS的本地堆栈类似?

Amazon web services Azure的本地云堆栈与AWS的本地堆栈类似?,amazon-web-services,azure,localstack,Amazon Web Services,Azure,Localstack,Azure是否有类似于AWS的模拟框架?请理解,我不是在寻找SDK模拟,而是资源堆栈模拟 如此之多,以至于我可以在我的项目中用实际的Azure资源替换本地Azure堆栈的配置,并且功能将保持不变。很像它与Localstack的工作方式 我发现Azure Cloud Fabric最接近这一点,但它与Visual Studio IDE紧密结合。尽管Azure没有LocalStack的等价物,但Microsoft发布了三个可以在本地运行的模拟器,以帮助进行集成测试: ,Azure函数运行时的本地版本

Azure是否有类似于AWS的模拟框架?请理解,我不是在寻找SDK模拟,而是资源堆栈模拟

如此之多,以至于我可以在我的项目中用实际的Azure资源替换本地Azure堆栈的配置,并且功能将保持不变。很像它与Localstack的工作方式


我发现Azure Cloud Fabric最接近这一点,但它与Visual Studio IDE紧密结合。

尽管Azure没有LocalStack的等价物,但Microsoft发布了三个可以在本地运行的模拟器,以帮助进行集成测试:

  • ,Azure函数运行时的本地版本,允许您在本地执行Azure函数,而无需部署它们

  • ,Azure存储的本地仿真器

  • ,CosmosDB的本地仿真器

上述三种方法可以为您提供大量的集成测试覆盖率,但是,由于Azure功能、AWS Lambda和大多数现代web堆栈(甚至非无服务器)已经转向使用服务,而不仅仅是使用软件模块,在集成测试和生产环境之间实现完全对等的唯一方法是自动创建和拆除真正的付费服务

在Azure上进行端到端/集成测试的方法:

  • 用于自动化整个CI过程
  • 使用Azure命令行工具向管道中添加任务,以创建和分解具有持久状态(数据库、文件存储等)的(真实)文本固定装置资源
  • 为测试应用程序提供对真实、无状态服务(如Azure认知服务等)的访问,就像在生产中一样
  • 用于存储测试夹具资源的名称、连接字符串等。您可以在不同的组中存储不同的生产集,以便在YAML中为不同的阶段在它们之间轻松切换。这些变量也可以在它们自己的YAML文件中模板化
  • 使用Azure Functions Core Tools emulator在CI代理中托管和运行函数,而不是部署,单元测试框架为它们提供请求。这些函数将使用非仿真的服务作为测试夹具
  • 或者创建一个deployforteststage,为real发布API,然后编写生成原始HTTP请求的API测试,或者将其用作seleniumweb驱动程序测试UI/frontend的后端
上述方法依赖于真实的服务来提供测试,而不是模拟的服务,测试的内容与您在生产中部署的内容非常接近。每次运行测试时都会产生使用费。如果这是一个问题,请首先在管道中使用单元测试和仿真器集成测试,并为这一级别的测试添加一个人工检查/不同的管道,您只能在推向生产之前执行这些测试

也可能值得一看。

现在还有一个码头工人

您如何使用Azure Cloud Fabric实现此目的?@SimonWoodside,我在某个地方读到Azure Cloud Fabric为您提供了一个框架,您可以在该框架中调用所有产品的Azure API,就好像您实际使用了Azure资源一样。@RajanPrasad您找到过解决方案吗?我也找不到与localstack类似的内容:(@farhad taran,没有兄弟。但我已经在空中建造了一座城堡,我将在Github上建造并发布它。让我看看我什么时候有时间在现实世界中建造该城堡。许多Azure服务似乎没有可用的模拟,例如,我不知道Azure服务总线有任何本地/模拟。有些服务确实有模拟器,例如和,由Microsoft发布和支持。还存在一些第三方选项,例如。嗯,我主要是寻找一些可以在开发和测试中使用的东西,而不会给Azure带来成本。但是,感谢您在这里分享的大量信息。当我开始使用Azu时,这将非常有帮助不客气。我一直想做同样的事情,我想说的是,有消费计划的服务最终只会向您收取使用费,这在集成测试方面是非常少的,所以运行可能只需要几分钱。