Serverless

从零入门 Serverless | 架构的演进

為{幸葍}努か 提交于 2020-07-26 03:31:50
作者 | 许晓斌 阿里云高级技术专家 本文整理自《Serverless 技术公开课》第 1 讲, 点击开始学习 。 关注 “ Serverless ” 公众号,回复 入门 ,即可获取 Serverless 系列文章 PPT。 传统单体应用架构 十多年前主流的应用架构都是单体应用,部署形式就是一台服务器加一个数据库,在这种架构下,运维人员会小心翼翼地维护这台服务器,以保证服务的可用性。 (单体架构) 随着业务的增长,这种最简单的单体应用架构很快就面临两个问题。首先,这里只有一台服务器,如果这台服务器出现故障,例如硬件损坏,那么整个服务就会不可用;其次,业务量变大之后,一台服务器的资源很快会无法承载所有流量。 解决这两个问题最直接的方法就是在流量入口加一个负载均衡器,使单体应用同时部署到多台服务器上,这样服务器的单点问题就解决了,与此同时,这个单体应用也具备了水平伸缩的能力。 (单体架构-水平伸缩) 微服务架构 1. 微服务架构演进出通用服务 随着业务的进一步增长,更多的研发人员加入到团队中,共同在单体应用上开发特性。由于单体应用内的代码没有明确的物理边界,大家很快就会遇到各种冲突,需要人工协调,以及大量的 conflict merge 操作,研发效率直线下降。 因此大家开始把单体应用拆分成一个个可以独立开发、独立测试、独立部署的微服务应用,服务和服务之间通过 API 通讯,如

使用 Serverless Framework Express 组件快速创建文本翻译工具

心已入冬 提交于 2020-07-25 16:46:32
通过 Serverless Framework 的 Express Component 实现了一款文本翻译工具。该工具基于腾讯云 TMT 机器翻译工具,支持多种语言的互相翻译。点击查看 Demo 部署效果。 如何使用 Serverless Framework 的 Express Component 快速创建文本翻译工具呢?跟着下面的步骤一起来试试吧! 1. 安装 通过 npm 安装最新版本的 Serverless Framework $ npm install -g serverless 2. 创建 创建并进入一个全新目录: $ mkdir express-trans && cd express-trans 通过如下命令和模板链接,快速创建该应用: $ serverless create --template-url https://github.com/tinafangkunding/serverless-translate $ cd serverless-translate 进入 src 目录,执行如下命令,安装对应依赖 cd src && npm install 3. 配置 修改模板中的 .env.example 为 .env ,并在 API 密钥管理中获取并配置腾讯云的 SecretId 和 SecretKey 秘钥信息。 # .env TENCENT_SECRET_ID

大数据容器化,头部玩家尝到了甜头?

强颜欢笑 提交于 2020-07-25 07:59:08
大数据的需求热度,从来都是这个时代的浪尖。然而由于大数据系统的复杂性,一度导致业界大数据已死的各种声音不断。尤其是当MapR被HPE收购,Cloudera公司股票持续跌成狗,使得这种声音进一步放大。其实,大数据的需求一直在,只是传统的大数据实现系统需要考虑重新构建。 而容器依靠其自身的标准化,一次构建,随处运行的能力,使得非常适合大数据系统的构建和管理。容器技术当前正是那只火遍全球的当红辣子鸡。 1 华为云BigData Pro大数据解决方案荣获行业年度金奖 2019年12月3日晚,2019年度中国数据与存储峰会年度颁奖典礼上,华为云BigData Pro大数据解决方案荣获“2019年度大数据产品金奖”,再一次展示了华为云在大数据领域的不凡实力。中国数据与存储峰会(DSS)是国内顶级的数据与存储领域技术盛会,其颁发的奖项颇具含金量,在十多年间见证了国内数据存储技术和行业的迅猛发展。此次评选范围涉及私有云大数据,公有云大数据,大数据软件,大数据解决方案等多个领域和维度。本次华为云BigData Pro能一举拿下该金奖,也是实至名归。 2 大数据容器化,大势所趋 目前已经有大量的大数据系统原生支持on Kubernetes。例如Spark官方版本,从2.3开始,就可以无需任何修改直接跑在K8s上。并且,将“更好的在k8s上运行”作为后续版本的重要特性方向

阿里高级技术专家:如何结构化地思考、做事、成长?

流过昼夜 提交于 2020-07-24 23:20:10
作者 | 承风 阿里巴巴高级前端技术专家 **导读:**建立结构化的思维,以结构化的模式驱动工作,以结构化的体系构建自身的能力,小到写 PPT、大到为业务提供更大价值,都是非常值得我们使用的模式。阿里巴巴数字供应链事业部高级前端技术专家 - 承风,将会在本文中和大家分享他在建立和践行结构化思维过程中的方法论。 引言 在每年自评、汇报、工作中总会感受到一些结构化带来的问题: 老板问我当前做的事情怎么样了,我讲了合作中的难点、视觉风格问题、业务情况、代码质量······工作的进展,说了半小时,老板还是 get 不到我做的事情的情况和价值,是老板不在意这件事、还是我语言表达能力不行? 我这一年做了很多事情,都有一定产出,但是跳出细节来看,发现对业务、对团队价值都不大,是我做得不好、还是运气不好做的事情不好? 最近流行 codeless,我打算研究下可视化搭建;团队业务涉及到流程编排,我打算研究下 TMF······一年下来折腾了不少成果出来,似乎老板也没有很认可,是我不讨老板喜欢还是做的事情没价值? 这些问题,根据我自己工作经验的总结,认为大都是对结构化认知不足和践行不佳导致的。 第一个问题:对事情的认知和表述结构化方面存在问题 - 结构化的思维相关问题; 第二个问题:做事儿多而杂不成体系 - 结构化的工作模式问题; 第三个问题:学习和成长缺乏重点 - 结构化的能力建设的问题。

阿里云发布新一代容器、Serverless等云原生产品,加速企业向现代IT架构演进

偶尔善良 提交于 2020-07-24 21:46:01
在6月9日2020阿里云线上峰会上,云原生应用平台产品总监赵林(丹臣)发表了《云原生2020新产品发布 传统应用架构往现代应用架构快速演进的基础设施》的主题演讲,详细介绍了阿里云全新发布的容器、中间件、Serverless等产品。随着数字经济的快速发展和扩张,越来越多的企业开始采用云原生计算的思想和技术,以主导企业的数字化转型架构。 新产品发布和解决方案升级,助力企业从传统IT架构向现代应用架构演进 云原生的技术和产品,可以帮助用户轻松地从原有的 IT 架构向现代应用架构演进。从底层应用托管平台来看,阿里云提供了容器服务ACK/ASK。在应用PaaS层,阿里云提供了SAE、EDAS、Web+三款产品。在上层,阿里云提供了函数FaaS服务,可以满足不同的业务需求。不仅如此,阿里云还提供了各种各样的中间件服务,包括业界最为完整丰富的消息队列服务,覆盖了所有常见的消息协议,如国内著名的开源消息中间件产品RocketMQ、业界流行的Kafka,AMQP/MQTT 消息队列都可以在阿里云上找到对应的商业化服务。在其它中间件领域,如微服务引擎MSE、应用配置管理ACM、云服务总线CSB,以及针对事务服务的GTS等,都可以帮助企业用户快速构建现代化的应用架构。 阿里云之所以提供如此丰富全面的云原生技术和产品,核心还是要满足客户多样化的需求。 除了应用托管平台以及常见的中间件之外

拒做工具人!教你一键快速部署应用到容器镜像仓库

痞子三分冷 提交于 2020-07-24 03:44:57
作者 | Cloud Toolkit 近年来,容器技术以迅雷不及掩耳之势迅速蔓延开来,容器技术基于各种场景的尝试与实践更是层出不穷,它的崛起改变了我们创建、发布与运行应用的方式,实现了资源的独立与隔离、相较于传统的虚拟化技术,它更加轻量化。 随着以 Docker 为代表的容器技术在越来越多的业务场景中被应用,越来越多开发者开始习惯将应用打包成标准格式镜像并存放在镜像仓库中以便完成日常部署发布、团队协作等工作。但在真正的生产环境中,我们会产生大量镜像,不管是第三方还是自建,而这些镜像伴随而来的是部署、保存、分发使用等大量繁琐、重复的部署、管控工作。 对于开发者而言,在本地 IDE、镜像仓库、容器等多个产品间来回切换,不仅耗费大量工时与精力,而且繁琐细碎的操作更容易造成一系列失误。 说到底,哪个开发者想做一个天天机械性重复工作的工具人呢?谁不想做点有创造性的工作呢? 面对这样的难题,Cloud Toolkit 给出了答案~ 在 IntelliJ IDEA 安装和配置 Cloud Toolkit 后,只需在配置界面设置部署参数即可实现自动化部署,将应用快速部署到镜像仓库,并借助阿里云提供安全的镜像托管能力,高效管理镜像 。 那么,我们来看看到底如何做,才能实现部署提速 8 倍?首先,先和大家聊一聊搭配免费 IDE 插件即可实现一键部署、持续集成与交付的的容器镜像仓库 ACR。

Table design in DynamoDB

↘锁芯ラ 提交于 2020-06-17 02:03:06
问题 I am a beginner in NoSQL DB and Serverless. My app has a table called Trips . The parameters of the tables are {id, route, cost, selling, type, date, LR, asset } and a bunch of other irrelevant document numbers, where id is generated by uuid. Now I want to query the database for giving me Return all trips between a date range using the date parameter. Return all the trips for an asset in given period of time using date and asset parameter. Return all the trips for a route in a given period of

How to deploy SAM stack with localstack?

点点圈 提交于 2020-06-01 01:45:15
问题 I've written a SAM stack and I can build, package and deploy it on AWS. I can also use start-local or invoke to test. Now I need to test to other AWS resources. I've added those resources to my SAM template. It works well on AWS but I'm searching for a way to deploy my SAM stack in localstack (local dynamodb e.g.). Now I have to create the resources with the CLI and after that I can deploy my SAM stack (only lambda, API GW in this case). How can I do this? 回答1: I've just gone through this. I

How to deploy SAM stack with localstack?

徘徊边缘 提交于 2020-06-01 01:40:49
问题 I've written a SAM stack and I can build, package and deploy it on AWS. I can also use start-local or invoke to test. Now I need to test to other AWS resources. I've added those resources to my SAM template. It works well on AWS but I'm searching for a way to deploy my SAM stack in localstack (local dynamodb e.g.). Now I have to create the resources with the CLI and after that I can deploy my SAM stack (only lambda, API GW in this case). How can I do this? 回答1: I've just gone through this. I

How to deploy SAM stack with localstack?

不打扰是莪最后的温柔 提交于 2020-06-01 01:38:41
问题 I've written a SAM stack and I can build, package and deploy it on AWS. I can also use start-local or invoke to test. Now I need to test to other AWS resources. I've added those resources to my SAM template. It works well on AWS but I'm searching for a way to deploy my SAM stack in localstack (local dynamodb e.g.). Now I have to create the resources with the CLI and after that I can deploy my SAM stack (only lambda, API GW in this case). How can I do this? 回答1: I've just gone through this. I