开发系列课程 | 云开发平台,轻量化运维监控-阿里云开发者社区

开发者社区> 游客e3z6zif73awni> 正文

开发系列课程 | 云开发平台,轻量化运维监控

简介: 云开发系列课程主要介绍了从入门到精通快速上手Serverless和云开发技术。学习内容涵盖云开发协同、云函数、云数据库、多媒体托管、前后端一体化框架等Serverless Web开发必备知识。希望通过云开发系列课程的学习与实际操作,让大家深入了解Serverless和云开发技术,并加深对阿里云云开发平台和阿里云Serverless产品的理解与认识。
+关注继续查看

本篇已经是云开发平台的第九篇内容分享,从第一篇到第九篇,大家可以发现,这是从云原生应用诞生、应用创建、开发代码、迁移部署和部署后的运维监控,一整套操作。本篇内容主要分享轻量化运维监控这部分。

 

如何绑定域名、设置泛域名并设置多环境绑定

首先先创建一个香港节点的应用开始,因为后面会涉及到域名的解析。

image001.jpg

 

应用创建后,首先要确保进入到在线的开发环境,然后去部署。部署后复制CNAME域名,然后打开域名管理平台,比如说阿里云的 DNS域名管理,然后添加记录选择记录类型CNAME,主机记录里填写*+自取名称,后缀是主域名workbench.fun。这就意味着,只需要做一次解析,未来*可以用任何域名替代。

 

创建之后,把上述复制的CNAME域名,黏贴到记录值框中,然后点击确认。记录值就把它填写我们这边复制过来的CNAME地址,第一次部署之后得到的CNAME地址复制下来,然后把它填写到记录值里边,填写之后点确认。

image002.jpg

 

确认后再回到云开发平台,点击应用配置并去绑定域名。上文中已经绑定的域名是*company. Workbech.fun, *作为通配符可以用任何内容替换,比如在日常环境下,将*换成test, 那么域名就变成了test.company.workbench.fun;预发环境一般用pre替代*;线上环境不是泛域名,所以这里还需要再解析,这里我们用production的缩写prod来替换*,就成了prod.company.workbench.fun。配置完成后点击确定保存。

 

这样操作下来,我们就可以通过一次域名解析,对一个应用的三个环境同时配置

线上真实域名,这些配置的域名不会变化,每次都可以通过它们去访问。

 

保存后再去云开发平台部署,比如部署日常环境。前提是安装了依赖,部署保存后可以先测试一下。当测试后页面显示日常环境,就可以部署到日常环境,点击继续部署,就可以等它构建、打包、部署直到完成。

image003.jpg

 

部署成功后,在部署成功的消息里可以看到“TEST环境的自定义域名test.company.workbench.fun已经绑定到API网关二级域名上,可以用自定义域名访问了”。

 

打开test的自定义域名,而不是平台分配的临时二级域名,因为临时的二级域名只有30分钟时效,所以在真实的开发环境当中,一般大家都需要绑定一个固定的域名。

 

接下来部署预发环境,理论上讲当日常环境没有问题就可以选择部署预发环境。还是回到云开发平台,选择预发环境,然后勾选“将日常环境发布到预发环境”,然后部署。

 

预发环境部署好了,点开pre.company.workbench.fun的域名,打开预发环境。这样日常和预发两套环境就固定下来了,都没有问题的话,接下来就可以把它部署到线上环境。

 

部署到线上环境的方法也是一样的。线上环境部署成功后,打开自定义域名,与前两个环境是一样的。所以,当我们日常需要一个环境做联合测试,大家可以用日常环境;用预发环境做回归测试;前两者都没问题,再发布到线上环境。

 

如何检查故障并解决故障

 

如何检查线上的故障。在刚刚部署的日常应用页面,可以看到标题是RDS/OTS数据库读取示例,下侧小字提示“以下内容读取自云开发平台todo示例数据库(RDS)”,但是下面的页面并没有loading出具体内容。那么我们可以通过点击右键并点击检查,看看具体问题。

 

发现有错误报警后,我们再次回到云开发平台。在云开发平台可以看到当应用上线后,就会出现“运维监控”和“应用账单”两个入口。运维监控是可以帮助快速查看应用线上运行的日志。那么为了解决上述的问题,我们点开运维监控查看运行日志。

 

打开运维监控后,顶部会让我们选择要查看的运维监控环境。我们点开日常环境,这里面有日志查询和函数指标。点击函数指标会切换到函数指标的一个界面,可以看到日常环境函数的调用情况,比如说内存使用情况,执行的时间,出错的情况,然后包括错误率等等这些信息。

 

点开日志查询里有个简单查询,有个高级查询,一般情况下简单查询就足够我们去使用了。在日志查询里,点开每一个请求都可以看到请求背后的信息。这里我们可以点开每一个请求,看到请求背后的日志。

 

那么我们怎么能通过海量的请求日志信息,定位到具体的问题呢?举个例子,比如

 default要发起api/db_get的请求,它会引入db_conflict,也就是配置数据库的信息,然后再根据用户使用的数据库来切换不同的代码去执行不同的逻辑。

 

我们看一下 db_config.js,它会去读取不同的数据库配置。我们可以把这些数据库配置录入到我们的系统环境里面,比如说应用环境。我们先在日常环境把这个数据库连接信息这些环境变量添加进去。添加进去之后,再来日常环境测试一下,测试后再重新请求获取信息。这样就成功了。

 

所以大家如果要通过日志去定位问题,可以在你的代码里去输入日志的消息。具体方法,可以打开帮助文档中的快速入门,在运维监控部分里,有教大家怎么在应用里去写日志。大家可以通过这个文档来快速的去了解如何在应用里写日志,如何通过日志定位应用的线上的问题。

 

以上分享的是在开发调试阶段查看日志并定位问题。如果已经部署到线上了,怎么操作呢?部署成功后,可以登录原日常环境自定义域名,打开页面标题提示会由“日常环境“变成”线上环境“,说明部署成功。

 

接下来来看这个部署成功的应用,这个应用既有前端代码也有后端代码,那么这些代码用户在访问的时候就会产生一些流量,有些流量是可以缓存的。那么怎么去缓存获得更高的用户访问性能并降低下行流量呢,推荐的做法是通过给应用做CDN的全站加速来实现。CDN全站加速在帮助页面-快速入门中也有介绍的文档。

 

如何做到CDN的全站加速?

 

首先需要购买资源包。打开CDN控制台,点购买资源包,可以选择 18块钱全国通用包100GB,基本上正常情况下,个人应用都是够用的。购买之后,再到CDN控制台添加一个域名,比如泛域名*.company.workench.fun。

 

资源组不用选,业务类型是动态加速,源站信息选源站域名;然后将应用的CNAME二级域名地址复制到域名栏中;端口选择取决于用什么访问,如果用http访问选择80端口;再选择加速区域,然后点击下一步完成。

 

在实际使用中需要先将域名备案,这样可以在加速区域选择“仅中国内地”或“全球”,否则会有提示去备案。那么我们的课程分享的域名是测试域名,没有备案,所以选择“全球(不包含中国内地)”。

 

提交成功后返回域名列表,这里会出现一个CDN新分配的CNAME地址,这个新地址需要重新做一次解析。复制新的CNAME地址后再次返回DNS域名管理平台,点击添加记录。记录类型选择CNAME,主机记录填写之前的域名地址,在记录值框中,将复制的新的CNAME地址粘贴,然后点击确认完成。

 

用泛域名的好处是,每个环境都可以直接去使用CDN加速服务。

 

当“配置中”变为“正常运行”,表明配置成功。配置成功后,可以通过左侧目录中的资源用量、实时监控、统计分析等,查看配置成功域名具体日志信息。

 

在真正使用CDN的时候,可以通过页面左侧目录工具管理中的“刷新预热”,通过它可以提前把要缓存的地址,URL或目录,添加进来。这部分的操作在帮助文档中也有详细的介绍。

 

点击提交后,可以点击操作记录,可以看到它会帮助针对添加的地址进行刷新,达到提前去除缓存的效果。相当于我们主动的把缓存同步到各个CDN节点,然后用户来访问的时候就可以直接享受到CDN的加速效果。

 

这样做可以有两个好处,第一,用户访问应用性能更快;第二,应用的下行流量的费用会更低。

 

如何用https访问应用

这个在帮助文档中也有详细介绍。用https访问有两种路口,第一种情况是没有配置CDN加速的情况下,是需要到API网关操作的,但前提是需要有https的证书。帮助文档中也有介绍如何申请免费证书的方法。

 

接下来介绍下如何在API网关配置https证书。首先打开API网关的控制台,然后选择应用所在的区域,比如香港节点。然后点开刚刚测试的应用,下拉看到独立域名部分,右侧后面部分可以看到“选择证书”。

 

如果你是第一次操作,要点击手动添加证书,然后补充证书名称和内容。怎么补充这些内容在帮助文档中都有介绍。全部填写完整后,点击确定证书添加完成。完成后就可以用https访问域名了。

 

第二种情况,如果已经配置了CDN加速,如何绑定https如果配置了CDN加速,CNAME地址是需要改的。打开CDN域名控制台,点击左侧“域名管理”,点击对应域名右侧的“配置”,进入域名详情后点击左侧“https配置”。

 

然后点击“修改配置”,在弹出的配置界面开启“https安全加速”,开启后会弹出一个确认提醒,按照提示勾选“我已了解”,然后点击确认即可。


最后阿里云开发平台为了让用户更好的体验该平台特此准备了10元无门槛代金券:

https://workbench.aliyun.com/activities/coupon

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
开放开发平台小全
  不少同学正在为暑假投入开发实践做着准备,做移动应用,利用开放平台是个热点。凭着自已的一些感觉,也借助百度,列出了下面的清单。由于见识所限,姑且称为小全,欢迎读者留言补充。也凭着自己的感觉,大概进行了分类。在现在各大公司业务不断交叉的今天,这个分类也只是个大概。 平台  新浪云平台(SAE)http://sae.sina.com.cn/  Google App Engine h
1097 0
SQL Server自动化运维系列——监控跑批Job运行状态(Power Shell)
原文:SQL Server自动化运维系列——监控跑批Job运行状态(Power Shell) 需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等。如果发生异常,需要提前预警的,通知形式一般为发邮件告知。
1286 0
初识|阿里云Serverless云开发平台
云开发系列课程主要介绍了从入门到精通快速上手Serverless和云开发技术。学习内容涵盖云开发协同、云函数、云数据库、多媒体托管、前后端一体化框架等Serverless Web开发必备知识。希望通过云开发系列课程的学习与实际操作,让大家深入了解Serverless和云开发技术,并加深对阿里云云开发平台和阿里云Serverless产品的理解与认识。 本篇内容按阿里云云开发平台的结构,分别拆分讲解如何认识和使用Severless云开发平台。
233 0
MaxCompute作业日常监控与运维实践
MaxCompute作业日常监控与运维实践
752 0
云开发平台开箱,3分钟零基础搭建个人Hexo博客
Hexo是一款基于Node.js的博客框架,可以将Markdown格式的文本渲染为HTML代码。所以,博客基本就是纯静态,维护相对方便。但是缺点也很明显——经常换编写环境使用不便,因为它的所有渲染代码都是在本地存储的。云开发因为提供全云端的开发环境,零基础实现hexo博客的一键创建和一键部署。
4430 0
17
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载