Write Book II

Previous Thread

Six months have passed since my light bulb was on. Let’s get things sorted.

Concrete Architecture

First thing first, this project enqueuezero is on track. In particular, now it’s getting close to seeing the outline of the book. Concrete Architecture will be the book describing how the software architecture is. It has three parts:

  • Part I: Architecture Styles. It explains the general building styles of the software.
  • Part II: Architecture Blocks. It describes the solid pieces of software architecture.
  • Part III: Architecture Examples. It provides real-life architecture examples, including open source software and those well-known tech-companies’ software.

Hands-On Cloud Native Application

Second, I’m working on another project since the beginning of the month (Jan 2019) - tomato-coffee. I was unclear at first, but now I know what I’m expecting. “Hands-On Cloud Native Application” will likely be the book title. It will serve as both a document and a memo on how I development, and release my Pomodoro application to the cloud. It has below chapters (draft):

  • Introduction

Part I: Dev

  • Dev Introduction
  • Chapter 1. Create the Environment by Docker
  • Chapter 2. Write a Pomodoro Timer by React
  • Chapter 3. Write a Mocking API by JSON-Server
  • Chapter 4. Write a Real API by Flask and SQLAlchemy
  • Chapter 5. Sign in from GitHub by Authlib
  • Chapter 6. SQL Migration by Alembic
  • Chapter 7. Front-end & Backend-end Integration
  • Chapter 8. Test the application by Jest and Pytest

Part II: DevOps

  • DevOps Introduction
  • Chapter 9. Deploy to Heroku by Terraform
  • Chapter 10. Continuous Integration by Travis
  • Chapter 11. Deploy to AWS EKS by Terraform
  • Chapter 12. Deploy to DigitalOcean by Terraform
  • Chapter 13. Prepare for deployment by Helm
  • Chapter 14. Deploy to Kubernetes(minikube/EKS/DigitalOcean) by Terraform

Part III: Ops Ops Introduction

  • Chapter 15. ChatOPS by Hubot
  • Chapter 16. Chaos Engineering
  • Chapter 17. Collect Metrics by Prometheus
  • Chapter 18. Collect Logs by Fluentd
  • Chapter 19. Perform APM/Ping Check
  • Chapter 20. Perform Health Check by StatusPage
  • Chapter 21. Build a Monitoring Dashboard by Grafana
  • Chapter 22. Automate Toil Work by Python
  • Summary

Summary

By writing the posts in the enqueuezero, I realized writing is not an easy thing but it’s far from complicated. Sorting out the ideas and understanding the relationship between them is the most important thing. Then it’s all about adding words, grammar check, delete and rewrite refactor, pretty much like the programming loop. Hopefully, I’ll get more updates next time. :)