เครื่องมือ: ระบบนิเวศ

แนวคิด DevOps

Cem Sakarya

DevOps Risk Advisor

ความต้องการ

 

  • การเชื่อมต่อระหว่างธุรกิจและวิศวกรรม
  • ใช้ตลอดกระบวนการจัดการการเปลี่ยนแปลงซอฟต์แวร์
  • เครื่องมือจัดการโปรเจกต์
  • เครื่องมือสื่อสาร

โลโก้ Jira

โลโก้ Slack

โลโก้ Discord

1 https://atlassian.design/foundations/logos 2 https://slack.com/media-kit 3 https://discord.com/branding
แนวคิด DevOps

ซอฟต์แวร์ควบคุมเวอร์ชัน

  • เทคโนโลยีหลักในการจัดการการเปลี่ยนแปลงคือ git
  • Git เป็นโปรโตคอลสำหรับควบคุมเวอร์ชัน
  • Git ช่วยให้นักพัฒนาหลายคนทำงานบนซอฟต์แวร์เดียวกันได้
  • Git มีหลายการใช้งาน ที่พบมากที่สุดคือ GitHub และ GitLab

  Git

Github

Gitlab

1 https://git-scm.com/downloads/logos 2 https://github.com/logos 3 https://about.gitlab.com/press/press-kit/
แนวคิด DevOps

เครื่องมือ Build

 

  • ซอฟต์แวร์ต้องผ่านการ build จึงจะสามารถรันได้
  • เครื่องมือ build หลักได้แก่ Maven และ Gradle

 

Maven

 

Gradle

1 https://maven.apache.org/ 2 https://gradle.com/brand/
แนวคิด DevOps

เครื่องมือ CI/CD

 

  • CI/CD pipeline คือหลักการสำคัญของ DevOps
  • CI/CD pipeline รองรับการ build ทดสอบ และ deploy ซอฟต์แวร์โดยอัตโนมัติ
  • เครื่องมือ CI/CD หลักได้แก่ Jenkins และ CircleCI

 

โลโก้ Jenkins

 

โลโก้ CircleCI

1 https://www.jenkins.io/press/ 2 https://circleci.com/legal/trademark-guidelines/
แนวคิด DevOps

การ Deploy

 

  • Microservice แต่ละตัวพัฒนาและ deploy แยกจากกัน
  • Container จำลองการทำงานของเครื่องแยกต่างหาก
  • Microservice ถูก deploy บน container แยกต่างหาก
  • Container: Docker และ Podman
  • การจัดการ container: Kubernetes

โลโก้ Docker

โลโก้ Podman

โลโก้ Kubernetes

1 https://www.docker.com/company/newsroom/media-resources/ 2 https://podman.io/ 3 https://kubernetes.io/
แนวคิด DevOps

เครื่องมือ Monitoring

  • ผลิตภัณฑ์ต้องได้รับการตรวจสอบอย่างใกล้ชิดด้านคุณภาพและความน่าเชื่อถือ
  • ติดตาม health ของ DevOps และ metric การจัดการการเปลี่ยนแปลง
  • ตัวอย่างเครื่องมือ monitoring ได้แก่ SignalFX และ AppDynamics

โลโก้ SignalFX

 

โลโก้ AppDynamics

1 https://www.splunk.com/en_us/products/observability.html?301=/en_us/devops.html
แนวคิด DevOps

เครื่องมือจัดการข้อมูล: Kafka

 

  • Kafka คือระบบ message publishing
  • Kafka ถูกใช้งานอย่างแพร่หลายในสถาปัตยกรรม microservices
  • Microservice บันทึกการทำงานลงใน Kafka

โลโก้ Apache Kafka

1 https://kafka.apache.org/trademark
แนวคิด DevOps

เครื่องมือจัดการ Data Pipeline

 

  • เครื่องมือส่วนใหญ่รองรับทั้ง batch processing และ streaming processing
  • เครื่องมือหลักสำหรับจัดการ data pipeline ได้แก่ Apache Airflow, Hevo Data และ Prefect

Apache Airflow

Hevo Data

1 https://cwiki.apache.org/confluence/display/AIRFLOW/Airflow%20logos 2 https://design.hevodata.com/ 3 https://www.prefect.io/newsroom/logos/
แนวคิด DevOps

สรุป

เครื่องมือทั้งหมดที่แสดงบน DevOps Cycle

แนวคิด DevOps

มาฝึกกันเถอะ!

แนวคิด DevOps

Preparing Video For Download...