หลังจากก่อนหน้านี้ Microsoft Azure จับมือกับ Pivotal
ทำการเปิดบริการ สำหรับการ deploy spring Boot application
บน Microsoft Azure ได้ ภายใต้ชื่อบริการ Azure Spring Cloud
ซึ่งทำงานอยู่บน Kubernetes cluster

ในตอนนี้ได้เปิดบริการเป็น public preview version
นั่นหมายความว่าเราสามารถลองเข้าไปใช้งานได้แล้ว
ดังนั้นมาลองใช้งานกันดู

โดยที่บริการนี้จะมีสิ่งต่าง ๆ ให้ใช้งาน

  • Container registry เอาไว้เก็บ Container Image นั่นเองเหมือนกับ Google Cloud Registry และ Docker Hub นั่นเอง
  • Service Registry ก็เอาไว้เก็บรายชื่อและรายละเอียดของ service ต่าง ๆ ใครอยากใช้งานก็มาค้นหาหรือ Discover` เอาได้เลย นี่มันเหมือน Eureka หรือ Service ใน Kubernetes นั่นเอง
  • Config Server ชื่อตรง ๆ ตัวคือ เอาไว้เก็บ configuration ต่าง ๆ ของระบบงาน ถ้าเป็นพวกข้อมูลที่ private มาก ๆ ไปใช้ Azure Key Vault ได้
  • ใช้งาน Data service ของ Azure ได้แน่นอน
  • ยังมี Circuit Breaker Dashboard ให้อีกด้วย นี่มันคือ Hystrix ใช่ไหม ?
  • มีพวก Monitoring ให้ทั้ง Alert, Metric, Logging และ Tracing

แสดงดังรูป

ก่อนอื่นก็ไปเปิดให้บริการก่อนที่ Azure Spring Cloud

จากนั้นมาเริ่มต้นการ deploy ระบบงานที่พัฒนาด้วย Spring Boot กัน

ใน blog นี้จะใช้งานผ่าน Azure CLI ดังนั้นไปติดตั้งก่อนได้เลย

ขั้นตอนที่ 1 สร้าง application ผ่าน Azure Spring Cloud

ในตัวอย่างจะสร้าง application ดังนี้

  • App name  = hello-microservice
  • Java environment = Java 8  (มีให้เลือก Java 11 อีกอัน)

หรือจะสร้างผ่าน Azure CLI ก็ได้ ในขั้นตอนที่ 3

ขั้นตอนที่ 2 สร้างระบบงานตัวอย่างง่าย ๆ ผ่าน Spring Initilzer 

ถ้าใครต้องการ feature ขั้นเทพ
ก็ไปเพิ่ม dependency ได้ แต่ผมต้องการแค่ hello world พอละ ไม่คิดมาก

ใช้คำสั่งสร้าง project ได้ดังนี้

ขั้นตอนที่ 3 สร้าง RESTFul API ง่าย ๆ และ deploy กัน

สร้าง JAR file และ deploy ผ่าน Azure CLI ต่อไปดังนี้

เมื่อทุกอย่างเรียบร้อย ก็ใช้งานกันเลย
มีของให้เล่นและใช้งานเพียบ ทั้ง

  • Monitoring  เช่น Alert, Metric, Logging และ Distributed tracing
  • Health check
  • Config server

จากนั้นก็ทดสอบผ่าน URL ที่ให้มาได้เลย มันจะช้า ๆ หน่อย
แต่ก็ทำงานได้นะ ที่เหลือก็ไปลองเล่นกัน
บอกได้คำเดียวว่าเพียบ

ปล. ใจเย็น ๆ หน่อย มิเช่นนั้นจะเจอ Error แบบนี้