หลังจากก่อนหน้านี้ 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 ได้ดังนี้
[gist id="65be73549414824ced00336cd41223db" file="1.txt"]ขั้นตอนที่ 3 สร้าง RESTFul API ง่าย ๆ และ deploy กัน
สร้าง JAR file และ deploy ผ่าน Azure CLI ต่อไปดังนี้
[gist id="65be73549414824ced00336cd41223db" file="2.txt"]เมื่อทุกอย่างเรียบร้อย ก็ใช้งานกันเลย
มีของให้เล่นและใช้งานเพียบ ทั้ง
- Monitoring เช่น Alert, Metric, Logging และ Distributed tracing
- Health check
- Config server
จากนั้นก็ทดสอบผ่าน URL ที่ให้มาได้เลย มันจะช้า ๆ หน่อย
แต่ก็ทำงานได้นะ ที่เหลือก็ไปลองเล่นกัน
บอกได้คำเดียวว่าเพียบ
ปล. ใจเย็น ๆ หน่อย มิเช่นนั้นจะเจอ Error แบบนี้