OAM

深度解读!阿里统一应用管理架构升级的教训与实践

十年热恋 提交于 2020-03-16 15:10:04
某厂面试归来,发现自己落伍了!>>> 作者 | 李响、张磊 从 2019 年初开始,阿里巴巴云原生应用平台团队开始逐步在整个阿里经济体内,基于标准应用定义与交付模型进行应用管理产品与项目统一架构升级的技术工作。 事实上,早在 2018 年末,当 Kubernetes 项目正式成为阿里巴巴的应用基础设施底盘之后,阿里内部以及阿里云产品线在应用管理领域的碎片化问题就开始日渐凸显出来。 尤其是在云原生生态日新月异的今天,阿里巴巴与阿里云的应用管理产品架构(包括阿里内部 PaaS 和云上 PaaS 产品),如何以最佳姿态拥抱云原生生态、如何以最高效的技术手段借助生态日新月异的能力构建出更强大的 PaaS 服务,而不是重复造轮子甚至和生态“背道而驰”,很快就成为了阿里团队亟待解决的重要技术难题。 但棘手的是,这个问题并不是简单把 PaaS 迁移或者集成到 Kubernetes 上来就能够解决的:PaaS 与 Kubernetes 之间,从来就没有存在这样一条清晰的分界线,可是 Kubernetes 本身又并不是面向最终用户设计的。 如何既让全公司的研发和运维充分享受云原生技术体系革新带来的专注力与生产力提升,又能够让现有 PaaS 体系无缝迁移、接入到 Kubernetes 大底盘当中,还要让新的 PaaS 体系把 Kubernetes 技术与生态的能力和价值最大程度的发挥出来,而不是互相

五分钟学会使用 go modules(含在家办公使用技巧)

二次信任 提交于 2020-02-28 05:54:40
导读 : go modules 是 golang 1.11 新加的特性。如今 1.13 都已经发布了第 7 个小版本了,几乎所有大项目均已开始使用,这自然也包括 Kubernetes 生态中的众多项目。笔者在开发 OAM 相关项目的时候,却发现 modules 的各项功能看似简单,却并没有那么好用,于是便想给大家分享一下使用心得,希望大家也能在最短时间内学会 modules 的使用,避免踩坑。 modules 是什么? 简单说就是包管理,Golang 的包管理素来以混乱著称,以前是依赖 $GOPATH ,只要你的代码放在指定路径下就好了,完全没有“包管理”的概念。被社区吐槽了很久以后开始搞 vendor 机制,简单来说就是代码不光是可以放到指定路径,还可以放在项目自身路径的 vendor 文件夹。这个解决的问题是:你引用的代码包上游变更不会直接影响你的项目,这显然是开始关心“包版本”了。遗憾的是依旧没有解决包管理的问题,比如不同的包依赖了同一个包的不同版本怎么办?版本间代码冲突怎么办? vendor 机制并没有解决,于是围绕 vendor/ 社区就出了几十个包管理工具,一时间百花齐放、百家争鸣、各有所长,导致 golang 的包管理生态变得有些混乱。对这段历史感兴趣的可以阅读下笔者曾经写的文章 《Go 包管理的前世今生》 。 更有意思的是,在 go 官方社区看到包管理工具的乱象后

Heroku 的“得”与“失”

倾然丶 夕夏残阳落幕 提交于 2020-02-28 01:53:05
作者 | 孙健波(天元) 阿里巴巴技术专家 2011 年,Heroku 的联合创始人 Adam Wiggins 根据针对上百万应用托管和运维的经验,发布了著名的 “十二要素应用宣言(The Twelve-Factor App)”。不知那时候他们有没有想到,这份宣言会在今后数年时间里,成为 SaaS 应用开发的启蒙书。同时也奠定了 Heroku 在 PaaS 领域的地位,成为了云上应用开发规范化的基石。 Heroku 无疑是一家伟大的公司,它关注应用与开发者,“以应用为中心”的理念让我们至今受益。然而在过去这一两年里,我们看到许多 Heroku 的用户开始寻找别的选择。这不禁让我们好奇,站在“云原生”如火如荼的今天回望过去,Heroku 的“得”与“失”究竟在哪里? “以应用为中心”的先进理念 Heroku 创办于 2007 年,是最早成熟的 PaaS 产品之一。Heroku 也是最早喊出“以应用为中心”,大规模帮助应用上云的产品。正是围绕“以应用为中心”这样先进的理念,使得 Heroku 从一开始便拥有了至今看来都非常诱人的功能: 用户可以直接从开发语言出发,选择对应的技术栈,通过 heroku create 这样简单的命令,将应用托管到云上。主流的开发语言,均能在 Heroku 中找到对应的选择。 从代码的变动自动触发软件的部署交付,清晰的工作流、多样的发布策略

微服务治理解密:EDAS 是什么?

我只是一个虾纸丫 提交于 2020-02-27 17:12:09
本文是《微服务治理解密》系列篇的第一篇文章,为大家介绍 EDAS 是什么。该系列文章基于阿里云商业化产品 EDAS 『产品官网 >>』 的微服务实践,如果你的团队具备较强的微服务治理能力,那么希望我们在微服务治理方面的实践和背后的思考,可以为你提供一些参考。 EDAS 是什么 有很多读者问我在阿里是做什么的,我一般会回答:“我在阿里主要负责 Dubbo、HSF、SpringCloud Alibaba 这几个微服务框架研发和商业化相关的工作”,这样回答,如果对方是 Java 开发,一般都能知道个大概。熟悉阿里云的朋友会了解到阿里云上有很多的 PaaS 产品,我主要就是负责开发 “企业级分布式应用服务 EDAS” 这款产品;不熟悉阿里云的朋友,会对阿里云上一堆产品、一堆名词感到奇怪,什么 EDAS、MSE、ACM、OAM… 我开始接触 EDAS 时,也是吐槽了一下这次名词,但随着逐渐了解,也就觉得这些云产品像 Redis、DB、MQ 这些东西一样亲切了。这篇文章将围绕 EDAS 这款阿里云云产品进行介绍。 企业级分布式应用服务 EDAS(Enterprise Distributed Application Service)是一个应用托管和微服务管理的 PaaS 平台,提供应用开发、部署、监控、运维等全栈式解决方案,同时支持 Spring Cloud、Apache Dubbo(以下简称

2019 年 阿里巴巴云原生最受欢迎文章排行榜

自作多情 提交于 2020-02-27 05:54:48
在刚刚过去的 2019 年里,阿里巴巴云原生公众号共发布了 270 篇文章,累计阅读 40 多万,文章内容涵盖阿里云原生实践、云原生生态新闻到 K8s 入门等。 这个春节假期,我们整理了三个最受欢迎的文章榜单, 包含系列文章、爆款文章和事件文章三类。 <a name="2MH8H"></a> 最受欢迎系列文章 Top 2 <a name="0ApGL"></a> 《Go 开发关键技术指南系列》 本系列文章从问题本身出发,不局限于 Go 语言,探讨服务器中常常遇到的问题,最后回到 Go 如何解决这些问题,为大家提供 Go 开发的关键技术指南。 本系列共有 4 篇: 为什么你要选择 Go? (内含超全知识大图) Go 面向失败编程 带着服务器编程金刚经走进 2020 年 敢问路在何方? <a name="x97ws"></a> 《从零开始入门 K8s》 由阿里云与 CNCF 共同开发的《CNCF x Alibaba 云原生技术公开课》(视频课程)第一期已更新完毕。为了让大家有更好的学习体验,我们把视频课程转为图文,并请讲师重新编辑成文章,在阿里巴巴云原生公众号以“从零入门 K8s” 为系列进行每周连载。本系列已发布图文版课程文章 21 篇,期待给正在学习 Kubernetes 的同学提供一些参考。 关注“阿里巴巴云原生”公众号,回复关键词“入门”,即可下载《CNCF x Alibaba

合集| 21 篇技术文章,带你从零入门 K8s

只谈情不闲聊 提交于 2020-02-27 05:39:26
关注“阿里巴巴云原生”公众号,回复关键词**“入门”**,即可下载《CNCF x Alibaba 云原生技术公开课》PPT。 由阿里云与 CNCF 共同开发的《CNCF x Alibaba 云原生技术公开课》(视频课程)第一期已**更新完毕。**为了让大家有更好的学习体验,我们把视频课程转为图文,并请讲师重新编辑成文章,在公众号以“从零入门 K8s” 为系列进行每周连载。 本文整理了已发布图文版课程文章 21 篇,期待给正在学习 Kubernetes 的同学提供一些参考。 视频版课程 <br />点击访问:<br /> https://edu.aliyun.com/roadmap/cloudnative 图文版课程 <br />敬请关注阿里巴巴云原生公众号“从零入门 K8s”系列文章! <a name="B1I7r"></a> 图文版课程 课时 1 :第一堂“云原生”课 <br /> 课时 2 :容器基本概念 <br /> 课时 3:Kubernetes 核心概念 <br /> 课时 4:理解 Pod 与容器设计模式 <br /> 课时 5:K8s 的应用编排与管理:核心原理 <br /> 课时 6: 应用配置管理: Deplyment <br /> 课时 7:应用编排与管理:Job & DaemonSet <br /> 课时 8: 应用配置管理 <br /> 课时 9

SOHO 办公场景下,企业数据保护指南

橙三吉。 提交于 2020-02-27 01:38:55
简介:为了共同抵抗疫情,众多企事业单位开始 SOHO 办公(也叫线上办公),以有效降低人员接触导致的交叉感染风险,这是互联网时代给予疫情防御战线的一份礼物。与此同时,这类新型的办公方式也给企事业单位的数据安全保护带来了更多挑战,阿里云数据安全专家建议从五个方面着手,提升企业数据安全保护能力,并提供免费咨询服务。 病毒肆掠,疫情严峻。为了共同抵抗疫情,众多企事业单位开始 SOHO 办公(也叫线上办公),员工尽量在家远程办公,通过钉钉、手机和邮箱等方式完成业务沟通,以有效降低人员接触导致的交叉感染风险,这是互联网时代给予疫情防御战线的一份礼物。 与此同时,这类新型的办公方式也给企事业单位的数据安全保护带来了更多挑战,主要体现在以下几个方面: 需要将部分前期仅在内网可访问的数据权限开放到互联网; 员工使用缺乏安全管控的家庭终端接入到公司内部系统中(特别是日常使用固定终端的办公人员); 数据访问源分布广泛(白名单访问控制方式极易失效); 截屏、拍照、录像等数据窃取方式缺乏监管。 <a name="aJRIF"></a> 云上企业如何在 SOHO 办公场景下有效实现敏感数据的保护呢? 阿里云数据安全专家建议从以下五个方面着手,提升企业数据安全保护能力: <a name="fSfLt"></a> 01 控制接入 SOHO 办公方式无可避免的需要将前期仅在内网可访问的数据权限开放到互联网

五分钟学会使用 go modules(含在家办公使用技巧)

我怕爱的太早我们不能终老 提交于 2020-02-27 01:11:31
作者 | 孙健波(天元) 阿里巴巴技术专家 导读 : go modules 是 golang 1.11 新加的特性。如今 1.13 都已经发布了第 7 个小版本了,几乎所有大项目均已开始使用,这自然也包括 Kubernetes 生态中的众多项目。笔者在开发 OAM 相关项目的时候,却发现 modules 的各项功能看似简单,却并没有那么好用,于是便想给大家分享一下使用心得,希望大家也能在最短时间内学会 modules 的使用,避免踩坑。 modules 是什么? 简单说就是包管理,Golang 的包管理素来以混乱著称,以前是依赖 $GOPATH ,只要你的代码放在指定路径下就好了,完全没有“包管理”的概念。被社区吐槽了很久以后开始搞 vendor 机制,简单来说就是代码不光是可以放到指定路径,还可以放在项目自身路径的 vendor 文件夹。这个解决的问题是:你引用的代码包上游变更不会直接影响你的项目,这显然是开始关心“包版本”了。遗憾的是依旧没有解决包管理的问题,比如不同的包依赖了同一个包的不同版本怎么办?版本间代码冲突怎么办? vendor 机制并没有解决,于是围绕 vendor/ 社区就出了几十个包管理工具,一时间百花齐放、百家争鸣、各有所长,导致 golang 的包管理生态变得有些混乱。对这段历史感兴趣的可以阅读下笔者曾经写的文章 《Go 包管理的前世今生》 。 更有意思的是

抗击疫情,阿里云数据库团队这样做…

此生再无相见时 提交于 2020-02-27 01:00:06
简介:虽然不能亲临疫情一线,但数据库团队的同学们,都在自己的岗位上献出了一份力,和大家一起打赢疫情防控阻击战! 应对逐步发酵的疫情,社会各界都做出了积极响应,贡献了自己的一份力。 那么阿里云数据库团队的同学们有何行动呢? <a name="XsnLV"></a> 采访时刻 <a name="JJbnR"></a> 小库: 在春节和疫情防控期间,阿里云数据库如何保障客户业务的正常运行,为疫情防控提供了怎样的支持? <a name="42Cd5"></a> OLTP 数据库团队 PolarDB 通过云原生弹性能力快速扩容支撑了春节和抗疫期间在线教育、游戏行业和在线办公(钉钉)等流量爆发式增长的一波业务。在疫情中,通过重保和护航等方式有力的保障了多地医院、医保、交通、出入境管理等政府系统的稳定运行,在数字经济时代助力国家全面防控疫情。 <a name="Y03bO"></a> OLAP 数据库团队 数据库OLAP团队采用虚拟联合专家组的方式重点支撑教育、游戏、数字政府等行业客户,助力教育和游戏等行业实现精细化运营,助力数字政府多个省份实现全局疫情深度分析和防控。 <a name="2AGyk"></a> NoSQL 数据库团队 在春节期间,NoSQL 数据库团队同学志愿参与了疫情智能问答机器人项目(由达摩院智能服务事业部发起,目前已嵌入到各省市的疾控中心与微信公众号等政府的app中

为什么 K8s 在阿里能成功?| 问底中国 IT 技术演进

主宰稳场 提交于 2020-02-26 16:17:02
作者: 曾凡松 阿里云云原生应用平台高级技术专家 张振 阿里云云原生应用平台高级技术专家 导读 :本文描述了阿里巴巴在容器管理领域的技术演进历程,解读了为什么 K8s 最终能够大获成功的原因,以及到今年 双11 阿里巴巴内部的 K8s 应用情况。内容着重描述了阿里巴巴基于 K8s 的云原生改造实践过程的三大能力升级,在对应能力升级过程中沉淀的技术解决方案,以及通过这些能力升级所取得的业务价值。 从 2015 年 Google 牵头成立 CNCF 以来,云原生技术开始进入公众的视线并取得快速的发展,到 2018 年包括 Google、AWS、Azure、Alibaba Cloud 等大型云计算供应商都加入了 CNCF,云原生技术也从原来的应用容器化发展出包括容器、Service Mesh、微服务、不可变基础设施、Serverless、FaaS 等众多技术方向,CFCF 旗下也囊括了越来多的开源项目。 Kubernetes 作为 CNCF 的第一个项目从诞生之初就就令人瞩目,Kubernetes 由 Google 工程师基于 Google 内部多年集群管理系统 Borg 的设计经验,结合云计算时代的基础设施特点重新设计而得,旨在帮助企业解决大规模 IT 基础设施的应用容器编排难题。 Google 在 2014 年 6 月开源 Kubernetes 以后,在 Redhat