Serverless

持续定义 SaaS 模式云数据仓库 + Serverless

拥有回忆 提交于 2020-10-27 18:24:32
一、Serverless简介 下图是MaxCompute的Serverless架构,主要包括数据接入服务、多计算环境、储存服务和管理几个模块。 其中各个模块的主要特点如下: (1)Serverless的数据接入服务 提供Tunnel批量、流式导入,转换为MC列存格式、自动伸缩等功能,且免费; 可以免费使用LOAD/UNLOAD命令进行OSS导入/导出。 (2)Serverless的多计算环境 Severless计算资源池,大规模计算资源池,On-demand按需提供,按作业付费; 独占计算资源:支持包年包月付费、Workload管理(负载隔离、优先级、分时伸缩等); 运行环境(runtime)支持ETL/OLAP/ML等大数据分析使用场景。 (3)Serverless的存储服务 与计算无关,独立伸缩,提供GB-EB级别的存储服务; 按实际存储大小付费,降低成本; 无需指定,默认面向分析优化(列压、压缩); 支持区分/分桶/Zorder等优化手段。 (4)Serverless的管理 开箱即用,内建了完整的管理能力,以API/sdk/web-console管理; 平台则无需用户运维,降低成本。 上面是对Serverless架构的一个简述,本文的重点是如何利用MaxCompute的Serverless计算资源来满足数据仓库的需求。

云端研发新基建:Serverless 与持续架构服务落地实践

早过忘川 提交于 2020-10-27 00:53:57
在《 我心中的云时代原生开发环境 》这篇文章中,我们探讨过云厂商的愿景,云计算的趋势与现状以及研发团队的架构服务诉求等背景。今天,我想结合我们打造的云开发平台(Cloud Workbench)跟大家进一步聊聊,如何打造全云端研发的新基建,去服务好研发团队和用户。 云时代创新核心要素 首先,让我们快速将视野放大到社会商业爆炸式增长的云时代,无论是创业公司还是发展中的公司,都希望能有一个低成本、可持续支撑的架构服务,帮助自己的业务持续发展,用户流量从小到大,无需变更架构,更不用中断业务。 这种架构服务诉求背后的核心痛点体现在业务快速试错与流量快速增长之间的矛盾。如果从传统的架构方式去思考,这个问题很难调和:如果要快速奔跑,就没有时间好好思考设计架构;如果架构设计不好,就无法支撑未来巨大的流量;而如果花时间把架构设计好再动手,就没办法快速奔跑,很可能错过一个商业创新的时间窗口。另外,还有一个未知的疑问,这个设计好的架构真的够好么? 结合我们之前的探索实践,我们知道,借助云原生 Serverless 的能力:实时弹性、按量付费,正好可以帮助我们把上述问题提升到一个新的维度去解决:业务完全可以放飞自我快速奔跑,架构服务由云原生Serverless矩阵来提供,保证流量再大也不怕。 中小研发生态现状 基于上述的一个判断,我们认为,现代商业社会的启动过程:从一个 idea 的诞生,到快速试错

腾讯云云函数 SCF Node.js Runtime 最佳实践

荒凉一梦 提交于 2020-10-25 17:02:02
腾讯云云函数 SCF 最近新发布了 Node.js 12.16 的 runtime,也是国内首家支持 Node.js 12.x 的主流云服务商。 Node.js 版本的升级带来了新的特性以及性能方面的提升,有兴趣的同学可以参考国外一博主总结的文章 《Node.js 12: The future of server-side JavaScript》 了解具体内容。 其中比较重要的一点是启动速度提升,通过 v8 code cache 的支持,构建时提前为内置库生成代码缓存,提升 30% 的启动耗时。 腾讯云云函数 SCF 为了让 Serverless 更加符合 Node.js 原生的使用体验,针对 Node.js runtime 做了针对性的优化。 借这个机会,我想和大家分享一下如何使用腾讯云云函数来开发 Node.js 应用以及 scf 的 Node.js runtime 实现的原理。 入口函数的参数 首先我们看一下最基本的 Node.js 入口函数: exports.main_handler = (event, context, callback) => { console.log("Hello World"); console.log(event); console.log(context); callback(null, event); }; runtime

Kubernetes 新玩法:在 yaml 中编程

帅比萌擦擦* 提交于 2020-10-24 18:43:21
作者 | 悟鹏 引子 性能测试在日常的开发工作中是常规需求,用来摸底服务的性能。 那么如何做性能测试?要么是通过编码的方式完成,写一堆脚本,用完即弃;要么是基于平台,在平台定义的流程中进行。对于后者,通常由于目标场景的复杂性,如部署特定的 workload、观测特定的性能项、网络访问问题等,往往导致性能测试平台要以高成本才能满足不断变化的开发场景的需求。 在云原生的背景下,是否可以更好解决这种问题? 先看两个 yaml 文件: performance-test.yaml 描述了在 K8s 中的操作流程: 创建测试用的 Namespace 启动针对 Deployment 创建效率和创建成功率的监控 下述动作重复 N 次:① 使用 workload 模板创建 Deployment;② 等待 Deployment 变为 Ready 删除测试用的 Namespace basic-1-pod-deployment.yaml 描述使用的 workload 模板 performance-test.yaml : apiVersion: aliyun.com/v1alpha1 kind: Beidou metadata: name: performance namespace: beidou spec: steps: - name: "Create Namespace If Not Exits"

使用.NET Core创建Windows服务(一)

跟風遠走 提交于 2020-10-24 16:40:46
原文:Creating Windows Services In .NET Core – Part 1 – The “Microsoft” Way 作者:Dotnet Core Tutorials 译者:Lamond Lu 译文:使用.NET Core创建Windows服务(一) - 使用官方推荐方式 创建Windows服务来运行批处理任务或者运行后台任务,是一种非常常见的模式,但是由于云服务(Amazon Lambda, Azure WebJobs以及Azure Functions)的激增,你可能不会经常使用Windows服务了。个人而言,我非常喜欢使用Azure WebJobs, 因为我可以直接编写一个控制台程序,而不需要考虑如何云中运行它,一个批处理文件可以将其装换成一个自动化任务,并且可以保证7*24小时的运行。 但是也许你还没有使用云服务,或者你有一堆要作为Windows服务运行的旧版应用程序需要转换为.NET Core, 但是不能完全将他们转换为“无服务器”(serverless)应用。 那么这边文章就是适合你的。 在许多方面,.NET Core中的Windows服务和.NET Framework中的Windows服务完全相同。但是,在编写服务的时候,你可能会遇到一些小问题。此外,本文中,我们仅介绍“Microsoft”方式的Windows服务创建,在后续

SAE 的极致应用部署效率

人走茶凉 提交于 2020-10-24 13:54:40
简介: SAE 在应用创建、部署、重启过程中的效率优化。 作者 | 文俊 阿里巴巴云原生团队 本文整理自 《Serverless 技术公开课》 作为 Serverless 平台,SAE 提供了应用全托管的服务,充分利用了云原生的技术红利,以容器作为应用载体,提供了敏捷的部署、编排、弹性等能力。SAE 屏蔽了底层的基础设施,对于用户来说,感知到的最底层资源是应用实例本身,应用创建、部署等操作是用户交互的主要接口。 接下来将介绍我们在应用创建、部署、重启等过程所做的效率优化工作。 应用创建 首先是应用创建。目前,用户界面可通过镜像或 war、jar 安装包的方式部署应用,最后在平台侧,以统一打包成容器镜像的方式进行分发,然后平台去申请计算、存储、网络等 IAAS 资源,再开始创建容器执行环境和应用实例。 在这个过程中,涉及到调度、云资源创建和挂载、镜像拉取、容器环境创建、应用进程创建等步骤,应用的创建效率与这些过程紧密相关。 我们很自然而然地能想到,这其中部分过程是否能并行,以减少整个创建的耗时呢?经过对每个过程的耗时分析,我们发现其中的一些瓶颈点,并且部分执行步骤之间是解耦独立的,比如云弹性网卡的创建挂载和应用镜像拉取,就是相互独立的过程。 基于此,我们将其中独立的过程做了并行化处理,在不影响创建链路的同时,降低了应用创建的时耗。 应用部署 应用的部署,即应用升级。我们知道

手把手带你利用云函数 SCF 轻松实现一个热点资讯小程序

倖福魔咒の 提交于 2020-10-24 08:50:39
第一步,环境配置 打开微信 小程序开发 IDE,创建一个小程序项目,AppID 需要自己去小程序官网注册一个,然后后端服务注意选择 小程序-云开发 。 注意,以前的老版本 IDE,在蓝色框那里会有一个 腾讯云 的选项。实际上都是使用的腾讯云服务,统一选择小程序-云开发就好。 点击 新建 ,会出现这样一个界面: 可以看到,微信开发者工具的脚手架已经为我们创建好了一些模板代码,今天,猪脚就是我们的 cloudfunctions 部分,即如何利用 腾讯云 为我们即将写的新闻小程序提供数据服务。 在开发之前,我们发现控制台报了一个错误,提示我们没有开通云服务。我们发现微信开发者工具的顶部工具栏中,云开发那个按钮是灰色的,点击进去,提示我们开通,表示我们没有开通云开发服务,点击它,新建一个。 配置完毕之后,你可能会关系费用问题,不用担心,默认的配置是完全免费的,如果你用户量不太大,基本上够你的日常需求了,对个人开发者来说,相当的友好。 第二步:云函数开发及部署 云服务开通完毕,接下来可以部署下脚手架为我们提供的云函数,可以看到 cloudfunctions 文件夹提示未选择环境,我们右键点击,选择我们刚才开通的那个云开发环境。然后展开目录,对准 login 这个目录,右键,选择 然后,关闭 IDE,重启 IDE,在点击第一个按钮,获取 openid,此时可以看到获取 openid 是成功的了

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

纵饮孤独 提交于 2020-10-24 00:41:47
验证码识别是搞爬虫实现自动化脚本避不开的一个问题。通常验证码识别程序要么部署在本地,要么部署在服务器端。如果部署在服务器端就需要自己去搭建配置网络环境并编写调用接口,这是一个极其繁琐耗时的过程。 本文来自 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,