当前位置:主页 > 物联网IoT > 正文

sql数据库_云计算入门指南

时间:2020-12-14 10:41 来源:埃里克云 编辑:埃里克云

核心提示

除非您处于开发石器时代,并进入生产服务器中使用Vim或Emacs手工编辑文件(请将火焰战保留在其他地方),否则您的开发环境与生产。The绝对最小的差别是容量和负载。你可以复制精...

为什么开发环境不应该与生产环境相同

除非您处于开发石器时代,并进入生产服务器中使用Vim或Emacs手工编辑文件(请将火焰战保留在其他地方),否则您的开发环境与生产。The绝对最小的差别是容量和负载。你可以复制精确的软件版本,甚至可能还有配置(对TLS证书和主机名进行模块化),但是您的开发环境将永远不会有生产负载,也没有能力处理这些负载装载。在那里在其他情况下,开发环境与生产环境的差异会非常有帮助,但这并不是说最小化生产和开发环境之间的差异是个坏主意。开发人员工具,如Jenkins X及其DevPods,允许您在本地开发代码,并且在尽可能接近Kubernetes应用程序的环境中几乎无缝地运行相同的代码。某些类型的bug,特别是与网络相关的bug,只有在您开发接近生产。如果你是来找一场战争的,很抱歉,这个帖子不适合你。这个post是关于庆祝我们在开发过程中遇到的一些不同的用例,以及这些用例如何从中受益有针对性地区分开发环境和生产环境。几年前,在一位前任雇主那里,我们在开发构建中启用了代码覆盖。我们使用的工具将运行两次测试,一次没有覆盖,一次有覆盖。我们的测试不是单元测试,它们主要是集成测试,它们都是对数据库的攻击,运行两次测试会影响构建时间。所以我们关闭了测试运行报道。很快之后,一个线程错误开始出现在QA中。最疯狂的是,这个错误在逻辑上是不可能发生的。我们甚至进行了单元测试来验证事件。它只是当我碰巧在没有覆盖的情况下运行测试套件时失败了。我们的在更新代码覆盖率调用计数时,开发环境有额外的同步点。额外的同步足以防止测序错误。。。这是一个bug,如果我们不是每年发布一次,QA只是在第一批的早期测试中才开始的特色。这个开发和生产之间的差异不是你想要的那种差异!用例#1:数据库错误有时您有一个错误,您正试图跟踪。支持人员为您提供了一个复制该问题的数据库转储,但该转储需要一段时间才能加载。每次你想测试一个理论,重新检查修正脚本或者缩小复制范围,您需要确保数据库与甩了。那个擦除加载周期会让人厌烦(我们甚至不考虑重新启动应用程序来清除可能保存在内存中的数据库的任何缓存。)你会想:"嘿,PostgreSQL数据库只是一个Docker映像,我可以创建一个加载脚本的派生映像,现在我只需重新启动容器,而不必擦除加载"除非它不起作用!下面是PostgreSQL"Dockerfile"的最后10行:ENV PGDATA/var/lib/PostgreSQL/data运行mkdir-p"$PGDATA"&&chown-R博士后:博士后"$PGDATA"&&chmod 777"$PGDATA"#此777在运行时将替换为700(允许半任意"--user"值)卷/var/lib/postgresql/data复制docker-入口点.sh/usr/本地/bin/运行ln-s usr/local/bin/docker-入口点.sh/向后兼容入口点docker-入口点.sh"]曝光5432命令postgres"]问题是音量指令。生成的目录只有在创建卷时才被设定种子。码头工人-yml撰写或者您正在使用的任何其他本地编排工具都已有效地分配了一个命名卷,以便数据可以跨重新启动。我们这种开发需要一个不同的Docker形象:一些潜力解决方案:复制Dockerfile,删除VOLUME指令,追加数据加载;或者覆盖ENV PGDATA/var/lib/postgresql/data,指向卷指令未覆盖的其他位置,并与正在创建的未使用的卷一起使用附加。更改我们的容器编排工具在重新启动时丢弃卷,记住我可以让这个变化远离源头控制。使用案例2:身份验证应用程序要求您通过身份验证才能访问UI。每次重新启动应用程序时,身份验证cookie就会失效。所以测试您的更改需要您输入用户名/密码不断地。并且在第一世界的问题上,你需要能够用不同的权限集进行测试,所以你经常需要给你的同事打电话,让他们帮你登录,这样你就能看到不同的效果权限。是的, 开发认证是针对生产授权服务的,这真是太棒了,现在我们将立即知道,如果它被破坏了。。。但这并不是主要的变化。事实上,认证码基本上功能齐全现在。什么时候我在CloudBees的DevOptics服务中遇到了这个问题,我所做的就是编写一个伪造的身份验证服务。对于开发人员来说,在使用这个假身份验证服务、在分段中运行的真实身份验证服务和在生产中运行的真实身份验证服务之间切换是很简单的。。。我们默认为假认证服务。这个服务只显示具有各种权限集的用户的屏幕,然后单击"登录"按钮以该用户身份登录。不用打字,只有一个单击.NOTE是的,即使是在我们的注册服务器上,我们也没有使用我们的注册服务来测试真实的身份验证容器,以确保模拟永远不会登陆生产。使用你的记忆很丰富。例如,为生产Elasticsearch调整JVM设置可能需要一台相当健壮的机器来运行。如果我们保持开发与生产相同,我们将过度配置所需的资源。一般来说,开发环境不需要与生产环境相同的伸缩性环境:你不知道对于大多数特性和bug来说,不需要一个完整的集群,一个实例将是够了。你不需要生产的磁盘容量,因为您通常只加载小数据套。你只需要1-2Gb的RAM分配给容器。精确内存调优将取决于应用程序如何使用Elasticsearch,但一般来说,开发环境中的索引较少因为很少有足够的数据需要跨希望能得出结论, 您同意在某些情况下,您可以从开发和生产。附加资源阅读从一年的持续部署中学到的经验教训开发人员在DevOps世界吃了什么为什么你应该了解GitOps

  • 大数据和云计算_分布式_大数据趋势 大数据和云计算_分布式_大数据趋势

    华盛顿州贝尔维尤,2018年9月13日消息——身份即服务(IDAS)的全球领导者Auth0今天宣布,它已被福布斯与Bessemer Venture Partners和Salesforce Ventures联合发布的《福布斯2018云100》(Forbes 20...

  • VPN 网关_海外_人工智能有前景吗 VPN 网关_海外_人工智能有前景吗

    8月21日,Facebook删除了600多个源自伊朗的账户、页面和群组。这些帐户在传播政治造谣,主要针对拉丁美洲和中东的用户。网络安全公司fireye最初向Facebook透露了一个名为"自由前线新闻...

  • cdn许可证代办_美国_哪家的云服务器安全 cdn许可证代办_美国_哪家的云服务器安全

    在2016年美国总统大选之前,据称俄罗斯黑客攻击希拉里·克林顿竞选团队和民主党全国委员会(Democratic National Committee),利用鱼叉钓鱼手段诱骗用户向欺诈网站提供用户名和密码。随...

  • 云储存服务_便宜的_怎样购买云主机 云储存服务_便宜的_怎样购买云主机

    Storybook是一个UI组件的开发环境。它允许我们浏览组件库,查看组件的不同状态,并交互式地开发和测试它们。Storybook运行在我们的应用程序之外;因此,我们可以独立地开发UI组件,...

  • 云存储多少钱一个月_如何选择_物联网的 云存储多少钱一个月_如何选择_物联网的

    在本文中,您将学习如何使用哈皮.js以及节点.js,同时使用Redis作为持久层。由于没有安全层就不可能发布API,因此您还将学习如何使用Auth0保护应用程序。如果需要,您可以在GitHub存...

  • <strong>cdn网站_哪个_云计算平台系统</strong> cdn网站_哪个_云计算平台系统

    当我还是个孩子的时候,我练习了8年的童子军,我学到了很多优秀的价值观,我的童子军经历帮助塑造了我的性格,使我成为一个更好的程序员。让我告诉你为什么。作为一名童子军...

  • 云计算数据中心_购买_人工智能发布会 云计算数据中心_购买_人工智能发布会

    在Auth0,我们都是关于开源的。作为一个企业,我们积极致力于开源并从中受益,在多个项目中拥有超过25000个明星。我们的社区通过直接获得建议和支持来支持这项计划,无论开发人...

  • 服务器采购_如何使用_物联网智能家居技 服务器采购_如何使用_物联网智能家居技

    Auth0将不同的数据存储用于不同的目的。我们有大量的数据集,用于为客户提供各种各样的用例和特性。不幸的是,在数据泄露越来越普遍的时代,选择和使用数据存储的一个关键方面...

  • nas网络存储服务器_如何选择_工业物联网 nas网络存储服务器_如何选择_工业物联网

    在构建应用程序时,必须确保注册服务或产品的用户是真实用户。通过使用Auth0,电子邮件验证服务是开箱即用的;然而,如果验证电子邮件根本不必发送,那岂不是更好?通过使用...