活动摘要系列
- 议程 01:最大限度提高 AI 推理成本效益:战略性采用 AWS GPU 实例
- 议程 02:高级智能体 AI 设计模式
- 议程 03:在 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 项云原生服务可用于推动开发、运维、应用和业务流程的现代化。
常见的现代化挑战与解决方案
挑战:
- 开发人员需要等待数天或数周才能获得基础设施。
现代化方法:
- 开发人员按需预置基础设施,并在数分钟内完成部署。
挑战:
- 软件以手动且不一致的方式部署。
现代化方法:
- 持续交付管道实现软件交付自动化。
挑战:
- 每个应用都单独配置安全设置。
现代化方法:
- 将安全最佳实践内置到每个应用和服务中。
挑战:
- 开发人员缺乏对生产系统的可见性。
现代化方法:
- 对应用进行检测,以收集指标、跟踪数据和日志。
挑战:
- 团队和业务部门使用的工具不一致。
现代化方法:
- 企业对工具、平台和工程实践进行标准化。
现代化是一段旅程
应用现代化通常是一段为期两到三年、覆盖整个应用资产的旅程:
- 评估应用环境。
- 在管理旧系统和已迁移系统的同时,构建新的现代化应用。
- 对更多现有应用组合进行现代化改造。
- 持续优化云原生应用。
随着时间的推移,这一旅程应当:
- 降低 IT 成本。
- 提高业务速度。
- 提高应用资产中采用现代实践的比例。
现代化路径
企业可以通过向以下方向转型来简化现代化改造:
- 云原生架构。
- 托管数据库。
- 开源技术。
- 现代 DevOps 实践。
- 现代分析平台。
从何处开始
技术信号:
- 技术陈旧或已不再受支持。
- 应用存在性能或可扩展性问题。
- 所需技能或组织内部积累的知识已经流失。
- 代码库缺陷过多,或存在紧密耦合的“意大利面条式代码”。
- 集成成本高且难度大。
业务信号:
- 应用对业务成功至关重要。
- 应用直接服务客户。
- 应用对收入有显著影响。
- 应用能够带来市场差异化优势。
- 应用的预期价值高于现代化改造成本。
最佳起点通常是既有明确技术需求,又能带来重要业务价值的应用。
客户案例:BILL
挑战:
- BILL 需要支持业务持续增长和规模扩展。
- 其本地平台架构限制了速度和效率。
解决方案:
- BILL 使用 Amazon Elastic Container Service 和 AWS Fargate 重构了基础设施。
- 新架构提高了弹性。
- AWS 承担了更多服务器管理职责。
- 开发团队可以将更多时间投入增长和创新。
成果:
- 运维成本显著降低。
- 能够处理每分钟约 15 万至 20 万个请求。
- 新环境的创建时间从数月缩短到数周。
- 更好的工具提高了开发人员的工作效率。
要点总结
- 现代化应用结合了模块化架构、敏捷交付、安全、自动化和可观测性。
- 无服务器和 Kubernetes 是互补的运维模式,适用于不同的工作负载和组织需求。
- AWS 托管服务可以减少基础设施工作,使团队专注于业务价值。
- 应将现代化视为循序渐进的旅程,而不是一次性迁移。
- 企业应优先处理技术压力与业务价值相交的应用。
- 标准化交付管道、内置安全和生产环境可观测性是实现可持续现代化的核心。
