What’s next in Cloud App development Boris Scholl _ 甲骨文 产品研发副总裁....
### 云应用开发的未来趋势 #### 一、引言 在《What’s next in Cloud App development Boris Scholl _ 甲骨文 产品研发副总裁.pdf》这份文档中,Oracle 云平台的研发副总裁 Boris Scholl 分享了他对当前及未来云应用开发趋势的见解。通过其丰富的经验(超过 18 年的软件开发经历,约 8 年的云计算服务工作背景),Scholl 提供了一个深入而全面的视角来探讨云应用开发领域的最新动态和发展方向。 #### 二、当前的技术演变加速 Scholl 首先强调了技术演进正在加速,特别是在云应用领域。他提到了几个关键的技术组件和技术栈,如 Hystrix、Archaius 和 Ribbon,这些都是用于构建高可用性微服务架构的重要工具。此外,他还指出了从传统的单体应用到微服务架构,再到无服务器计算(Serverless)的演变过程。这些转变不仅影响着应用程序的设计方式,还对开发者的技能和思维模式提出了新的挑战。 #### 三、微服务架构与无服务器计算 微服务架构和无服务器计算是当前最热门的话题之一。Scholl 解释了这两种架构如何帮助开发者更快地交付高质量的应用程序: - **微服务**:采用微服务架构可以实现高度自主的服务,每个服务都可以独立开发、部署和扩展。这种架构有利于组建小型自主团队,能够专注于特定功能或业务领域,同时还能灵活选择最适合解决问题的技术栈。 - **无服务器计算 (FaaS)**:这是一种无需管理服务器即可运行代码的模型,它极大地简化了应用程序的部署和运维流程。开发者只需关注业务逻辑,而无需关心底层基础设施。 #### 四、快速发展的云部署架构 Scholl 还介绍了微服务架构在 2017 年左右的发展情况。当时,容器编排工具如 Kubernetes、Swarm 和 Mesos 成为了热点。这些工具提供了强大的容器管理和调度能力,使得微服务的部署变得更加自动化和高效。 #### 五、十二要素清单(12-Factor Manifesto) 针对云应用开发,Scholl 强调了十二要素清单(12-Factor Manifesto)的重要性。这是一套指导原则,旨在帮助开发者构建更加可维护、可扩展且易于部署的应用程序。具体包括: 1. **单一代码库**:所有版本都应存储在一个受版本控制的代码库中,并支持多次部署。 2. **明确依赖关系**:显式声明并隔离依赖项。 3. **配置环境化**:将配置信息存储在环境中而非代码中。 4. **后端服务作为资源**:将数据库和其他外部服务视为附加资源。 5. **分离构建与运行**:严格区分构建阶段和运行阶段。 6. **进程执行**:将应用程序作为一个或多个无状态进程运行。 7. **端口绑定**:通过端口绑定提供服务。 8. **并发性**:通过进程模型进行横向扩展。 9. **可处置性**:通过快速启动和优雅关闭最大化健壮性。 10. **开发/生产一致性**:保持开发、测试和生产环境尽可能相似。 11. **日志处理**:将日志视为事件流。 12. **管理任务**:将管理任务视为一次性进程。 #### 六、微服务、容器与编排器的好处 除了上述概念外,Scholl 还详细介绍了微服务、容器和编排器为开发者带来的好处: - **自主服务**:每个服务都是高度自治的,可以根据需要单独扩展。 - **小型自主团队**:鼓励组建小型团队来管理单个服务,促进更高效的协作和沟通。 - **快速交付**:微服务架构支持持续集成和持续部署,加快了产品迭代周期。 - **最佳技术选择**:允许开发者根据特定问题选择最合适的技术栈。 - **不可变环境**:确保每次部署都是全新的实例,提高了环境的一致性和稳定性。 - **快速启动时间**:容器化的服务可以迅速启动,降低了等待时间。 #### 七、开发者需考虑的关键因素 Scholl 指出了在构建微服务时开发者需要关注的一些关键因素,例如: - **弹性**:设计能够应对故障的服务。 - **幂等性**:确保操作可以在任何情况下安全重复执行。 - **配置管理**:合理组织和管理服务配置。 - **无状态计算**:确保服务实例可以随时创建或销毁,不影响整体功能。 - **网关模式**:用于统一请求处理和服务发现。 - **进程间通信模式**:有效处理不同服务之间的数据交换。 Scholl 的分享不仅为云应用开发领域的现状和未来发展提供了宝贵的见解,也为开发者指明了前进的方向。随着技术的不断进步,云应用开发将继续朝着更加高效、灵活和可靠的方向发展。
剩余25页未读,继续阅读
- 粉丝: 76
- 资源: 174
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 适用于 Python 的 LINE 消息 API SDK.zip
- 适用于 Python 的 AWS 开发工具包.zip
- 适用于 Python 3 的 Django LDAP 用户身份验证后端 .zip
- 基于PBL-CDIO的材料成型及控制工程课程设计实践与改革
- JQuerymobilea4中文手册CHM版最新版本
- 适用于 Python 2 和 3 以及 PyPy (ws4py 0.5.1) 的 WebSocket 客户端和服务器库.zip
- 适用于 AWS 的 Python 无服务器微框架.zip
- 适用于 Apache Cassandra 的 DataStax Python 驱动程序.zip
- WebAPI-案例-年会抽奖.html
- 这里有一些基础问题和一些棘手问题的解答 还有hackerrank,hackerearth,codechef问题的解答 .zip