Building and Delivering Microservices on AWS: Master software architecture patterns to develop and deliver microservices to AWS Cloud

Singh, Amar Deep


Quickly deliver microservices with CodeCommit, CodeBuild, CodeDeploy, and CodePipeline using software architecture patterns, microservices, and release pipelines

Purchase of the print or Kindle book includes a free PDF eBook

Key Features

  • Learn software architecture and microservices design patterns from an AWS certified professional architect
  • Develop microservices using Spring Boot and automate the release using CodePipeline
  • Deploy microservices using CodeDeploy to EC2 instances, containers, and on premises

Book Description

Reliable automation is crucial for any code change going into production. A release pipeline enables you to deliver features for your users efficiently and promptly. AWS CodePipeline, with its powerful integration and automation capabilities of building, testing, and deployment, offers a unique solution to common software delivery issues such as outages during deployment, a lack of standard delivery mechanisms, and challenges faced in creating sustainable pipelines.

You'll begin by developing a Java microservice and using AWS services such as CodeCommit, CodeArtifact, and CodeGuru to manage and review the source code. You'll then learn to use the AWS CodeBuild service to build code and deploy it to AWS infrastructure and container services using the CodeDeploy service. As you advance, you'll find out how to provision cloud infrastructure using CloudFormation templates and Terraform. The concluding chapters will show you how to combine all these AWS services to create a reliable and automated CodePipeline for delivering microservices from source code check-in to deployment without any downtime. Finally, you'll discover how to integrate AWS CodePipeline with third-party services such as Bitbucket, Blazemeter, Snyk, and Jenkins.

By the end of this microservices book, you'll have gained the hands-on skills to build release pipelines for your applications.

What you will learn

  • Understand the basics of architecture patterns and microservice development
  • Get to grips with the continuous integration and continuous delivery of microservices
  • Delve into automated infrastructure provisioning with CloudFormation and Terraform
  • Explore CodeCommit, CodeBuild, CodeDeploy, and CodePipeline services
  • Get familiarized with automated code reviews and profiling using CodeGuru
  • Grasp AWS Lambda function basics and automated deployment using CodePipeline
  • Understand Docker basics and automated deployment to ECS and EKS
  • Explore the CodePipeline integration with Jenkins Pipeline and on premises deployment

Who this book is for

This book is for software architects, DevOps engineers, SREs, and cloud engineers who want to learn more about automating their release pipelines for modifying features and releasing updates. Prior knowledge of AWS Cloud, Java, Maven, and Git will help you to get the most out of this book.


快速使用軟體架構模式、微服務和發佈流程,通過 CodeCommit、CodeBuild、CodeDeploy 和 CodePipeline 提供微服務。

購買印刷版或 Kindle 版本的書籍將包含免費的 PDF 電子書。


- 從 AWS 認證的專業架構師那裡學習軟體架構和微服務設計模式。
- 使用 Spring Boot 開發微服務,並使用 CodePipeline 自動化發佈。
- 使用 CodeDeploy 將微服務部署到 EC2 實例、容器和本地。
- 使用可靠的自動化流程將功能交付給用戶。


可靠的自動化對於任何進入生產環境的程式碼變更至關重要。發佈流程使您能夠高效且及時地為用戶提供功能。AWS CodePipeline 通過其強大的集成和自動化功能(包括構建、測試和部署)提供了一個獨特的解決方案,解決了常見的軟體交付問題,例如部署期間的故障、缺乏標準交付機制以及在創建可持續流程時面臨的挑戰。

您將首先開發一個 Java 微服務,並使用 AWS 服務(如 CodeCommit、CodeArtifact 和 CodeGuru)來管理和審查源代碼。然後,您將學習使用 AWS CodeBuild 服務構建代碼並使用 CodeDeploy 服務將其部署到 AWS 基礎設施和容器服務。隨著進一步的學習,您將了解如何使用 CloudFormation 模板和 Terraform 提供雲基礎設施。最後,您將發現如何將所有這些 AWS 服務結合起來,創建一個可靠且自動化的 CodePipeline,從源代碼檢入到部署微服務,無需任何停機時間。最後,您將了解如何將 AWS CodePipeline 與 Bitbucket、Blazemeter、Snyk 和 Jenkins 等第三方服務集成。



- 了解架構模式和微服務開發的基礎知識。
- 掌握微服務的持續整合和持續交付。
- 深入瞭解使用 CloudFormation 和 Terraform 進行自動化基礎設施配置。
- 探索 CodeCommit、CodeBuild、CodeDeploy 和 CodePipeline 服務。
- 熟悉使用 CodeGuru 進行自動化代碼審查和分析。
- 掌握 AWS Lambda 函數基礎知識和使用 CodePipeline 進行自動化部署。
- 瞭解 Docker 基礎知識和自動化部署到 ECS 和 EKS。
- 探索 CodePipeline 與 Jenkins Pipeline 和本地部署的集成。

本書適合軟體架構師、DevOps 工程師、SRE 和雲工程師,他們希望了解如何自動化修改功能和發佈更新的發佈流程。具備 AWS Cloud、Java、Maven 和 Git 的先備知識將有助於您充分利用本書的內容。


1. Software Architecture Patterns
2. Microservices Fundamentals and Design Patterns
3. CI/CD Principles and Microservice Development
4. Infrastructure as Code
5. Creating Repositories with AWS CodeCommit
6. Automating Code Reviews Using CodeGuru
7. Managing Artifacts Using CodeArtifact
8. Building and Testing Using AWS CodeBuild
9. Deploying to an EC2 Instance Using CodeDeploy
10. Deploying to ECS Clusters Using Code Deploy
11. Setting Up CodePipeline Code
12. Setting up an Automated Serverless Deployment
13. Automated Deployment to an EKS Cluster
14. Extending CodePipeline Beyond AWS
15. Appendix


1. 軟體架構模式
2. 微服務基礎知識和設計模式
3. CI/CD 原則和微服務開發
4. 基礎架構即程式碼
5. 使用 AWS CodeCommit 建立儲存庫
6. 使用 CodeGuru 自動化程式碼審查
7. 使用 CodeArtifact 管理專案成果物
8. 使用 AWS CodeBuild 建置和測試
9. 使用 CodeDeploy 部署到 EC2 實例
10. 使用 CodeDeploy 部署到 ECS 叢集
11. 設定 CodePipeline 代碼
12. 設定自動化無伺服器部署
13. 自動化部署到 EKS 叢集
14. 擴展 CodePipeline 超越 AWS
15. 附錄