这个云原生开发的痛点你遇到了吗?

简介:上云从来都不是一片坦途,在此过程中我们总会遇到一些困难和挑战,得益于云原生技术的日益成熟,这些问题一定会有相应的解法。

作者:纳海

端云互联最佳实践:https://help.aliyun.com/document_detail/200032.html


背景  

在云原生时代,国内外众多云厂商释放出强大的技术红利,如何利用廉价、稳定且高效的云设施是当今的一个主要命题。在云上,我们可以很方便地创建虚拟网络、虚拟机、数据库、消息队列等基础设施和中间件,也可以使用容器服务、EDAS、SAE、函数计算等PaaS和Serverless服务来减轻应用管控的压力。


但事情并不是一帆风顺的。应用上云已是历史大潮不可阻挡,但随之而来开发者很快就体会到上云的另一面:由云上和云下网络不通所带来的开发体验割裂感。在上云之前,开发者可以在本地完成代码开发、测试、联调等开发流程闭环;而上云之后,数据库、缓存、消息队列和其他微服务应用都部署在云上的虚拟网络之中,我们再无法在本地完成开发流程。


如果是中东土豪,他可能会考虑使用物理专线来打通网络。因为他只需支付光纤铺设费、楼内光缆租赁费、端口占用费、流量费等百万量级的钱,同时说服安全团队来允许完全打通环境而已。


如果是专业运维人员,他可能会考虑搭建VPN来打通网络。当他花费精力搭建VPN服务器,发现同事们还是用不起来,纷纷抱怨:


  • “一打开VPN,整个本地系统网络流量都转发到云端了,其他事情干不了啦!”
  • “除了配置VPN,还要配置应用运行参数,太麻烦了!”
  • “云端服务怎么调用不了本地服务,云端网络路由添加了吗?”
  • ...

 

看到这些问题,运维小哥内心也感到心累...


而现在,我们提供了一个开箱即用的插件工具,无需你花费大量的金钱或者人力。你所需要的只是在IDE中一键开启开关,然后通过IDE所启动的应用就能访问到云端环境里的数据库、MQ、缓存和其他微服务。所有的事情都由插件来帮你完成。


介绍

这款工具是我们自主研发的“端云互联”插件,“端”指的是开发端,“云”指的是云上网络,通过某种方式实现“端”和“云”的双向互通,并且没有传统VPN的问题。


端云互联功能集成在Alibaba Cloud Toolkit(简称ACT)这个上云工具产品中,并支持Intellij IDEA和Eclipse两款IDE。你只需在插件市场中搜索“Alibaba Cloud Toolkit”进行安装即可,例如在Intellij IDEA中搜索如下:


我们在2018年就开始了端云互联项目的研发,这个过程中迭代了大大小小的版本,共经历了三个里程碑,至今有数十万人次的使用。下面来介绍它的特性支持和实现原理。


端云互联1.0


1.0阶段解决了本地和云端双向互联的问题,使得本地服务不仅仅可访问云端资源,还可以跟云端服务互相通信。


双向互联


以下为端云互联的核心架构,整体分为两个模块:通道服务和代理机。


其中,模块功能如下:


  • 代理机:负责云端的流量转发。端云互联方案对代理机的要求很低,一台普通规格的ECS就可以充当“乞丐版”的代理机。并且,Debian、Ubuntu、Redhat等Linux系统已经包含端云互联所依赖的底层库,无需额外安装其他软件。
  • 通道服务:负责本地的流量转发。当我们打开端云互联开关并启动应用时,插件会在本地拉起一个通道服务进程。这个进程的职责非常简单,它只负责本地应用和云端代理机之间的流量转发,无其他操作。


通道服务和代理机之间是使用加密通道来通信的,中间人无法窃取通道中的数据。而在微服务应用中,我们结合Java原生的代理参数和自研的流量拦截方案来将应用的流量转发至通道服务。


开发人员在IDE中启动应用时,端云互联插件会自动拉起通道服务,并注入相关参数至应用中。启动后,应用流量自动转发至通道服务,无需人工干预。


从架构上来看,端云互联跟VPN有点类似,都分为服务端和客户端。但实际上,两者有很大的差异,下图进行了对比总结:


其中,在“云端访

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值