IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> Serverless 时代 DevOps 的最佳打开方式,nginx架构原理 -> 正文阅读

[PHP知识库]Serverless 时代 DevOps 的最佳打开方式,nginx架构原理

Serverless 应用引擎(SAE)三大特点:

  • 0 代码改造:微服务无缝迁移,开箱即用,支持 War/Jar 自动构建镜像;

  • 15s 弹性效率:应用端到端快速扩容,应对突发流量;

  • 57% 降本提效:多套环境按需启停,降本且提效。

2. 构建高效闭环的 DevOps?体系


SAE 内构建了高效闭环 DevOps 体系,覆盖开发态、部署态和运维态的整个过程。

6.jpg

中大型企业一般都使用企业级的 CICD 工具(如 Jenkins 或云效)部署到 SAE,从而完成从源码到构建再到部署的整个流程。

对于个人开发者或者中小企业,更倾向于使用 Maven 插件或 IDEA 插件一键部署到云端,方便本地调试,也提升了整个的用户体验。

当部署到 SAE 之后,可以进行可视化的智能运维操作,比如高可用运维(服务治理、性能压测、限流降级等)、应用诊断(线程诊断、日志诊断、数据库诊断等)以及数据化运营。以上操作都是部署到 SAE 之后,用户可以开箱即用的现成的功能。

用户通过 SAE 可以非常方便地实现整体的开发运维流程,感受 Serverless 带来的全方位体验和效率上的提升。下面介绍几个 SAE 的最佳实践:

3. 部署态最佳实践:CI/CD


7.jpg

SAE 目前支持三种部署方式,分别是 War、Jar 和镜像

如果用户使用 Spring Cloud、Dubbo 或 HSF 这类应用,可以直接打包或者填写对应的 URL 地址,就可以直接部署到 SAE 上。而对于非 Java 语言的场景,可以通过镜像方式进行部署。后续我们也会支持其他的语言包以自动化构建的方式进行部署。

8.jpg

除了直接部署之外,SAE 也支持本地部署、云效部署和自建部署这三种方式

本地部署依赖 CloudToolkit 插件,对 IDEA/Eclipse 进行了支持,用户可以在 IDEA 里一键部署到 SAE 上,无需登录,方便地进行自动化操作。

云效部署是阿里云提供的企业级一体化 CICD 平台型产品,通过云效可以监听代码库的变动,如果进行 Push 操作,就会触发云效的整个发布流程。比如进行代码检查或者单元测试,在对这个代码进行编译、打包、构建,构建好后会生成对应的构建物,之后它会调用 SAE 的 API,然后执行整体的部署操作。这一整套流程也是开箱即用的,用户只需要在云效控制台上进行可视化配置就可以把整个流程串起来。

自建部署指用户的公司如果是直接通过 Jenkins 进行构建的话,也可以直接使用 SAE。Jenkins 作为开源的最大的 CICD 平台,我们也提供了有力支持,许多用户也通过 Jenkins 成功地部署到 SAE 上。

4. 部署态最佳实践:应用发布三板斧


应用发布三板斧包括:可灰度、可监控、可回滚。在阿里内部所有的变更都需要严格做到上述的“三板斧”,而 SAE 作为一款云产品,也是把阿里巴巴的最佳实践对外输出进行产品化的集成。

  • 可灰度:支持单批、分批、金丝雀等多种发布策略;支持按流量灰度,批次间自动/手动发布,分批间隔等多种发布选项;

  • 可监控:发布过程中清晰对比不同批次基础监控与应用监控指标异动,及时暴露问题,定位变更风险;

  • 可回滚:在发布过程中,允许人工介入控制发布流程,如异常中止、一键回滚。

9.jpg

10.jpg

上图为控制台截图,可以看到在部署上我们支持单批、分批和灰度三种方式进行发布。

执行发布的过程都是通过发布端进行,每个发布端都有具体的步骤,首先进行构建镜像,然后初始化环境,接着创建和更新部署配置。用户可以清晰地看到发布端当前的运行进度与状态,方便排查。

5. 运维态最佳实践:全方位可观测


SAE 提供全方位可观测,可以对分布式系统中的任何变化进行观测。当系统出现问题时,可以便捷地定位问题、排查问题、分析问题;当系统平稳运行时,也可以提前暴露风险,预测可能出现的问题。通过 SAE 用户可以对自己的应用了如指掌。

11.jpg

这里列举了可观测性的三个方面:Metrics、Logging 、Tracing。

  • Metrics

代表聚合的数据,SAE 提供如下基础监控指标:

1)基础监控:CPU、MEM、Load、Network、Disk、IO;

2)应用监控:QPS、RT、异常数、HTTP 状态码、JVM 指标;

3)监控告警:丰富的告警源上报、告警收敛处理、多种告警渠道触达(如邮箱、短信、电话等)。

12.jpg

  • Logging

代表离散的数据,提供以下功能:

1)实时日志:Stdout、Stderr 实时查看;

2)文件日志:自定义采集规则、持久化存储、高效查询;

3)事件:发布单变更事件、应用生命周期事件、事件通知回调机制。

13.jpg

  • Tracing

意味着可以按请求维度进行排查,提供如下开箱即用的功能:

1)请求调用链堆栈查询;

2)应用拓扑自动发现;

3)常用诊断场景的指标下钻分析;

4)事务快照查询;

5)异常事务和慢事务捕捉。

14.jpg

6. 运维态最佳实践:在线调试


15.jpg

通过 SAE 在线调试可以访问单实例的目标端口,相当于用户在本地可以直接访问云端某个应用的某个具体实例,原理是为实例提供了端口映射的 SLB,通过这个能力用户可以实现如下功能:

  • SSH / SFTP 访问实例

可以在本地通过 SSH 直接连到应用的具体的实例上,或者通过 SFTP 进行上传/下载文件。

  • Java retmote debug

相当于在 IDEA 里配置一个断点,再远程连接到对应的 SAE 的实例上,这样就可以通过断点来查看整个方法的调用站与上下文信息,对线上正在运行的应用进行诊断。

  • 其他诊断工具连接实例

其他诊断工具也可以通过在线调试的手段连接到 SAE 的实例上,进而看到 Java 的一些信息,比如堆栈或者线程等。?适用场景:针对运行时在线应用的实时观测运维及问题排查求解。

7. 开发态最佳实践:端云联调


针对微服务场景,我们提供了一个非常好用的能力:端云联调。它基于 CloudToolkit 插件+ 跳板机,可以实现

1)本地服务订阅并注册到云端 SAE 内置的注册中心;

2)本地服务可以和云端 SAE 服务互相调用。

适用场景

1)微服务应用迁移到云端 SAE,迁移过程中的开发联调;

2)本地开发测试验证。

16.jpg

这个功能的原理是需要在用户的 VPC 内,然后通过 ECS 代理服务器作为跳板机,ECS 可以和同一个 VPC 内的 SAE 应用进行互调,然后这台 ECS 通过反应代理的方式,可以与本地进行连接。

CloudToolkit 插件会在应用启动时就注入对应 SAE 注册中心的地址,以及微服务的一些上下文参数,使得用户本地的应用通过跳板机连到 SAE 的应用上,从而进行整个端云联调的过程。

作者简介


许成铭,花名:竞霄,先后参与 aPaaS 领域 EDAS 和 SAE 后端研发工作,经历云原生与 Serverless 技术趋势变革。

本文整理自【Serverless Live 系列直播】2 月 2 日场

直播回看链接:https://developer.aliyun.com/topic/serverless/practices

Serverless 电子书下载

本书亮点

  • 从架构演进开始,介绍 Serverless 架构及技术选型构建 Serverless 思维;

  • 了解业界流行的 Serverless 架构运行原理;

  • 掌握 10 大 Serverless 真实落地案例,活学活用。

下载链接https://developer.aliyun.com/topic/download?id=1128

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2021-09-09 11:30:33  更:2021-09-09 11:32:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 0:51:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码