Kayıtlar

Haziran, 2020 tarihine ait yayınlar gösteriliyor

为什么Kubernetes通过DevOps促进成功

Resim
精简开发和运营团队以及流程以更灵活地进行应用程序开发的DevOps一直在稳定增长。根据Grand View Research的数据,该市场预计将以18%的复合年增长率增长。 Grand View报告指出:“各种规模的组织都在越来越多地部署DevOps工具,以提高生产力,简化工作流程,缩短产品上市时间,交付质量更高的软件,并将与软件开发,交付和维护相关的成本降至最低。” 但是,DevOps不仅仅是技术安装。这是一种文化和流程变化,需要时间和精力。它要求开发和运营团队更频繁地进行通信和协作,这与开源原则保持一致。 自动化和自助服务等工具和解决方案增强了这种方法,并有助于确保安全性,质量和可靠性。 然而,实施DevOps仍然面临挑战。正确的Kubernetes平台可以为您提供帮助。 DevOps和Kubernetes之间的联系 DevOps兴起的原因之一就是与之相关的容器技术的日益普及。容器打包了运行应用程序所需的一切,包括二进制代码,库和配置文件。而且由于这些组件是包含在其他应用程序中并与其他应用程序隔离的,因此开发人员可以无缝地编码,测试和运行这些新的或重新设计的工作负载,而不会干扰其他应用程序。 DevOps和容器面临的挑战是围绕所有这些流程和工作流程的管理和编排。尽管开发人员通常具有部署初始容器的专业知识,但要花费大量的精力和知识来管理生产中运行的多个容器。 Kubernetes是一个开源系统,用于自动化容器化应用程序的部署,扩展和管理。 它协调了许多容器任务,例如管理虚拟机集群,负载平衡,网络流量分配等。 为此,Kubernetes包含了自动化,集成和自助服务等功能。正确的Kubernetes平台提供了一个统一的环境,使开发团队能够跨公共,私有和混合云有效地管理容器操作并使应用程序现代化。 并非所有适用于企业的Kubernetes平台都是相同的。组织应寻求与能够解决以下问题的供应商合作: 最后,考虑内部专业知识。无论您的组织在开发DevOps和容器策略方面需要帮助,还是在部署Kubernetes平台方面需要帮助,请寻找可以提供动手支持的供应商。 随着公司要求更快的创新,他们转向DevOps和容器技术来加快应用程序的转换和现代化。有了合适的Kubernetes平台,他们可以加快开发和部署过程,以实现其所需的业务目标。 有关DevO

为什么CI / CD和Kubernetes在一起

Resim
管理和优化软件生命周期通常是一个不连贯的过程,开发人员和IT运营团队处于孤岛。缺乏协调会导致不一致,错误和漏洞。持续集成和持续交付(CI / CD)有助于避免这些挑战。 CI / CD不仅仅是文化上的转变。它包括一组最佳实践和自动化工具,以创建用于持续构建,测试,监视和发布软件的管道。这样做可以加快创新过程,并增强开发团队与IT团队之间的协作。 而且,由于涉及到连续测试,因此可以更快地发现错误并提高软件/代码质量。 最终,CI / CD使组织能够加快应用程序开发并有效地使现有应用程序现代化。 不断发展的CI / CD管道 据InfoWorld称,随着公司意识到有必要转向类似云的开发和部署,企业对CI / CD的使用激增,特别是考虑到最近的全球大流行。 在工作中,组织正在探索使用CI / CD工具将本地开发工作迁移到云中。 与此相伴的是容器技术的兴起。就像云计算可以为构建和测试工作负载所需的大量资源提供弹性和可伸缩性一样,容器采用的架构可以无缝打包运行应用程序所需的所有服务和组件。 根据研究和分析公司Omdia的白皮书,对类云或本机开发的关注使CI / CD成为部署容器的重要基础。 CI / CD的自动化流程和实践可帮助改善容器中正在构建或重新架构的应用程序。 实现这一魔力的关键环节是拥有一个将CI / CD和容器联系在一起的平台。 输入Kubernetes。这是一个开放源代码系统,可大规模协调各种容器任务,例如管理虚拟机群集,负载平衡,网络流量分配等。 Kubernetes和CI / CD一起走 适用于企业的Kubernetes平台可借助CI / CD方法的实用性,帮助企业实现容器的优势-敏捷性,可移植性,安全性和速度。 正确的Kubernetes平台提供了工作流和解决方案的自动集成,以及使开发人员可以按需快速扩展的功能。此外,应在体系结构上针对不变性进行设计,以限制网络攻击的可能性。 例如,Red Hat OpenShift是一个Kubernetes平台,提供了开箱即用的功能来构建CI / CD管道,以简化和自动化基于容器的服务。 它使开发人员能够无缝,安全地构建应用程序,并且始终保持规模一致,因此可以更快地投入使用并满足业务需求。 红帽OpenShift管道提供了本机CI / CD体验,该体验是为在Kubernetes上运行的容

企业Kubernetes平台案例

Resim
公司正在使用容器技术来转换应用程序开发,重新架构和部署。实际上,根据2020 IDG云计算调查,目前有64%的IT决策者表示他们正在研究,试用或使用这种技术。 顾名思义,容器打包了运行应用程序所需的一切,包括二进制代码,库和配置文件。 并且由于这些组件与其他应用程序包含并隔离,因此开发人员可以无缝地编码,测试和运行这些新组件或重新设计工作负载,而不会干扰其他应用程序。这加快了开发和部署的速度,从而提高了业务敏捷性。 另外,容器化简化了迁移过程。无论是从基于云的基础架构到本地数据中心,还是从反向的基础架构,容器中的应用程序都可以快速地“提升和转移”。 这提供了重要的可移植性,可以满足业务需求和IT需求。 也就是说,需要围绕建立和管理容器环境进行努力。必须考虑与在生产环境中运行应用程序相关的所有方面–例如计算和存储需求,安全性,日志记录和监视。 输入Kubernetes,这是一个用于自动化部署,扩展和管理容器化应用程序的开源系统。它编排了许多容器任务,例如管理虚拟机群集,负载平衡,网络流量分配等。 IDG调查发现,有54%的组织正在转向Kubernetes来帮助他们实现容器的好处。 平台很重要 许多公司没有为Kubernetes自己构建平台,而是转向企业就绪平台。这是因为尽管最初的实现可能很简单,但是随着容器数量的增加,管理多个容器所需的知识也是如此。公司需要一个Kubernetes平台,该平台可以协调所有这些容器化应用程序中的所有相关服务和资源,例如网络权限,系统分配,备份和更新。 因此,组织应寻求一个考虑以下因素的企业平台: 可扩展性。开发人员必须能够轻松,一致地为容器化应用程序部署资源,并能够快速按需扩展。正确的Kubernetes平台专为开箱即用的功能而设计,即使在大规模运行时也能限制运营开销。 安全。在任何应用程序生产环境中,安全都是并且应该考虑的。被利用的漏洞可能具有毁灭性的后果。 寻求一个在架构上为不变性设计的Kubernetes平台。这限制了网络攻击的可能性,并使安全团队能够无缝解决漏洞。 集成。 如果您的组织已实现DevOps或持续集成和持续交付(CI / CD),请考虑Kubernetes平台如何与这些方法集成。正确的解决方案将提供一个互连或网格,该互连或网格可将整个工作流和解决方案集成到整个堆栈中,以便开发人员可以专注

Python可能会获得模式匹配语法

Resim
Python语言的创建者正在考虑一项新建议PEP 622,该建议最终将为Python提供模式匹配语句语法。新的模式匹配语句将为Python程序员提供处理结构化数据的更多表达方式,而不必求助于变通方法。 模式匹配是许多编程语言的共同特征,例如C中的switch / case。 它允许基于给定变量或表达式的值采取多种可能的动作之一。尽管Python缺乏用于模式匹配的本机语法,但可以使用if / elif / else链或字典查找对其进行仿真。 PEP 622提出了一种使用匹配/大小写语法将表达式与多种模式匹配的方法: 符合条件:案例0 | 1 | 2:print(“ Small number”)case [] | [_]:print(“ A short sequence”)case str()| bytes():print(“类似字符串的东西”)case _:print(“其他字符串的东西”)支持的模式匹配类型包括文字,名称,常量值,序列,映射(基本上是键值对的存在)在表达式中),类,上述内容的混合物或任何这些加上条件表达式。 任何含糊不清或无法解析的匹配项将在运行时引发异常。 对象可以通过称为__match__协议的新协议来处理匹配测试。如果对象实现__match__方法,则可以使用该对象测试它是否匹配给定的类模式并返回适当的响应。 PEP 622也将允许静态类型检查器验证是否可以验证匹配。用于类的新@sealed装饰器指示类型检查器,该类的任何子类都在与基类相同的模块中定义。 由于缺乏受欢迎的支持,先前添加模式匹配的PEP(分别在2001年和2006年提出的PEP 275和PEP 3103)被拒绝。 PEP 3103由Python的创建者Guido van Rossum起草。由van Rossum和其他一些人撰写的新PEP旨在提供用于对象匹配的正则表达式,而不仅仅是简单的if / elif / else替代品。作者注意到,该PEP的许多方面都受到了Rust和Scala中模式匹配的工作方式的启发。 如何在引擎盖下实现所有这些仍有待讨论。 PEP 622中提出的实现将生成与if / elif / else链相同的字节码序列。取决于每种情况中包含多少条件逻辑,更大的开关/案例块的性能可能会降低。 br> 即使PEP最终被接受,有关它的很多事情也

GitHub的Super Linter是“一个统治者”

Resim
GitHub推出了Super Linter,这是一个GitHub Action,它提供各种linter的组合来帮助验证源代码。通过设置GitHub存储库以调用Super Linter动作,开发人员可以在打开拉取请求时让Super Linter自动将其代码抹平。 Super Linter是由GitHub Services Devops Engineering团队构建的,目的是保持文档和代码的一致性,同时使整个公司之间的协作更加高效。 被称为“一个完整的规则管理者”的Super Linter是GitHub存储库。打包在Docker容器中并由GitHub Actions调用。因此,GitHub上的任何仓库都可以调用Super Linter并利用其优势。 Super Linter具有以下优点: 防止将损坏的代码上传到主分支。 建立跨不同语言的编码最佳实践。 设置代码格式和布局的构建准则。 帮助简化代码审查。 提供更干净,更稳定的代码。 Super Linter支持的一些语言和短绒: Ansible,ansible-lint CSS,stylelint CoffeeScript,coffeelint Dockerfile,dockerfilelint Golang,golangci-lint JavaScript和TypeScript,eslint标准js JSON,jsonlint Python 3,pylint 科特林Kotlin 可以在GitHub上找到受支持的linter的完整列表。 开发人员可以通过将Super Linter添加到他们的GitHub Actions工作流程中来使用它。 当开发人员设置其仓库以支持Super Linter操作时,无论何时打开拉取请求,都会启动代码并通过Status返回代码API。如果代码更改成功通过,或者检测到错误以及错误发生的位置,开发人员将得到通知。 版权所有©2020 IDG Communications,Inc. 紧贴InfoWorld的新闻通讯,以了解软件开发人员,分析师,数据库程序员和数据科学家的情况。 从我们仅限会员的内幕文章中获取专家见解。.

C和Rust编程语言继续增长

Resim
C编程语言已连续第二个月保持在Tiobe语言受欢迎程度指数的榜首,而Rust语言终于跻身前20名。 2020年6月的Tiobe指数代表Mozilla项目Rust首次在Tiobe的评估中扩大了这一范围,该评估基于一种查看流行搜索引擎中搜索结果的公式来衡量语言的流行程度。 Rust的评分为0.64%,从2019年6月的38位上升至第20位。 Tiobe Software首席执行官Paul Jansen在评论Rust的崛起时,将Rust描述为一种“正确的系统编程语言”。詹森在博客文章中写道:“其他语言的所有冗长的编程和锋利的边缘都可以在静态强类型化的情况下被Rust所解决。” “其类型系统可以防止运行时空指针异常,并且可以通过编译来计算内存管理,时间。” 在该语言再次获得Stack Overflow年度开发者调查的“最受欢迎”语言称号之后,Rust的Tiobe索引就出现了上涨。 2020年6月的Tiobe指数是由C语言主导的,它取代了Java,这是五年来超过5年来的第一次。 Tiobe上个月认为C的上升与COVID有关。 -19大流行和C在医疗设备中的广泛使用。 2020年6月,Tiobe指数排名前10位的语言: C,占17.19% Java,16%。1% Python,8.36% C ++,5.95% C#,占4%。73% Visual Basic,4.69% JavaScript,2.27% PHP,2. 26% R,2.19% SQL,1.73% 版权所有©2020 IDG Communications,Inc. 紧贴InfoWorld的新闻通讯,以了解软件开发人员,分析师,数据库程序员和数据科学家的情况。 从我们仅限会员的内幕文章中获取专家见解。.

使用Jamstack构建Web应用程序的9个理由

Resim
在短时间内构建一个灵活且可迭代的应用程序可能是一个挑战。像AWS,Azure和GCP这样的知名云有助于在几周内以低成本交付可扩展的Web应用程序。选择一个托管数据库,将应用程序代码移至Docker容器或后端功能,然后将所有内容部署在任何代码更改上。 这就是现代应用程序开发的样子,对吧? 在本文中,我将以惊人的速度描述用TypeScript编写,通过Vercel部署并由名为FaunaDB的无服务器数据库支持的Next.js应用程序,以惊人的速度开发和交付软件所需的最重要的事情。我将详细解释所有这些内容,并在此各处添加一些示例。 我强烈建议尝试所有这些示例。它们都有免费的免费层,可供多达三名成员的小型开发团队使用。 以开发人员为中心的部署平台与无服务器产品的结合使用总结为Jamstack。 “ J-A-M”表示JavaScript,API和标记。有关Jamstack的更多信息,请访问https://jamstack.org/。 我可以在云中使用的服务数量是巨大的。目前,AWS有250种不同的服务。我需要定义如何为我的新功能,非生产环境以及生产环境连接和设置部署 如果我正在与多个开发人员并行进行项目开发,那么我希望将URL传递给我的同事以共享我当前的功能分支。 另外,我需要设置域和子域,扩展服务,连接公共端点,管理数据库连接,设置机密管理等。 Vercel平台与GitHub或GitLab等版本控制系统无缝连接。我只需连接我的存储库,并修改我的名称服务器主机名设置,就完成了。 在我当前的项目中,我定义了一些方便的npm任务,这些任务在每个版本中都使用,以确保我们的软件能够正常工作并符合软件标准和最佳实践: “ scripts”:{{“ tsc”:“ tsc”,** // //检查类型安全性“ lint”:“ eslint”,s lin,t“ lin”,进行分析: “ lint:fix”:“ eslint --fix”,“ test”:“ jest --watch”,//执行测试“ test:ci”:“ jest --ci”,“ test:coverage”:“ jest- -coverage“,” checks“:” npm-run-all lint:ci tsc test:ci“,” dev“:” env-cmd next dev“,//启动本地开发

Android Studio 4.0添加了Motion编辑器和构建分析器

Resim
Android Studio 4.0是用于Android移动开发的官方IDE的最新版本,现已进入稳定的发布阶段。此更新具有新的Motion编辑器和构建分析器之类的功能。 Motion编辑器是MotionLayout类型的视觉设计编辑器。该编辑器使使用MotionLayout API可以更轻松地在其应用程序中管理动作和小部件动画。生成XML文件,使开发人员不必执行此任务。 还提供了对编辑约束集,过渡,关键帧和视图属性的支持。 MotionLayout基于ConstraintLayout的功能来设计大型和复杂的Android视图。 构建分析器解决了构建中的瓶颈,例如禁用的优化和配置不正确的任务。 Android Gradle 4.0.0插件通过使用Java 8语言API并在动态功能之间创建功能对功能的依赖关系来支持构建分析器模块。 可以从Android Studio开发者网站下载Android Studio 4.0。 Android Studio 4中的其他功能 0包括: 现在支持Kotlin DSL构建脚本文件(* kts)。 Kotlin构建脚本从“项目结构”对话框中提供了一组快速修复。 升级的Layout Inspector通过提供对正在运行的应用程序保持更新的数据的访问并提供有关资源使用情况的见解,使UI的调试更加直观。 Layout Validation功能可以跨多个屏幕尺寸比较UI。 Android 4.0中的CPU事件探查器提供的CPU记录与主要事件探查器时间轴分开,并且它们按组进行组织,以便于分析。 对于编写C ++的开发人员而言,clangd现在是用于代码导航,完成,检查以及显示代码错误和警告的主要语言分析引擎。叮叮当当的linter工具现已与Android Studio捆绑在一起。 版权所有©2020 IDG Communications,Inc. 紧贴InfoWorld的新闻通讯,以了解软件开发人员,分析师,数据库程序员和数据科学家的情况。 从我们仅限会员的内幕文章中获取专家见解。.