AWSome Day Hong Kong 2025 活动摘要

在 AWS 上构建全新的现代化应用

议程笔记

本场活动介绍了现代化应用的特征、企业进行现代化改造的原因,以及 AWS 容器、无服务器、开发人员和可观测性服务如何为这一过程提供支持。活动还比较了无服务器和 Kubernetes 运维模式,并给出了启动现代化改造的实用途径。

什么是现代化应用?

现代化应用结合了:

  • 现代技术。
  • 模块化架构。
  • 敏捷软件交付实践。
  • 自动化运维流程。

这些能力共同帮助团队更快速、更频繁、更可靠且更一致地为客户创造价值。

客户为什么构建现代化应用

增长与创新:

  • 更快进入市场。
  • 进入新市场。
  • 扩大容量以满足客户需求。

可扩展性与敏捷性:

  • 保持竞争优势。
  • 更快发布功能和安全补丁。
  • 提高客户忠诚度并减少客户流失。

效率与成本优化:

  • 减少运维效率低下的问题。
  • 降低基础设施和许可成本。
  • 提高资源利用率。

现代化应用成功的驱动因素

组织基础:

  • 建立创新文化。
  • 将工程投入集中在业务差异化优势上。

应用模式:

  • 容器。
  • 无服务器计算。

支撑基础设施:

  • 存储和数据。
  • 网络。
  • 计算。
  • 基础设施编排。

现代化应用的组成部分

模块化架构模式:

  • 微服务。
  • 容器和无服务器函数。

敏捷开发流程:

  • DevOps。
  • 持续集成和持续交付。
  • 端到端安全。

无服务器运维模式:

  • 事件驱动架构。
  • 自动化 IT 运维。

构建现代化应用的方法

无服务器运维模式:

  • 通过 AWS API 实现基础设施自动化。
  • 支持自主开发团队。
  • 对基础设施进行抽象和简化。
  • 所需的基础设施管理工作更少。
  • 对合适的新应用而言,可以实现最低的总体拥有成本。

Kubernetes 运维模式:

  • 通过 Kubernetes API 和工具实现基础设施自动化。
  • 通常使用中央平台团队。
  • 支持内部开发人员平台。
  • 提供灵活性、可移植性和定制能力。
  • 得益于广泛的开源生态系统。

许多企业会同时使用这两种模式,并为每个工作负载选择合适的模式。

降低运维开销

现代托管服务可以减少以下方面所需的工作:

  • 容量规划和扩缩。
  • 软件安装和维护。
  • 基础设施预置。
  • 安全和网络配置。

因此,开发团队可以将更多时间投入:

  • 应用代码。
  • 数据源集成。
  • 体现业务差异化的功能。

AWS 上的现代软件交付

应用编写:

  • 开发人员管理应用代码。
  • AWS IDE Toolkits、Visual Studio Code、IntelliJ IDEA 和 AWS CodeArtifact 为开发工作流提供支持。

源代码与构件:

  • Amazon Elastic Container Registry 和 Amazon ECR Public 用于存储和分发容器镜像。

构建:

  • AWS CodeBuild 提供托管构建容量。

测试:

  • AWS CodeBuild 可以运行自动化测试。
  • 可集成 GitLab、CircleCI、Jenkins、Travis CI、SonarQube、Prometheus 和 Grafana 等第三方工具。

部署:

  • AWS CodeDeploy 支持托管部署。
  • 部署工作流还可以与 GitLab、Spinnaker 和 Argo CD 集成。

监控:

  • AWS X-Ray 和 Amazon CloudWatch 提供跟踪、指标、日志和运维可见性。
  • Prometheus、Grafana、Container Insights 和 OpenTelemetry 可以扩展可观测性。

客户正在构建什么

面向消费者的应用:

  • Web 和移动应用。
  • 交互式网站。
  • 手机游戏。
  • 电子商务应用。
  • 远程医疗服务。

生成式 AI:

  • 聊天机器人、虚拟助手和个性化服务。
  • 集成并调用基础模型的应用。
  • 模型训练和推理工作负载。

数据处理:

  • 流媒体。
  • 欺诈检测。
  • 目标跟踪和传感器融合。
  • 自动驾驶汽车和高级驾驶辅助仿真。
  • 物联网和机器人工作负载。

IT 自动化:

  • 标准化开发人员平台。
  • 应用集成。
  • 工作流自动化。

行业应用

金融服务:

  • 消费者银行和手机银行。
  • 交易与交易所平台。
  • 风险与金融建模。

医疗与生命科学:

  • 患者护理应用和门户。
  • 远程护理系统。
  • 支付和理赔处理。
  • 图像和数据处理。
  • 基因组测序。

媒体、娱乐与游戏:

  • 直接面向消费者的流媒体。
  • 广播。
  • 手机游戏。
  • 虚拟现实平台。

软件和互联网独立软件供应商:

  • 面向客户的产品和服务。
  • 多租户应用。
  • AI 应用。
  • 媒体和数据流。

为什么为现代化应用选择 AWS?

  • AWS 提供广泛的容器和无服务器计算服务。
  • 超过 150 万客户使用 AWS 数据库、分析、机器学习、容器或无服务器服务。
  • AWS 提供丰富的云安全工具。
  • AWS 支持 143 项安全标准和合规认证。
  • 超过 200 项云原生服务可用于推动开发、运维、应用和业务流程的现代化。

常见的现代化挑战与解决方案

挑战:

  • 开发人员需要等待数天或数周才能获得基础设施。

现代化方法:

  • 开发人员按需预置基础设施,并在数分钟内完成部署。

挑战:

  • 软件以手动且不一致的方式部署。

现代化方法:

  • 持续交付管道实现软件交付自动化。

挑战:

  • 每个应用都单独配置安全设置。

现代化方法:

  • 将安全最佳实践内置到每个应用和服务中。

挑战:

  • 开发人员缺乏对生产系统的可见性。

现代化方法:

  • 对应用进行检测,以收集指标、跟踪数据和日志。

挑战:

  • 团队和业务部门使用的工具不一致。

现代化方法:

  • 企业对工具、平台和工程实践进行标准化。

现代化是一段旅程

应用现代化通常是一段为期两到三年、覆盖整个应用资产的旅程:

  1. 评估应用环境。
  2. 在管理旧系统和已迁移系统的同时,构建新的现代化应用。
  3. 对更多现有应用组合进行现代化改造。
  4. 持续优化云原生应用。

随着时间的推移,这一旅程应当:

  • 降低 IT 成本。
  • 提高业务速度。
  • 提高应用资产中采用现代实践的比例。

现代化路径

企业可以通过向以下方向转型来简化现代化改造:

  • 云原生架构。
  • 托管数据库。
  • 开源技术。
  • 现代 DevOps 实践。
  • 现代分析平台。

从何处开始

技术信号:

  • 技术陈旧或已不再受支持。
  • 应用存在性能或可扩展性问题。
  • 所需技能或组织内部积累的知识已经流失。
  • 代码库缺陷过多,或存在紧密耦合的“意大利面条式代码”。
  • 集成成本高且难度大。

业务信号:

  • 应用对业务成功至关重要。
  • 应用直接服务客户。
  • 应用对收入有显著影响。
  • 应用能够带来市场差异化优势。
  • 应用的预期价值高于现代化改造成本。

最佳起点通常是既有明确技术需求,又能带来重要业务价值的应用。

客户案例:BILL

挑战:

  • BILL 需要支持业务持续增长和规模扩展。
  • 其本地平台架构限制了速度和效率。

解决方案:

  • BILL 使用 Amazon Elastic Container Service 和 AWS Fargate 重构了基础设施。
  • 新架构提高了弹性。
  • AWS 承担了更多服务器管理职责。
  • 开发团队可以将更多时间投入增长和创新。

成果:

  • 运维成本显著降低。
  • 能够处理每分钟约 15 万至 20 万个请求。
  • 新环境的创建时间从数月缩短到数周。
  • 更好的工具提高了开发人员的工作效率。

要点总结

  • 现代化应用结合了模块化架构、敏捷交付、安全、自动化和可观测性。
  • 无服务器和 Kubernetes 是互补的运维模式,适用于不同的工作负载和组织需求。
  • AWS 托管服务可以减少基础设施工作,使团队专注于业务价值。
  • 应将现代化视为循序渐进的旅程,而不是一次性迁移。
  • 企业应优先处理技术压力与业务价值相交的应用。
  • 标准化交付管道、内置安全和生产环境可观测性是实现可持续现代化的核心。