Serverless

SpringCloud 应用在 Kubernetes 上的最佳实践 —— 高可用(弹性伸缩)

此生再无相见时 提交于 2020-10-13 11:25:10
作者 | 三未 前言 弹性伸缩是一种为了满足业务需求、保证服务质量、平衡服务成本的重要应用管理策略。弹性伸缩让应用的部署规模能够根据实时的业务量产生动态调整,在业务高峰期扩大部署规模,保证服务不被业务冲垮;在业务低谷期缩减部署规模,避免资源浪费。 由于大部分云资源是按需取用,按量计费模式,相比使用 IDC,使用云的用户从弹性伸缩获得的成本优势是非常明显的,弹性伸缩也是大多数云上用户的选择。而关于如何用好弹性伸缩,一直是用户非常关心的问题,本文尝试围绕这个话题,给出一些相关的思考和优化实践。 有两种实现弹性伸缩方法,一种是“ 垂直弹性 ”,即“Scale Up”,另一种是“ 水平弹性 ”,也就是“Scale Out”。 1. 垂直弹性伸缩 垂直弹性伸缩一般是指通过升降服务器的规格来实现的弹性伸缩。这种伸缩方式对应用本身几乎没有约束,可以被大部分应用或组件使用,它的问题主要在两个方面: 动态调整服务器的规格而不影响上层部署的应用,对基础设施要求比较高,对于许多云厂商而言是个难题,并不能实现业务完全无感的动态变配; 垂直弹性无法突破单台物理设备的规格限制,面向巨量的突发业务增长,垂直弹性的应对能力是有上限的。 2. 水平弹性伸缩 而水平弹性伸缩恰恰相反,它依靠增减服务器的数量来实现弹性伸缩,对基础设施的要求不高,水平弹性除了可以解决容量上限的问题,多副本部署还能带来更高的可靠性

Serverless 实战:3 分钟实现文本敏感词过滤

自闭症网瘾萝莉.ら 提交于 2020-10-13 00:23:00
敏感词过滤是随着互联网社区发展一起发展起来的一种阻止网络犯罪和网络暴力的技术手段,通过对可能存在犯罪或网络暴力可能的关键词进行有针对性的筛查和屏蔽,很多时候我们能够防患于未然,把后果严重的犯罪行为扼杀于萌芽之中。 随着各种社交平台等的日益火爆,敏感词过滤逐渐成了非常重要的也是值得重视的功能。那么在 Serverless 架构下,通过Python 语言,敏感词过滤又有那些新的实现呢?我们能否是用最简单的方法,实现一个敏感词过滤的API呢? 了解敏感过滤的几种方法 Replace方法 如果说敏感词过滤,其实不如说是文本的替换,以Python为例,说到词汇替换,不得不想到 replace ,我们可以准备一个敏感词库,然后通过 replace 进行敏感词替换: def worldFilter(keywords, text): for eve in keywords: text = text.replace(eve, "***") return text keywords = ("关键词1", "关键词2", "关键词3") content = "这是一个关键词替换的例子,这里涉及到了关键词1还有关键词2,最后还会有关键词3。" print(worldFilter(keywords, content)) 但是动动脑大家就会发现,这种做法在文本和敏感词库非常庞大的前提下,会有很严重的性能问题

云计算的下半场 —— Serverless 2020 发展解读

跟風遠走 提交于 2020-10-10 02:00:10
2008 年可以说是大家比较公认的云计算元年,因为在这一年中越来越多的行业巨头和玩家注意到这块市场并开始入局。至今已经过去了十多年,在这短短十几年的发展过程中,云计算持续爆发,落地应用不断涌现,对于行业的变革力量正逐步凸显。 但是力的作用是相互的,在改变行业的同时,行业也在改变着你。由于市场对于高效、快速的需求越来越重,因此能否让开发者专心在业务逻辑和功能实现上,能否淡化前后端开发界隙并提升研发效率,Serverless 去服务器化可以说是当下的不二选择。 Serverless 可以使几乎所有的互联网开发者以及互联网应用都从中受益,因为没有人会拒绝高效率和低成本,而 Serverless 则在开发成本、团队协作、高扩展性、计算资源等层面拥有众多优势,是实现高效与低成本的最佳方式之一。 这也是当下众多企业选择 Serverless 的原因所在,因此作为当前时代下的开发者,了解 Serverless 背景、学习 Serverless 实践就显得尤为重要。而现在就有这样一个机会, 6 月 19 日(周五)全天,全球最负盛名的 Serverless 大会 —— ServerlessDays 将首次进入中国 。 为什么推荐你参加此次大会 如果你是 Serverless 爱好者,如果你是互联网前沿技术的观察者,如果你在工作中需要用到 Serverless,如果你想要先人一步掌握关于

阿里云首届云原生编程挑战赛落幕:如何从1万多支团队中脱颖而出

纵然是瞬间 提交于 2020-10-08 04:26:00
      大数据文摘出品   9月14日,阿里云首届云原生编程挑战赛决赛答辩完美落幕,10支进入决赛的团队用精彩的答辩,为历时4个月的大赛画下了圆满的句号。其中, greydog 团队以出色的方案、创新的优化思路、过硬的技术实力斩获冠军。   大赛专家评审团认为,greydog团队的方案思路清晰,提出的7个技术优化点具有可落地性,在冷启动处理、OOM处理和大压力请求及超多函数场景下的解决思路具有很高的借鉴意义,能深入到赛题核心,勇于创新,提出的方案具有较高的技术价值和应用价值。      阿里云研究员叔同为greydog颁奖   ONE PIECE团队、睡衣小英雄团队并列亚军,四字成语团队、afkbrb团队、穿山甲团队获得季军。另外四支团队:井底虾蟆笔尖蛙Errr、hello,靓仔、亚洲王子王云轩、hehehlin获得优秀奖。         阿里云研究员、本次云原生编程挑战赛的决赛评委之一的叔同,在决赛答辩结束后,跟在场的选手们分享了他对于云原生的理解。   “过去我们常以虚拟化作为云平台和与客户交互的界面,为企业带来灵活性的同时也带来一定的管理复杂度;容器的出现,在虚拟化的基础上向上封装了一层,逐步成为云平台和与客户交互的新界面之一,应用的构建、分发和交付得以在这个层面上实现标准化,大幅降低了企业 IT 实施和运维成本,提升了业务创新的效率。”   从技术发展的维度看

轻松处理高于平常10倍的视频需求,还能节省60%的IT成本,蓝墨做对了什么?

五迷三道 提交于 2020-10-08 02:25:29
近年来,Serverless 一直在高速发展,并呈现出越来越大的影响力。主流的云服务商也在不断地丰富云产品体系,提供更好的开发工具,更高效的应用交付流水线,更好的可观测性,更细腻的产品间集成,但一切才刚刚开始。 国内一些大公司已经有了一些成熟的Serverless应用案例,一些创业公司也开始加入Serverless阵营,如果说Serverless到底解决了什么问题,核心就是节约成本、节省精力。 蓝墨是一家由美国留学生回国创业的高科技公司,专注于移动互联时代数字出版和移动学习领域的新技术研究及平台运营,依托自主研发的蓝墨移动交互式数字教材核心技术体系,为出版社、学校和教师提供移动交互式数字教材、校园移动学习平台及教师自助数字出版等解决方案。 自2012年成立以来,蓝墨的业务就一直保持着高速增长,其技术团队也在逐步发展壮大。从创业开始,蓝墨的技术团队对于一些开放的新技术抱有极大的热情,并愿意应用快速迭代的互联网新技术,来确保其业务系统稳定运行。在疫情期间,在线教育迎来需求爆发,蓝墨加大了整合业界优质课程资源的力度,不断拓展自身的业务边界,在赢得机遇的同时,技术团队也面临了前所未有的挑战。 视频处理相关业务是蓝墨技术团队遇到的最棘手的问题之一。蓝墨每天都要处理大量视频教材资源,涉及到视频剪辑、切分、组合、转码、分辨率调整、客户端适配等一系列复杂的技术工作。在前几年的技术实践中

万物皆可 Serverless 之使用云函数 Timer 触发器实现每天自动定时打卡

夙愿已清 提交于 2020-10-06 02:23:29
不晓得大家有没有遇到过定时打卡的需求,比如商品秒杀,火车票定时开售、每日健康打卡等。这时候我们往往可以通过一些技术手段,编写一些自动化操作的脚本,来实现定时自动打卡的操作。 本文来自 Serverless 社区用户「乂乂又又」供稿 当然本文并不探讨如何编写自动化的操作脚本,而是和大家介绍一下如何使用腾讯云函数的 Timer 触发器实现定时任务,来快速、稳定、低成本地实现一些 fancy 的操作( 骚操作 ) 效果展示 每日健康信息自动更新 每日定时数据报告 可以看到,定时任务搭配邮箱发送云函数运行结果,用起来还是蛮舒服的,还可以给自己做一个每日科技资讯推送、数据报告之类的小玩意,自娱自乐。其他的用途请大家大开脑洞,自行脑补吧~ 实战教程 1. 新建云函数 运行环境我们选择 python3,模板函数选择定时拨测,然后点击下一步 模板函数的描述里写着「本示例代码的功能是定时拨测 URL 列表中的地址,并通过邮件发送告警」 而这正是我们想要的实现的功能,不过这个模板函数的邮件发送有点问题,我们稍后会详细说明 2. 模板函数分析 下面我们来分析一下这段示例代码 # -*- coding: utf8 -*- import sys import os sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)) + "/..")

备战解决方案架构师考试,你需要哪些知识和技能?

一笑奈何 提交于 2020-10-05 17:56:59
想要成为一名解决方案架构师,你要过的第一关就是通过相关的考试以获得专业认证,这能证明你已经掌握了一些知识,并且能够设计复杂的系统。 成为解决方案架构师并不是一件容易的事情,首先你需要成为一名优秀的工程师。这意味着你已经非常了解算法,并且知道如何有效地应用它们,优秀的开发人员还得具有设计复杂体系结构系统的经验。 目前最受欢迎的认证是AWS解决方案架构师、Azure解决方案架构师和谷歌云平台架构师。我将指导你完成准备AWS解决方案架构师考试的必要基础知识,这些基础知识也适用于其他认证考试。 计算能力 这是所有云系统的基本支柱,无论云系统背后是真实的实体服务器还是虚拟的环境。对我们来说,重要的是一个专门运行应用程序的地方,以及能够恰当地处理工作量的能力。因此,理解配置不同类型的计算系统的概念至关重要。 如果应用程序消耗大量计算资源,那么系统应具有足够的中央处理器(CPU)和随机存取存储器(RAM);如果应用程序执行许多I/O操作,那么系统需要集中精力进行配置。 图源:unsplash 了解应用程序的必要性有助于定义系统需求。例如,在亚马逊上,弹性云计算(EC2)是一项可以提供计算能力的服务,它具有各种类型的实例来满足不同的需求,做出正确的选择还可以节约成本。 自动伸缩组(ASG)是AWS中的服务。一旦用户基础增加,可伸缩性问题可能就会出现,这就是自动伸缩的概念。如果没有足够的资源

【阿里云】数据湖分析DLA 招聘-平台研发技术专家

自闭症网瘾萝莉.ら 提交于 2020-10-05 06:59:42
数据湖分析Data Lake Analytics是阿里云数据库自研的云原生数据湖分析系统,目前已有数千企业在使用,是阿里云 库、仓、湖战略高地之一 !!! 现紧急 招聘 【 数据湖平台工程师】 产品链接:https://www.aliyun.com/product/datalakeanalytics !!! 如果想及时了解Spark、Hadoop或者Hbase相关的文章,欢迎关注微信公共帐号: iteblog_hadoop 团队内部拥有多位Apache PMC&Committer,在国内外拥有良好的影响力,加入后您将与国内最顶尖的大数据、数据库领域专家一起工作,打造世界一流的数据湖分析服务能力!!! 业界趋势 :数据湖是比大数据关注更多的词汇,未来5年数据湖同比以50%在高速发展。在全球多家云厂商,阿里云 数据湖分析 Data Lake Analytics 处于领先地位 !!! 岗位职责 负责产品云化,打造Serverless弹性多租户平台能力 负责平台的资源调度、高并发连接、多租户管理、安全、计量、被集成 等研发 负责商业化输出研发,包括公有云、集团、专有云、混合云等多种形态 生产问题的定位解决,系统性能的调优改进,业务需求的分析落地。 工作地可以open to 杭州, 深圳,北京 职位要求 熟悉JAVA,较好的架构意识、性能意识、清晰的代码能力 有平台相关经验

Serverless 的 AI 写诗,程序员浪漫起来谁能顶得住啊!

北城余情 提交于 2020-10-05 05:52:56
古诗词是中国文化殿堂的瑰宝,记得曾经在韩国做 Exchange Student 的时候,看到他们学习我们的古诗词,有中文的还有翻译版的,自己发自内心的骄傲,甚至也会在某些时候背起一些耳熟能详的诗词。 本文将会通过深度学习为我们生成一些古诗词,并将模型部署到 Serverless 架构上,实现基于 Serverless 的古诗词生成 API。 项目构建 古诗词生成实际上是文本生成,或者说是生成式文本。关于基于深度学习的文本生成,最入门级的读物包括 Andrej Karpathy 的博客。他使用例子生动讲解了 Char-RNN (Character based Recurrent Neural Network) 如何用于从文本数据集里学习,然后自动生成像模像样的文本。 上图直观展示了 Char-RNN 的原理。以要让模型学习写出「hello」为例,Char-RNN 的输入输出层都是以字符为单位。输入「h」,应该输出「e」;输入「e」,则应该输出后续的「l」。 输入层我们可以用只有一个元素为1的向量来编码不同的字符,例如,「h」被编码为「1000」、「e」被编码为「0100」,而「l」被编码为「0010」。使用 RNN 的学习目标是,可以让生成的下一个字符尽量与训练样本里的目标输出一致。在图一的例子中,根据前两个字符产生的状态和第三个输入「l」预测出的下一个字符的向量为 <0.1, 0

分布式系统架构与云原生—阿里云《云原生架构白皮书》导读

旧巷老猫 提交于 2020-10-03 13:48:46
简介: 有幸作为阿里云MVP提前获得了阿里云云原生团队编写的《云原生架构白皮书》,希望通过自己对于云原生的理解为开发者提供一篇观后感或者是能够参考的博文 1 云原生与分布式系统架构的关系 1.1 云原生架构的定义 《云原生架构白皮书》中对于云原生架构的定义为“基于云原生技术的一组架构原则和设计模式的集合,旨在将云应用中的非业务代码部分进行最大化的剥离,从而让云设施接管应用中原有的大量非功能特性(如弹性、韧性、安全、可观测性、灰度等),使业务不再有非功能性业务中断困扰的同时,具备轻量、敏捷、高度自动化的特点。” 1.2 分布式系统架构的定义 此处定义参考百度百科为“在一个分布式系统中,一组独立的计算机展现给用户的是一个统一的整体,就好像是一个系统似的。系统拥有多种通用的物理和逻辑资源,可以动态的分配任务,分散的物理和逻辑资源通过计算机网络实现信息交换。系统中存在一个以全局的方式管理计算机资源的分布式操作系统。通常,对用户来说,分布式系统只有一个模型或范型。在操作系统之上有一层软件中间件负责实现这个模型。” 1.3 云原生与分布式系统架构的关系 分布式架构的重点在于解决计算力的保障问题以及为了提高计算力并同时确保系统的可靠性、可用性和安全性而产生的诸如弹性伸缩、负载均衡、分布式存储等问题,其目标是在于构建一个分布式的安全可靠的计算力基础平台。通常来说