如何提高阿里云上应用的可用性(一)

简介: 如今,开发并上线一款应用十分方便。因为云计算提供了从最基础的计算资源如服务器网络、数据库服务、中间件PaaS平台到各种应用支撑的云管理服务,同时开源社区的迅猛发展也提供了从数据库、缓存到应用全生命流程中各种必须的组件,所以越来越多的应用开发者可以把精力放在业务创新上。

如今,开发并上线一款应用十分方便。因为云计算提供了从最基础的计算资源如服务器网络、数据库服务、中间件PaaS平台到各种应用支撑的云管理服务,同时开源社区的迅猛发展也提供了从数据库、缓存到应用全生命流程中各种必须的组件,所以越来越多的应用开发者可以把精力放在业务创新上。然而另一方面,应用所依赖的大量的IaaS、PaaS、Cloud API和开源组件无疑增加了应用的复杂度,如何保障云上应用的可用性,成了用户越来越关注的话题。

保障云上应用的可用性的第一步,是需要知道你的应用长什么样子,用了哪些云服务和开源组件,运行的环境是怎样的,服务之间的依赖如何,必须把它可视化出来,并且持续的跟踪变化。

阿里云最新发布的应用高可用服务,针对云原生应用架构复杂,变化快的特点,推出了架构感知的功能模块,可以非常方便的跟踪展现你在云端的应用架构,接下来我们一起看一下接入的全过程。

_2018_10_31_11_38_38

第一步

登陆阿里云官网搜索“应用高可用服务”, 或者直接输入https://www.aliyun.com/product/ahas 打开产品首页,点击“立即开通” 开通公测服务。新用户第一次进入控制台后,可以选择查看demo来了解产品的基本功能,或者进行RAM授权,然后进入到安装探针来自动感知应用架构的流程。

完成授权后,就进入到探针安装流程,选择环境,默认支持阿里云ECS环境,然后界面会列出你在该region下所有的VPC网络的ECS机器,勾选需要探知的ECS并安装AHAS探针,完成安装后AHAS探针就会开始检测识别你的应用环境中各个进程、各容器和所使用的各种云服务。 同时基于网络流量构建出应用进程之间,容器之间以及ECS之间的网络依赖关系。

image

第二步

安装Java agent(可选), 安装Java Agent可以对应用架构中的Java应用进行动态增强,提供接口级别的性能指标和限流降级能力,根据Java应用所在的环境不同,AHAS提供了普通Java应用, docker和docker compose方式下Java应用加载Java agent的方式安装完之后就可以进入"架构感知"查看实时的架构数据。

安装完之后就可以进入"架构感知"查看实时的架构数据,以下是图例。

所有有网络连接的进程和其之间的网络关系拓扑图

1541043029621_aef584b0_921f_4466_a79b_1f3c49753b42

进程的详细信息及其依赖关系

1541043058464_0714a935_cb25_4f29_ace3_c8a6ee56160c

点击跳转到相关联的进程

1541043101731_890cbc00_3ade_423c_8435_aa8152d47ffa

进程所在的Docker容器

1541043116372_c42f80ce_997d_491a_9483_970a8cccd7fb

进入该容器

1541043131440_2df38f6c_c1eb_4104_b507_c2797435f391

Docker容器所在的主机

1541043144522_c21b8fdc_66ba_4057_90c3_508b24475702

点击进入该主机

1541043158097_5c089c7e_3308_44ad_86fe_bd77075cb379

欢迎加入企业级互联网架构交流钉钉群,群号:21704851

相关文章
|
运维 监控 网络协议
什么是运营商级 NAT (CGNAT)?
【4月更文挑战第16天】
5042 10
什么是运营商级 NAT (CGNAT)?
|
JSON 前端开发 JavaScript
开源表单方案 Formily 的核心设计思路
Formily 是一个数据+协议驱动的表单解决方案,它站在Reactive响应式编程巨人的肩膀上,构建出了从基础表单到低代码领域的高性能通用基础能力,同时其配套的跨框架+跨终端组件生态体系,也能让用户更高效的开发日常业务表单,尽可能的减少了重复冗余的逻辑实现。本篇内容来自白玄在第十六届D2前端技术论坛的分享,将为你介绍如何在高复杂业务场景下提高我们的表单性能与表单开发效率。
5417 1
开源表单方案 Formily 的核心设计思路
|
数据可视化 前端开发 JavaScript
可视化数据结构——让你的树跃然纸上
可视化数据结构——让你的树跃然纸上
|
11月前
|
存储 前端开发 JavaScript
WEB前端开发中如何实现大文件上传?
WEB前端开发中如何实现大文件上传?
859 3
WEB前端开发中如何实现大文件上传?
|
11月前
|
XML 移动开发 前端开发
Canvas和SVG的区别
Canvas和SVG的区别
431 0
|
机器学习/深度学习 人工智能 算法
人工智能伦理:机器自主性的双刃剑
【7月更文挑战第18天】随着人工智能技术的飞速发展,机器的自主性日益增强。本文探讨了AI自主性带来的伦理挑战,包括责任归属问题、决策透明度与可解释性的需求,以及可能的社会影响。我们分析了在设计、部署和监管AI系统时必须考虑的关键伦理原则,并提出了一系列策略来确保技术进步不会损害人类价值。
402 4
|
缓存 前端开发 JavaScript
前端性能优化都有那些方案 ?
【7月更文挑战第11天】 前端性能优化包括资源合并压缩、懒加载、CDN使用、代码优化、缓存利用和图片优化等策略。例如,减少HTTP请求、压缩CSS/JS、事件委托、利用浏览器及服务器缓存、选择合适图片格式等,旨在提升网页速度和用户体验。服务工作者、异步加载和响应式设计也是关键。持续学习新技术以适应不断变化的优化需求。
454 1
软件体系结构 - 可靠性指标
软件体系结构 - 可靠性指标
705 0
软件体系结构 - 可靠性指标
|
存储 消息中间件 运维
高可用架构和系统设计思想
本文从研发规范层面、应用服务层面、存储层面、产品层面、运维部署层面、异常应急层面这六大层面去剖析一个高可用的系统需要有哪些关键的设计和考虑
|
运维 监控 负载均衡
什么是系统可用性?如何提升可用性?
本文探讨了系统可用性的概念、计算方法及其重要性。可用性指系统能在预定时间内正常运行的比例,计算公式为:(运行时间)/(运行时间+停机时间)。文章列举了不同级别的可用性对应的停机时间,并介绍了提升系统可用性的多种策略,包括冗余设计、故障检测与自动恢复、数据备份与恢复、负载均衡、容错设计、定期维护与更新及使用高可用性云服务和网络优化。这些措施有助于构建更加稳定可靠的系统。
1729 0