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

简介: 云开发系列课程主要介绍了从入门到精通快速上手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

相关文章
|
1月前
|
人工智能 运维 监控
构建高性能微服务架构:现代后端开发的挑战与策略构建高效自动化运维系统的关键策略
【2月更文挑战第30天】 随着企业应用的复杂性增加,传统的单体应用架构已经难以满足快速迭代和高可用性的需求。微服务架构作为解决方案,以其服务的细粒度、独立性和弹性而受到青睐。本文将深入探讨如何构建一个高性能的微服务系统,包括关键的设计原则、常用的技术栈选择以及性能优化的最佳实践。我们将分析微服务在处理分布式事务、数据一致性以及服务发现等方面的挑战,并提出相应的解决策略。通过实例分析和案例研究,我们的目标是为后端开发人员提供一套实用的指南,帮助他们构建出既能快速响应市场变化,又能保持高效率和稳定性的微服务系统。 【2月更文挑战第30天】随着信息技术的飞速发展,企业对于信息系统的稳定性和效率要求
|
1月前
|
人工智能 JSON 运维
AI大模型运维开发探索第三篇:深入浅出运维智能体
大模型出现伊始,我们就在SREWorks开源社区征集相关的实验案例。玦离同学提供了面向大数据HDFS集群的智能体案例,非常好地完成了运维诊断的目标。于是基于这一系列的实验和探索。本文详细介绍智能体在运维诊断中的应用探索。
|
2月前
|
Kubernetes Linux 开发工具
容器开发运维人员的 Linux 操作机配置优化建议
容器开发运维人员的 Linux 操作机配置优化建议
|
6月前
|
存储 运维 DataWorks
DataWorks是阿里云推出的一款云数据集成、数据开发、数据运维一体化的数据开发平台
DataWorks是阿里云推出的一款云数据集成、数据开发、数据运维一体化的数据开发平台
125 4
|
7月前
|
运维 数据可视化 物联网
快速开发光伏电站数字孪生运维系统
在开发光伏电站数字孪生系统过程中,涉及物联网、孪生模型构建、实时数据计算、数据智能、3D模型渲染及数据联动等多项复杂工作,IoT孪生引擎帮助开发者快速构建出符合自身业务特性的数字孪生系统。
178 0
|
7月前
|
运维 监控 安全
软件源码开发,网络中的“摄像头”:运维监控系统
总之,监控运维系统在软件源码开发平台中有着不可或缺的作用,通过以上分析,可以看出监控运维系统不只是监控着服务器、数据库、操作系统等,还可以为软件源码开发平台运维团队提供资源管理、容量规划、日志与事件记录等作用,确保着软件源码开发平台的系统和服务的正常运行。
软件源码开发,网络中的“摄像头”:运维监控系统
|
7月前
|
NoSQL 测试技术 API
从程序员到架构师开发运维场景实战篇:一人一套测试环境
一人一套测试环境 本篇开始讲第16次架构经历:一人一套测试环境。同样,先介绍业务场景。 业务场景:测试环境何时能释放出来使用 当时,公司的基础设施使用的是虚拟机,而且还未迁移到容器。
|
8月前
|
弹性计算 运维 负载均衡
第十七届振兴杯计算机程序设计员(云计算平台运维与开发)决赛
第十七届振兴杯计算机程序设计员(云计算平台运维与开发)决赛
169 0
|
9月前
|
运维 JavaScript 前端开发
使用Vue和SpringBoot开发实验室耗材智能运维系统
使用Vue和SpringBoot开发实验室耗材智能运维系统
130 0
|
11月前
|
运维 关系型数据库 MySQL
【荐书&赠书】MySQL技术大全开发、优化与运维实战
【荐书&赠书】MySQL技术大全开发、优化与运维实战
191 0