Java Microservices and Containers in the Cloud: With Spring Boot, Kafka, Postgresql, Kubernetes, Helm, Terraform and AWS Eks

Christudas, Binildas A.

相關主題

商品描述

Spring Boot helps developers create applications that simply run. When minimal configuration is required to start up an application, even novice Java developers are ready to start. But this simplicity shouldn't constrain developers in addressing more complex enterprise requirements where microservice architecture is concerned. With the need to rapidly deploy, patch, or scale applications, containers provide solutions which can accelerate development, testing as well as production cycles. The cloud helps companies to scale and adapt at speed, accelerate innovation and drive business agility, without heavy upfront IT investment. What if we can equip even a novice developer with all that is required to help enterprises achieve all of this, this book does this and more.

Java Microservices and Containers in the Cloud offers a comprehensive guide to both architecture and programming aspects to Java microservices development, providing a fully hands-on experience. We not only describe various architecture patterns but also provide practical implementations of each pattern through code examples. Despite the focus on architecture, this book is designed to be accessible to novice developers with only basic programming skills, such as writing a "Hello World" program and using Maven to compile and run Java code. It ensures that even such readers can easily comprehend, deploy, and execute the code samples provided in the book. Regardless of your current knowledge or lack thereof in Docker, Kubernetes, and Cloud technologies, this book will empower you to develop programming skills in these areas.

There is no restriction on beginners attempting to understand serious and non-trivial architecture constraints. While mastering concurrency and scalability techniques often requires years of experience, this book promises to empower you to write microservices, as well as how to containerize and deploy them in the cloud. If you are a non-programming manager who is not afraid to read code snippets, this book will empower you to navigate the challenges posed by seasoned architects. It will equip you with the necessary understanding of specialized jargon, enabling you to engage in more meaningful discussions and break through barriers when collaborating with programmers, architects and engineers across the table.

The code examples provided in the book are intentionally designed to be simple and accessible to all, regardless of your programming background. Even if you are a C# or Python programmer and not familiar with Java, you will find the code examples easy to follow and understand.

You will

  • Acquire proficiency in both RPC-style and Messaging-style inter-microservice communication
  • Construct microservices utilizing a combination of SQL (PostgreSQL) and NoSQL (MongoDB) databases
  • Leverage Liquibase, a database schema version control tool, and administer UI in conjunction with PostgreSQL
  • Leverage both GraphQL and conventional REST approaches side by side
  • Gain practical experience in implementing Hexagonal and Onion Architectures through hands-on exercises
  • Integrate asynchronous processing into your Java applications using powerful APIs such as DeferredResult and CompletableFuture

Who it's for:

Developers, programmers and Architects who want to level up their Java Micoservices and Archtecture knowledge as well as managers who want to brush up on their technical knowledge around the topic.

商品描述(中文翻譯)

Spring Boot 幫助開發者創建簡單運行的應用程式。當啟動應用程式所需的配置最小化時,即使是新手 Java 開發者也能輕鬆上手。但這種簡單性不應限制開發者在處理更複雜的企業需求時,特別是在微服務架構方面。隨著快速部署、修補或擴展應用程式的需求,容器提供了解決方案,可以加速開發、測試以及生產週期。雲端幫助公司快速擴展和適應,加速創新並推動業務敏捷性,而無需大量前期 IT 投資。如果我們能夠讓即使是新手開發者也具備幫助企業實現這一切所需的所有工具,本書正是這樣做的。

《Java 微服務與雲端容器》提供了關於 Java 微服務開發的架構和程式設計方面的全面指南,並提供完全實作的經驗。我們不僅描述各種架構模式,還通過程式碼範例提供每種模式的實際實作。儘管重點在於架構,本書旨在讓只有基本程式設計技能的新手開發者(例如撰寫「Hello World」程式和使用 Maven 編譯及運行 Java 程式碼)也能輕鬆理解、部署和執行書中提供的程式碼範例。無論您目前在 Docker、Kubernetes 和雲端技術方面的知識如何,本書都將使您能夠在這些領域發展程式設計技能。

對於初學者來說,理解嚴肅且非平凡的架構限制並沒有任何限制。雖然掌握並發和可擴展性技術通常需要多年的經驗,但本書承諾使您能夠撰寫微服務,以及如何將其容器化並在雲端部署。如果您是一位不怕閱讀程式碼片段的非程式設計經理,本書將使您能夠應對資深架構師所帶來的挑戰。它將使您具備必要的專業術語理解能力,讓您能夠參與更有意義的討論,並在與程式設計師、架構師和工程師的合作中打破障礙。

書中提供的程式碼範例故意設計得簡單且易於所有人理解,無論您的程式設計背景如何。即使您是 C# 或 Python 程式設計師,對 Java 不熟悉,您也會發現這些程式碼範例易於跟隨和理解。

您將會:
- 獲得 RPC 風格和消息風格的微服務間通信的熟練度
- 利用 SQL(PostgreSQL)和 NoSQL(MongoDB)數據庫的組合構建微服務
- 利用 Liquibase,這是一種數據庫架構版本控制工具,並與 PostgreSQL 一起管理 UI
- 同時利用 GraphQL 和傳統 REST 方法
- 通過實作練習獲得實施六邊形和洋蔥架構的實際經驗
- 使用強大的 API(如 DeferredResult 和 CompletableFuture)將非同步處理整合到您的 Java 應用程式中

適合對象:
希望提升 Java 微服務和架構知識的開發者、程式設計師和架構師,以及希望增強相關技術知識的經理。

作者簡介

Binildas A. Christudas is an experienced architect and developer, specializing in building distributed software solutions for the Airlines, Hospitality, and Telecommunications domains ever since the inception of Java. He is currently working in IBS Software, a leader in Airline Cargo software domain as Vice President, heading Technology Services. Binildas is currently engaged in architecting highly resilient and highly available software solutions for some of the world's largest Cruise and Airline companies. He specializes in ensuring data consistency across distributed and decentralized systems, encompassing various scenarios such as cross-region deployments across major public cloud.

Binildas is a Mechanical engineer from the College of Engineering, Trivandrum (CET) with a post-graduation in Systems from the Institute of Management Kerala (IMK). Leveraging over 25 years of experience in distributed systems, Binil currently dedicates his focus to architecting Conflict-Free, Replicated, and Eventually Consistent systems thathandle streaming data and big data and is the author of "Practical Microservices Architectural Patterns" by Apress and "Service Oriented Java Business Integration" by Packt. Binildas was the captain of Kerala University Power Lifting team and was the national champion during his studies. He has been awarded patent for "A Method and a System for Facilitating Multitenancy of Services" by the USPTO.

Binildas can be contacted through www.linkedin.com/in/binildasca/

作者簡介(中文翻譯)

Binildas A. Christudas 是一位經驗豐富的架構師和開發者,自 Java 創立以來專注於為航空、酒店和電信領域構建分散式軟體解決方案。他目前在 IBS Software 擔任副總裁,負責技術服務,該公司是航空貨運軟體領域的領導者。Binildas 目前專注於為全球最大的郵輪和航空公司設計高度彈性和高可用性的軟體解決方案。他專精於確保分散式和去中心化系統中的數據一致性,涵蓋各種情境,例如在主要公共雲上進行跨區域部署。

Binildas 擁有來自特里凡德倫工程學院 (CET) 的機械工程學位,並在喀拉拉管理學院 (IMK) 獲得系統碩士學位。憑藉超過 25 年的分散式系統經驗,Binil 目前專注於設計無衝突、可複製和最終一致的系統,這些系統能夠處理串流數據和大數據。他是 Apress 出版的《Practical Microservices Architectural Patterns》和 Packt 出版的《Service Oriented Java Business Integration》的作者。Binildas 曾是喀拉拉大學舉重隊的隊長,並在學期間獲得全國冠軍。他因《A Method and a System for Facilitating Multitenancy of Services》獲得美國專利商標局 (USPTO) 的專利。

您可以通過 www.linkedin.com/in/binildasca/ 聯繫 Binildas。

最後瀏覽商品 (1)