当我们面对一个大型应用程序,它有大量的微服务,并希望完成一些功能开发? 我们面临许多挑战,其中之一将是处理正确的环境,如何进行开发。我们知道,在团队中解决这个问题的最佳方法是将其容器化并在云上托管。这将使开发人员能够处理特定功能并调试容器,而无需在本地创建环境。

微软在2020年9月份发布Visual Studio扩展工具Bridge to Kubernetes:https://devblogs.microsoft.com/visualstudio/bridge-to-kubernetes-ga/ 。Bridge to Kubernetes是一种迭代开发工具,作为Visual Studio和VS Code的扩展提供,旨在简化微服务的开发。开发人员可以在开发工作站上编写、测试和调试微服务代码,同时从 Kubernetes 环境中继承现有配置并消费依赖关系。 微软的Azure云解决方案架构师写了一篇不错的文章:https://sajeetharan.com/2020/10/28/bridge-to-kubernetes/

博客上给出了一张图, 总结了微服务开发的三种场景:本地,远程和混合的方法

开发人员从本地开发方法转向混合方法,这是使用k8s 构建应用程序提供了最佳方式。使用混合方法,它允许开发人员在其开发工作站上编写代码,但也允许他们连接到在远程环境中运行的处理外部依赖依赖服务。因此,它实际上通过连接它们来满足所有这些外部依赖关系。假设您在Azure的 Kubernetes 上运行应用程序,则可以连接本地环境中的所有依赖关系,并拥有整个端到端工作流【可以支持任何k8s集群:https://devblogs.microsoft.com/visualstudio/bridge-to-kubernetes-ga/#support-for-any-kubernetes】。

上图这样的场景,我正在开发一个微服务,需要处理使用不同技术开发的产品和其他微服务部署在 Azure 上的 Kubernetes 集群上。 如果我想连接到多个微服务,我当地的环境中运行一些集成测试,Bridge to Kubernetes将有助于我实现这个要求。它的一些主要功能:

  • 加速和简化微服务开发:它基本上消除了手动推送代码、配置和编译外部依赖您的开发环境的需要,这样您就可以专注于代码而不担心其他因素。
  • 简单调试代码:它允许您使用添加的k8s配置运行您通常的调试配置文件。它允许开发人员以他们想要的方式调试代码,同时利用本地调试的速度和灵活性。
  • 开发和测试端到端:其中一个重要特点是在开发过程中进行集成测试。选择集群中的现有服务,以路由到本地运行该服务实例的开发机器。开发人员可以通过在 Kubernetes 中运行的应用程序的前端发起请求,它将在集群中运行的服务之间路由,直到您指定的重定向服务与在代码中添加断点进行调试的服务相同。

使用方法非常简单,直接从Visual Studio 或者是VSCode 的插件市场上安装Bridge to Kubernetes 插件。VisualStudio安装好插件后可以通过这篇文档走一遍:使用 Bridge to Kubernetes , VS Code安装好插件后也可以通过这篇文档走一遍:Use Bridge to Kubernetes with a sample。 这样的开发体验很棒, 这个体验要比腾讯的方案 Nocalhosthttps://nocalhost.dev/

使用 Bridge to Kubernetes 简化云端开发的更多相关文章

  1. DbUtils是Apache出品一款简化JDBC开发的工具类

    DbUtils     - DbUtils是Apache出品一款简化JDBC开发的工具类     - 使用DbUtils可以让我们JDBC的开发更加简单     - DbUtils的使用:       ...

  2. 推荐 greenrobot eventbus,简化安卓开发,提高安卓维护性,优化安卓性能

    最近在研究移动开发,广泛的阅读有关cordova,apicloud,android资料.发现安卓的开发还是很简单的.再发现greenrobot eventbus开源框架不仅可以简化安卓开发,有可以大幅 ...

  3. 简化PHP开发的10个工具

    本文介绍了可以帮助简化 PHP 开发的11个项目,包括框架,类库,工具,代码. 1. CakePHP Development Framework CakePHP 是一个 PHP 的快速开发框架.它提供 ...

  4. 12款有助于简化CSS3开发的工具

    网站开发者能通过CSS3为网站设计增添很多时尚元素,CSS3 对CSS规范做了很大的改进.现在,本文将介绍12款有助于简化CSS3开发的工具.  1.CSS3 Pie: 允许在IE上使用CSS3绝大部 ...

  5. [ios2]使用NSOperationQueue简化多线程开发和队列的优先级 【转】

    多线程开发是一件需要特别精心的事情,即使是对有多年开发经验的工程师来说. 为了能让初级开发工程师也能使用多线程,同时还要简化复杂性.各种编程工具提供了各自的办法.对于iOS来说,建议在尽可能的情况下避 ...

  6. 深度剖析:最新云端开发工具如何实现敏捷+DevOps开发落地

    相信很多软件开发人员们对今年国内新兴的云端开发工具——华为软件开发云都有耳闻,有些人可能还免费体验过,由于它5人以下的团队是免费使用的,很庆幸本人的这个项目正好5个人,就注册使用了.下面就自己的使用心 ...

  7. RxSwift 在本质上简化了开发异步程序

    RxSwift 是一个组合异步和事件驱动编程的库,通过使用可观察序列和功能样式运算符来,从而允许通过调度程序进行参数化执行. RxSwift 在本质上简化了开发异步程序,允许代码对新数据作出反应,并以 ...

  8. 专为简化 C 开发而设计的编程语言 Trad

    Trad 是一个专为简化 C 开发而设计的编程语言,它: 基于 C: 经编译器编译后能得到干净可读的标准 C 代码,其与 C 的关系就像 TypeScript 与 JavaScript 一样 专为 U ...

  9. Kotlin的Lambda表达式以及它们怎样简化Android开发(KAD 07)

    作者:Antonio Leiva 时间:Jan 5, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin/ 由于Lambda表达式允许更简单的方式建模式 ...

随机推荐

  1. Day17_106_IO_利用Buffered和BufferWriter完成复制

    利用Buffered和BufferWriter完成复制 代码示例: 用BufferedReader 和 BufferWriter完成复制 import java.io.*; public class ...

  2. .NET6 平台系列2 .NET Framework框架详解

    系列目录     [已更新最新开发文章,点击查看详细] 什么是 .NET Framework? .NET Framework 是 Windows 的托管执行环境,可为其运行的应用提供各种服务. 它包括 ...

  3. 什么是SQL注入漏洞?

    什么是SQL注入: SQL是操作数据库数据的结构化查询语言,网页的应用数据和后台数据库中的数据进行交互时会采用SQL. SQL注入,就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字 ...

  4. 概A第二章测试

    以下判断题全是(√) 问题 1 得 10 分,满分 10 分                     问题 2 得 10 分,满分 10 分       0-1分布相当于一个特殊的二项分布b(1,p) ...

  5. Springboot+Vue前后端分离的博客项目

    项目介绍 演示站(服务器已过期):http://blog.hanzhe.site 开源项目地址 ( 求给个Star ):https://gitee.com/zhang_hanzhe/blog 前端采用 ...

  6. 1.7.8- HTML合并单元格

    跨行与跨列

  7. wordpress 自定义路由及展示页

    wordpress 自定义路由及展示页 注册domain/test这个路由 wordpress 有重写url的方法,叫 add_rewrite_rule().在function.php中加入如下代码段 ...

  8. 【Scrapy(四)】scrapy 分页爬取以及xapth使用小技巧

    scrapy 分页爬取以及xapth使用小技巧 这里以爬取www.javaquan.com为例: 1.构建出下一页的url: 很显然通过dom树,可以发现下一页所在的a标签   2.使用scrapy的 ...

  9. hdu1526 二分匹配+ floyd

    题意: 有N个插座,M个用电器,和K种转换器(每种有无限个),问最少多少个用电器无法充电. 思路 :  总的电器数 减去 电器和插座的最大匹配数 我有的是map去映射每一个串,根据转换器建边,然后跑一 ...

  10. hdu3715 二分+2sat+建图

    题意:       给你一个递归公式,每多一层就多一个限制,问你最多能递归多少层. 思路:      先分析每一层的限制 x[a[i]] + x[b[i]] != c[i],这里面x[] = 0,1, ...