企业级Java现代化:写给开发者的云原生简明指南
张卫滨 译
出版时间:2022年10月
页数:164
“对于我们的客户来讲,成功处理遗留系统是核心的挑战之一。Natale和Markus阐述了强化这个处理过程的方法论和
技术。”
——Ashesh Badani,
产品高级副总裁,Red Hat, Inc
在技术领域的讨论中,虽然容器、微服务和分布式系统占据了主导地位,但是目前正在使用的大多数应用依然是单体架构的,遵循着传统的开发流程。这本实用的图书能够帮助开发人员审视长期以来基于Java的模型,并阐述如何将这些单体应用成功地带入未来。
作者Markus Eisele和Natale Vinto凭借多年来致力于应用现代化的经验,带领你了解对组织内Java应用进行更新的关键步骤。你将会学到如何淘汰单体应用,以及如何转移至能够跨云和自建环境的现代软件技术栈。
● 学习云原生应用的基础知识,掌握企业内基于Java的应用和平台中哪些部分需要迁移和现代化。
● 理解企业级Java规范如何帮助我们迁移项目和团队。
● 构建支持高效开发的云原生平台,避免落入网络热词的陷阱。
● 识别候选项目并通过现代化步骤进行研判,以寻找项目迁移的起点。
● 探索如何基于容器和Kubernetes组件来完善传统的企业级Java应用。
- 序言
- 前言
- 第1章 重新回顾企业级开发
- 什么是公有云与私有云?为何要使用云
- “云原生”的含义
- Kubernetes原生的开发
- 面向开发者的容器和编排
- 容器原生的运行时
- Kubernetes的不同风格
- 管理开发的复杂性
- DevOps与敏捷
- 小结
- 第2章 云原生Java之路
- 云原生工作坊
- 架构
- 使用Quarkus创建Inventory微服务
- 创建Quarkus Maven项目
- 创建领域模型
- 创建RESTful服务
- 在开发模式下运行应用
- 使用Spring Boot创建Catalog微服务
- 创建Maven项目
- 创建领域模型
- 创建数据资源库
- 创建RESTful服务
- 使用Vert.x创建Gateway服务
- 创建Vert.x Maven项目
- 创建API Gateway
- 使用Node.js和AngularJS创建前端
- 运行前端
- 小结
- 第3章 轻装前行
- 是三层还是分布式系统
- 技术 新、现代化和转型
- 6R
- 分解并容器化
- 将Kubernetes作为新的应用服务器
- 定义目标平台
- 强制迁移的步骤和工具
- 创建应用组合
- 为大事做准备
- 小结
- 第4章 基于Kubernetes的软件开发平台
- 开发人员与Kubernetes
- Kubernetes能够做什么
- Kubernetes不能做什么
- 基础设施即代码
- 容器镜像
- Dockerfile
- 构建容器镜像
- 运行容器
- 镜像仓库
- 部署至Kubernetes
- Pod
- Service
- Deployment
- Kubernetes与Java
- Jib
- JKube
- 小结
- 第5章 原样转移:处理遗留系统
- 管理遗留系统
- 评估要迁移的应用
- 评估要迁移的功能
- 迁移方式
- 保护遗留应用(Replatform)
- 构建新的应用(Refactor)
- 挑战
- 避免双重写入
- 长时间运行的事务
- 快速移除旧代码
- 集成
- 小结
- 第6章 构建Kubernetes原生的应用
- 寻找可扩展性和复杂性之间的平衡点
- 现代化架构的功能性需求
- API驱动
- 服务发现
- 安全与授权
- 监控
- 跟踪
- 日志
- CI/CD
- 调试微服务
- 端口转发
- Quarkus远程开发模式
- Telepresence
- 小结
- 第7章 未来之路:Serverless
- 什么是Serverless
- 架构的演进
- 使用场景:数据、AI与机器学习
- 使用场景:边缘计算和IoT
- Knative:适用于Kubernetes的Serverless
- 事件驱动的Serverless架构
- 面向Java应用的函数即服务
- Java应用的函数部署
- Boson Function CLI
- 小结
- 索引
书名:企业级Java现代化:写给开发者的云原生简明指南
译者:张卫滨 译
国内出版社:电子工业出版社
出版时间:2022年10月
页数:164
书号:978-7-121-44337-4
原版书书名:Modernizing Enterprise Java
原版书出版商:O'Reilly Media
Markus Eisele
Markus Eisele是Red Hat在EMEA的开发者项目的负责人。他与不同供应商的Java EE服务器打交道已经超过14年。他是一名Java Champion,Java EE前专家组成员,也是德国大名鼎鼎的Java会议JavaLand的创始人。
Natale Vinto
Natale Vinto是一名软件工程师,在IT和ICT技术方面有超过10年的专业经验,在电信和Linux操作系统方面有深厚的背景知识。如今,Natale是红帽OpenShift开发者的倡导者,帮助社区内的人和客户在Kubernetes与云原生战略上获得成功。
封面上的动物是中亚野驴。中亚野驴在外观上与许多野驴相似,但体形稍小,毛色较白,背上有浅棕色条纹。它们生活范围从蒙古国到沙特阿拉伯,栖息于沙漠和周围山麓的平坦地区。在这些恶劣的环境中,中亚野驴的食物包括稀少的草、灌木、药草和树叶,但它们必须保持在靠近开放水源的地方。
中亚野驴不容易受到惊吓,而且天生好奇。这使得它们特别容易受到猎人的攻击。从1971年开始,中亚野驴成为受保护的物种。尽管相关人员一直在努力遏制某些人的肆意捕猎行为,但现在估计仅有395只成年的中亚野驴仍生存在野外。O'Reilly封面上的许多动物都濒临灭绝,但它们都对世界很重要。