Serverless

云函数 SCF 与对象存储实现 WordCount 算法

妖精的绣舞 提交于 2020-08-18 13:13:17
本文将尝试通过 MapReduce 模型实现一个简单的 WordCount 算法,区别于传统使用 Hadoop 等大数据框架,本文使用云函数 SCF 与对象存储 COS 来实现。 MapReduce 在维基百科中的解释如下: MapReduce 是 Google 提出的一个软件架构,用于大规模数据集(大于 1TB)的并行运算。概念「Map(映射)」和「Reduce(归纳)」,及他们的主要思想,都是从函数式编程语言借来的,还有从矢量编程语言借来的特性。 通过这段描述,我们知道,MapReduce 是面向大数据并行处理的计算模型、框架和平台,在传统学习中,通常会在 Hadoop 等分布式框架下进行 MapReduce 相关工作,随着云计算的逐渐发展,各个云厂商也都先后推出了在线的 MapReduce 业务。 理论基础 在开始之前,我们根据 MapReduce 的要求,先绘制一个简单的流程图: 在这个结构中,我们需要 2 个云函数分别作 Mapper 和 Reducer;以及 3 个对象存储的存储桶,分别作为输入的存储桶、中间临时缓存存储桶和结果存储桶。在实例前,由于我们的函数即将部署在广州区,因此在广州区建立 3 个存储桶: 对象存储1 ap-guangzhou srcmr 对象存储2 ap-guangzhou middlestagebucket 对象存储3 ap-guangzhou

我在阿里写代码学会的六件事

邮差的信 提交于 2020-08-18 07:30:28
写了多年的代码,始终觉得如何写出干净优雅的代码并不是一件容易的事情。按 10000 小时刻意训练的定理,假设每天 8 小时,一个月 20 天,一年 12 个月,大概也需要 5 年左右的时间成为大师。其实我们每天的工作中真正用于写代码的时间不可能有 8 个小时,并且很多时候是在完成任务,在业务压力很大的时候,可能想要达到的目标是如何尽快的使得功能 work 起来,代码是否干净优雅非常可能没有能放在第一优先级上,而是怎么快怎么来。 在这样的情况下是非常容易欠下技术债的,时间长了,这样的代码基本上无法维护,只能推倒重来,这个成本是非常高的。欠债要还,只是迟早的问题,并且等到要还的时候还要赔上额外的不菲的利息。还债的有可能是自己,也有可能是后来的继任者,但都是团队在还债。所以从团队的角度来看,写好代码是一件非常有必要的事情。如何写出干净优雅的代码是个很困难的课题,我没有找到万能的 solution,更多的是一些 trade off,可以稍微讨论一下。 代码是写给人看的还是写给机器看的? 在大部分的情况下我会认为代码是写给人看的。虽然代码最后的执行者是机器,但是实际上代码更多的时候是给人看的。我们来看看一段代码的生命周期:开发 --> 单元测试 --> Code Review --> 功能测试 --> 性能测试 --> 上线 --> 运维、Bug 修复 --> 测试上线 --> 退休下线

10 款国外实用、有趣的 GitHub 简介 README

你离开我真会死。 提交于 2020-08-18 05:51:41
作者 | Lee Reilly 翻译 | HelloGitHub-小鱼干 校对 | HelloGitHub-丫丫 来源 | HelloGitHub(ID: GitHub520) 我的好友兼同事 @bdougieyo[1] 今天在逛 Codeland[2] (一个由程序员和设计师构成的国外技术社区)时,给三个写 GitHub 简介 README(我们上周刚发布的新功能)的幸运儿开放了 Codespaces[3] (GitHub 官方的云 IDE)的早期访问权。 如果你正在为定制 GitHub 简介 README 寻找灵感或者素材,这里有一些过去几周让我大吃一惊的 README 例子。无论是纯粹的装扮和展示信息,或是令人惊叹的有趣艺术品,这些例子中都有。 Hello, world! 机智如 @M0nica[4] ,用简短的个人介绍、鲜艳的封面图及同她个人有关的 GitHub 外链就做了人群中最靓的“仔”。 花絮 : @M0nica[5] 刚发布了如何创建 GitHub 简介 README 的博文[6],如果你要添加 GitHub 简介 README 这是一个不错的参考文。 秀下 GitHub 数值 之前在别的地方我可能聊过这个事情,如果你要用 GitHub 作为你的简历或者是作品 集,那么 @anuraghazra[7] 做的这个精致小玩意可以很好地帮你展示 GitHub 统计信息

腾讯云 Serverless 保障《创造营》硬糖少女 C 位出道

巧了我就是萌 提交于 2020-08-18 05:37:33
15 位青春洋溢的女团候选成员,百万次全网观众投票,节目播出后迅速霸占热搜前十位..... 在这激动人心的决赛之夜,Tencent Serverless 团队下的云 API 网关产品作为幕后英雄,利用其高并发、高可用的技术特性,支撑了节目投票环节顺利开展,面对全网粉丝狂热打 call 投票,顺利保障小姐姐们 C 位出道! 不一般的投票 【投票】是一个很简单的功能,但是《创造营》的投票不一样。 《创造营》是直播节目,投票时间非常短。海量全网粉丝将在同一时间瞬时涌入,瞬间的大流量和高并发,对系统的高可用性提出了极高的要求。 《创造营》投票,将产生本届总冠军,是《创造营》决胜之夜的制胜环节,激动人心的时刻。投票系统的任何差池,都会对粉丝心理和节目效果造成重创。 在投票的关键时刻,为了保证女团小姐姐顺利出道,技术小哥哥采用了什么样的技术设计,保证了这种特殊场景下的投票功能高可用呢? Serverless Serverless 是一种云计算技术的新趋势,一方面它使开发者在构建和运行应用时无需管理服务器等基础设施,将构建应用的成本进一步降低,实现快速迭代、极速部署;同时,Serverless尤其适用于高并发场景,无需预估流量大小,而会根据流量情况自动的进行扩缩容,整个过程无需人工干预;值得一提的是,Serverless 还是按用量付费的模式,避免了无用的资源开销,大大降低了成本。

Serverless 的初心、现状和未来

巧了我就是萌 提交于 2020-08-18 05:13:38
作者 | 不瞋 阿里云高级技术专家 导读: Serverless 是如何产生的?当前有哪些落地场景?Serverless 的未来又将如何?本文分享了阿里云高级技术专家不瞋对于 Serverless 的看法,回顾其发展历程,并对 Serverless 的发展趋势做出预测。 源起 回望整个计算机技术发展史,我们会发现 “抽象、解耦、集成” 的主题贯穿其中。产业每一次的抽象、解耦、集成,都将创新推向新的高度,也催生出庞大的市场和新的商业模式。 大型机时代,硬件和软件都是定制化的,使用专有的硬件、操作系统和应用软件。 PC 时代,硬件被抽象解耦成 CPU、内存、硬盘、主板、USB 设备等标准化的部件,不同厂商生产的部件可以自由组合,组装成整机。软件被抽象解耦为操作系统、库等可复用组件。硬件和软件的抽象解耦,创造了新的商业模式,释放了生产力,造就了 来源: oschina 链接: https://my.oschina.net/u/4309507/blog/4321688

万物皆可 Serverless 之使用云函数 SCF 快速部署验证码识别接口

試著忘記壹切 提交于 2020-08-18 04:55:15
验证码识别是搞爬虫实现自动化脚本避不开的一个问题。通常验证码识别程序要么部署在本地,要么部署在服务器端。如果部署在服务器端就需要自己去搭建配置网络环境并编写调用接口,这是一个极其繁琐耗时的过程。 本文来自 Serverless 社区用户「乂乂又又」供稿 但是现在我们通过腾讯云云函数 SCF,就可以快速将本地的验证码识别程序发布上线,极大地提高了开发效率。 效果展示 可以看到,识别效果还是蛮好的,甚至超过了肉眼识别率。 操作步骤 传统的验证码识别流程是 图像预处理(灰化,去噪,切割,二值化,去干扰线等) 验证码字符特征提取(SVM,CNN 等) 验证码识别 下面我就带大家一起来创建、编写并发布上线一个验证识别云函数 第一步:新建 python 云函数 参见系列文章 《万物皆可Serverless之使用 SCF+COS 快速开发全栈应用》 第二步:编写验证识别云函数 Life is short, show me the code. 这里我就以一个最简单的验证码识别程序为例,直接上代码 import io import os import time from PIL import Image as image import json #字符特征 chars = { '1': [1, 1, 1, 0, 1, ...], '2': [1, 0, 0, 1, 0, ...], '3': [0,

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

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

Knative 系列文章目录

徘徊边缘 提交于 2020-08-17 20:14:24
初识 Knative: 跨平台的 Serverless 编排框架 快速入门 初识 Knative 在阿里云上一键安装 Knative 手动安装 Knative Serving Hello World Eventing Hello World Tekton Hello World Serving 进阶 自动扩缩容 - Autoscaler Serving 健康检查机制分析 流量灰度和版本管理 服务路由管理 WebSocket 和 gRPC 服务 Serving Client 介绍 Eventing 进阶 定义无处不在的事件 - CloudEvent 关于 Broker/Trigger 事件模型 事件注册机制 - Registry Parallel 解析 Sequeue 解析 云原生实践 日志和监控告警 调用链管理 使用 GitHub 事件源 基于 Kafka 实现消息推送 基于 MN 来源: oschina 链接: https://my.oschina.net/u/4410144/blog/4275406

五分钟快速搭建 Serverless 免费邮件服务

大憨熊 提交于 2020-08-17 19:25:09
1. 引言 本文将带你快速基于 Azure Function 和 SendGrid 构建一个免费的Serverless(无服务器)的邮件发送服务,让你感受下Serverless的强大之处。 该服务可以 每月免费发送2,5000封 ,这是完全白嫖啊,感兴趣的,赶紧动起你的小手爪,噼里啪啦搞起来呀。 2. 创建 SendGrid 账号 你要有一个Azure账号,没有的话,花几分钟自行注册一个就好。(我的账号注册在香港区域) 咱们先来创建一个 SendGrid Accounts ,如下图所示。点击SendGrid Accounts后,再点击创建SendGrid account。 填写完毕后,点击Review+Create,稍等片刻,提示部署成功,那么恭喜你,可以接着往下玩耍了。如果部署失败,可能会因为SendGrid屏蔽了某些区域的账号创建,就只能重新注册个Azure账号玩耍了。 紧接着,前往刚刚创建的SendGrid Account,点击Manage会跳转至SendGrid管理面板。 打开后,会要求你进去邮件验证,自行前往邮箱验证即可。 点击API Keys,然后点击Create API Key,填写API Key Name,选择 Full Access,点击Create&View,记下生成的API Key,后面需要用到。 3. 创建第一个函数应用 回到Azure控制台,然后搜索

语雀的技术架构演进之路

拥有回忆 提交于 2020-08-17 17:59:41
作者 | 不四 来源 | 阿里巴巴中间件(ID:Aliware_2018) 每个技术人心中或多或少都有一个「产品梦」, 好的技术需要搭配好的产品 ,才能让用户爱不释手,尤其是做一款知识服务型产品。 本文从技术架构的视角,回顾了语雀的原型、内部服务和对外商业化的全过程,并对函数计算在语雀架构演进过程中所扮演的角色做了详细的介绍。 语雀是一个专业的云端知识库,用于团队的文档协作。现在已是阿里员工进行文档编写和知识沉淀的标配,并于 2018 年开始对外提供服务。 原型阶段 | 回到故事的开始。 2016 年,语雀孵化自蚂蚁科技,当时,蚂蚁金融云需要一个工具来承载它的文档,负责的技术同学利用业余时间,搭建了这个文档工具。项目的初期,没有任何人员和资源支持,同时也是为了快速验证原型,技术选型上选择了最低成本的方案。 底层服务完全基于体验技术部内部提供的 BaaS 服务和容器托管平台: Object 服务:一个类 MongoDB 的数据存储服务; File 服务:阿里云 OSS 的基础上封装的一个文件存储服务; DockerLab:一个容器托管平台; 这些服务和平台都是基于 Node.js 实现的,专门给内部创新型应用使用,也正是由于有这些降低创新成本的内部服务,才给工程师们提供了更好的创新环境。 语雀的应用层服务端,自然而然的选用了蚂蚁体验技术部开源的 Node.js Web 框架 Egg