玩转云计算:教你在Akamai Linode上构建IT架构–定义项目

时至今日,选择以云计算方式来运维业务,已经成为大部分情况下的最优选。那么如果要从零开始开发一个新应用,并依托云平台来设计、开发、部害和远维,具体该从何处下手?这一系列文章将介绍如何基于Akamai Linode平台实现这个目标。

场景

假设有一家名叫"Vapor"的公司,这是一家只销售游戏并提供游戏下载的线上公司。该公司原本使用了一家托管服务提供商(MSP)的服务,由于相关服务的体验非常糟糕,他们转为向Akamai寻求帮助。

除了追求更高性能外,Vapor的DevOps团队还希望能有更多实践机会,能够对"表面之下"的东西进行调优,这样整个解决方案就可以重新架构,以适应新的云提供商。

项目分为两个主要阶段:

  1. (关键阶段)对当前平台进行平移(Lift and shift),以最小代价对其进行改进;随后引入监控和管理软件,并创建管道。当前使用的解决方案,其停机时间较长,直接导致了大量收入损失。
  2. 利用Akamai的Kubernetes托管服务(LKE)和计算能力对整个栈进行容器化和现代化。此外,Vapor还计划在不久的将来进驻亚太、欧洲、中东和非洲以及美洲,因此在设计基础架构时应考虑到这一要求。

目前的技术栈

基于PHP和MySQL开发的定制化应用程序,其中包含数千篇文章。

应用程序在负载均衡器之后的八台Web服务器上运行。使用独立主机运行MySQL数据库引擎,游戏数据则存储在200TB的对象存储中。

硬件规格:

  • 8台Web服务器:每台16个CPU内核,64GB内存,200GB SSD存储
    • CPU平均用量为70%
    • 内存用量为80%
    • 平均IOPS为400
  • 数据库服务器:32个CPU内核,128GB内存,500GB SSD存储
    • 数据库约300GB,每季度增大10%
    • 内存用量90%
    • 平均IOPS为5500,偶尔激增至10000 IOPS
  • 负载均衡器
    • 平均每秒1000个请求,偶尔激增至每秒2500个请求
  • 对象存储
    • 目前托管在另一个云提供商平台上

监控和管理由目前的MSP负责,因此在选择监控、访问、安全等技术时,有一个开放的竞争环境。

当前基础设施简单概述

未来目标是什么?

在开始编写任何代码(没错,要做的一切都将用代码完成)之前,我们需要定义项目目标、功能性和非功能性需求,并尝试预测一下未来。

首先是项目的主要目标

  • 改善可用性
  • 相比当前提供商,降低托管成本
  • 提高性能
  • 大规模构建
  • 适应正在进行的全新现代化改建工作
  • 支持全球化运行,并在未来支持边缘计算
  • 提高安全性
  • 更易于运行
  • 提高自动化程度
  • 让开发者更满意

新基础架构布局概述

如图所示,我们的基础架构布局可细分为经典的DT(A)P方法,以及管理和备份账户。

管理账户将运行基础架构运转所需的所有"操作"服务,如监控、构建和部署管道、安全工具、安全访问服务等,我们将为开发/测试和生产工作负载提供专门的开发、测试和生产账户。这样做的目标是使开发、测试和生产账户在规模以外的各方面都完全相同。这将确保运行的所有基础架构和应用测试都能提供真实的结果。

最后,我们将在不同地区使用专用的Akamai Connected Cloud账户,并通过这些账户运行备份软件和灾难恢复基础架构。此外,可能需要的任何Akamai Connected Cloud服务(如虚拟机、对象存储、LKE集群等)也将部署在相应的(DTAP)账户中。

这样做的目的是尽可能将所有环境在物理和逻辑上分开。

整个基础设施将使用代码构建,第一阶段主要使用Terraform和Ansible;到第二阶段,我们将研究使用Kubernetes和应用程序管理工具及管道。具体待定。

相关推荐
骥龙8 分钟前
零信任架构:重塑现代企业安全基石
安全·架构
码界奇点5 小时前
KingbaseES一体化架构与多层防护体系如何保障企业级数据库的持续稳定与弹性扩展
数据库·架构·可用性测试
掘金-我是哪吒5 小时前
分布式微服务系统架构第169集:1万~10万QPS的查当前订单列表
分布式·微服务·云原生·架构·系统架构
attitude.x6 小时前
微服务架构的五大核心挑战与应对策略
微服务·云原生·架构
mqiqe6 小时前
架构-亿级流量性能调优实践
java·架构
qb8 小时前
vue3.5.18源码-编译-入口
前端·vue.js·架构
milanyangbo10 小时前
“卧槽,系统又崩了!”——别慌,这也许是你看过最通俗易懂的分布式入门
分布式·后端·云原生·架构
失散1310 小时前
分布式专题——1.1 Redis单机、主从、哨兵、集群部署
java·数据库·redis·分布式·架构
2301_7795037610 小时前
MySQL集群高可用架构---mysql高可用之组复制 (MGR)
数据库·mysql·架构
大咖分享课11 小时前
系统越拆越乱?你可能误解了微服务的本质!
微服务·云原生·架构