ตำแหน่งไอทีที่มาแรงในช่วงนี้ DevOps

  • ตำแหน่งงานมาแรงหนีไม่พ้น DevOps มาทำความรู้จักกัน
  • DevOps เป็นหนึ่งในหน้าที่หรือบทบาทที่เกี่ยวข้องกับการพัฒนาและดูแลระบบซอฟต์แวร์ในระบบปฏิบัติการที่เข้ากันได้ (compatible) ระหว่างทีมพัฒนาซอฟต์แวร์ (Development Team) และทีมดูแลระบบ (Operations Team) โดยมีเป้าหมายหลักในการเพิ่มประสิทธิภาพและความรวดเร็วในกระบวนการพัฒนาและการให้บริการซอฟต์แวร์ นี่คือบางหน้าที่หลักของ DevOps:
  • แต่ละองค์กรกำหนดหน้าที่แตกต่างกันไป ขอแจงเป็นภาพรวม ดังนี้
  • 1 – ประสานงานระหว่างทีมพัฒนาระบบกับทีมดูแลระบบเซิร์ฟเวอร์
  • 2 – ผู้รับผิดชอบในการออกแบบและสร้างระบบต้นแบบ (Infrastructure as Code) เพื่อให้ระบบสามารถสร้างและตั้งค่าโดยอัตโนมัติ และสามารถทำงานได้อย่างเสถียรและยืดหยุ่น
  • 3 – การติดตั้งและกำหนดค่าระบบ โดยมีการเลือกใช้เครื่องมือที่ทำงานได้ออัตโนมัติ เพื่อให้การทำงานถูกต้อง และ แม่นยำ
  • 4 – ดูแลเรื่องการเปลี่ยนแปลงของระบบ มีการวิเคราะห์ผลกระทบที่อาจเกิดขึ้น มีการวางแผน ทดสอบ เป็นต้น
  • 5 – การวางแผนและดำเนินการทดสอบซอฟต์แวร์เพื่อให้มีคุณภาพสูง รวมถึงการใช้เทคนิคและเครื่องมือที่เหมาะสมในการทดสอบอัตโนมัติ เพื่อตรวจสอบความถูกต้องและประสิทธิภาพของระบบ
  • 6 – ตรวจสอบความปลอดภัย การดูแลความมั่นคงของระบบ การเข้ารหัส และการป้องกันการโจมตีทางไซเบอร์
  • 8 – ติดตามและการวัดผลในระบบ เพื่อตรวจสอบสถานะ ประสิทธิภาพ และปัญหาที่เกิดขึ้น เพื่อทำการปรับปรุงและปรับแก้ไขตามต้องการ
  • 7 – การสำรองข้อมูลและการกู้คืนข้อมูล เพื่อให้ข้อมูลอยู่ในสภาพแวดล้อมที่ปลอดภัยและสามารถเข้าถึงได้
  • หน้าที่ของ DevOps อาจแตกต่างไปตามองค์กรและบริบทที่ต่างกัน แต่ทุกครั้ง DevOps มุ่งเน้นการรวมกันของการพัฒนาและการดูแลระบบ เพื่อให้มีการสร้างแลเพิ่มความรวดเร็วในกระบวนการพัฒนาและการส่งมอบซอฟต์แวร์ รวมถึงเพิ่มประสิทธิภาพในการดูแลระบบและการสนับสนุนลูกค้า ทั้งนี้ DevOps ยังเน้นการใช้เทคโนโลยีอัตโนมัติ เครื่องมือและกระบวนการเพื่อให้การพัฒนาและการดูแลระบบเป็นไปอย่างราบรื่นและมีประสิทธิภาพสูงขึ้น
  • เครื่องมือสำหรับ DevOps มีอะไรบ้าง เพียงบางส่วนเท่านั้น
  • 1 – Jenkins: สร้างและจัดการระบบแบบอัตโนมัติ (Automation) สร้างและทดสอบโค้ด รวมถึงการปรับปรุงของซอฟต์แวร์
  • 2 – Git: จัดการเวอร์ชันของ Source Code เช่น การอัพโหลด อัพเดท
  • 3 – Docker: จัดการการสร้างและเรียกใช้สิ่งที่เรียกว่า “containers” เพื่อให้แอปพลิเคชันทำงานได้บนแพลตฟอร์มที่แตกต่างกัน
  • 4 – Kubernetes: จัดการและควบคุมคลัสเตอร์ของ containers ซึ่งช่วยให้สามารถรันและจัดการกับแอปพลิเคชันที่มีขนาดใหญ่และเครื่องเซิร์ฟเวอร์หลายเครื่องได้อย่างมีประสิทธิภาพ
  • 5 – Ansible: จัดการระบบและการกำหนดค่าอัตโนมัติที่ใช้ในการติดตั้งซอฟต์แวร์และการกำหนดค่าระบบต่างๆให้กับหลายๆเครื่องเซิร์ฟเวอร์
  • 6 – Terraform: สำหรับสร้างและจัดการโครงสร้างพื้นฐาน (Infrastructure as Code) ในส่วนงาน Infrastructor
  • 7 – Puppet: เครื่องมือการจัดการระบบอัตโนมัติที่ช่วยในการกำหนดค่าและจัดการการติดตั้งและการดูแลระบบ
  • 8 – ELK Stack (Elasticsearch, Logstash, Kibana): เครื่องมือที่ช่วยในการรวบรวม วิเคราะห์ และแสดงผลข้อมูลการเข้าถึงและบันทึกข้อผิดพลาด (logs) ในระบบ หรือ สามารถใช้ Splunk แบบทดลองใช้งานฟรี แต่ใช้ได้จริง
  • เก็บ Log จริงได้ไม่เกิน 500 MBต่อวัน
  • มาดูระบบของ DevOps กันบ้าง ซึ่งแต่ละองค์กรจะมีการแบ่งหรือจำแนกแตกต่างกัน
  • 1 – DevOps Engineer: ผู้รับผิดชอบในการออกแบบและดูแลระบบพัฒนาและดูแลระบบเพื่อให้ได้รับประสิทธิภาพสูงสุด รวมถึงการจัดการอัตโนมัติ
  • 2 – DevOps Architect: ผู้รับผิดชอบในการออกแบบและวางแผนสถาปัตยกรรม DevOps และระบบพัฒนา รวมถึงการสร้างและบริหารจัดการเครื่องมือเพื่อสนับสนุนการพัฒนาและการดูแลระบบ
  • 3 – Automation Engineer: ผู้รับผิดชอบในการสร้างและดูแลระบบอัตโนมัติ เช่น การสร้างสคริปต์การกำหนดค่าและการจัดการระบบ การออกแบบและการพัฒนาเครื่องมืออัตโนมัติ และการเขียนสคริปต์เพื่อให้กระบวนการเป็นอัตโนมัติ
  • 4 – Cloud Engineer: ผู้รับผิดชอบในการออกแบบและดูแลระบบคลาวด์ รวมถึงการกำหนดค่าและการจัดการคลาวด์การติดตั้งและการกำหนดค่าบริการคลาวด์ เช่น AWS, Azure, Google Cloud และการจัดการความปลอดภัยของระบบคลาวด์
  • 5 – Infrastructure Engineer: ผู้รับผิดชอบในการออกแบบและดูแลพื้นฐานของระบบ IT รวมถึงการติดตั้งและการกำหนดค่าอุปกรณ์เครือข่าย การจัดการเครื่องเซิร์ฟเวอร์ และการติดตั้งระบบสำรองข้อมูล
  • 6 – DevOps Consultant: ผู้ให้คำปรึกษาและคำแนะนำเกี่ยวกับ DevOps ให้กับองค์กรหรือโครงการ รวมถึงการออกแบบและการดูแลกระบวนการ DevOps เพื่อสนับสนุนการพัฒนาและการดูแลระบบ
  • 7 – Release Manager: ผู้รับผิดชอบในการวางแผนและการดำเนินงาน ทดสอบระบบก่อนปล่อยซอฟต์แวร์ ตลอดจน การจัดการการเปลี่ยนแปลง และการประสานงานกับทีมพัฒนาและทีมดูแลระบบ
  • 8 – Site Reliability Engineer (SRE): การออกแบบและดูแลระบบที่มีความเสถียรสูง รวมถึงการคาดการณ์และการจัดการปัญหาในระบบ การเขียนสคริปต์อัตโนมัติ เพื่อตรวจสอบสถานะและการดูแลระบบ
  • 9 – Continuous Integration/Continuous Deployment (CI/CD) Engineer: ออกแบบและดูแลกระบวนการ CI/CD รวมถึงการตั้งค่าและการจัดการเครื่องมือ CI/CD เช่น Jenkins, GitLab CI/CD, AWS CodePipeline เป็นต้น
  • มาดูเรื่องเงินเดือนกันบ้าง
  • นี้เพียงการคาดการณ์เพียงเท่านั้น
  • ตำแหน่ง DevOps ในประเทศไทย สามารถใช้ข้อมูลเฉลี่ยดังต่อไปนี้เป็นข้อมูลประมาณการ:
  • ระดับ Entry-level (ผู้มีประสบการณ์งาน 1-3 ปี): ประมาณ 30,000 – 50,000 บาทต่อเดือน
  • ระดับ Middle-level (ผู้มีประสบการณ์งาน 3-5 ปี): ประมาณ 50,000 – 80,000 บาทต่อเดือน
  • ระดับ Senior-level (ผู้มีประสบการณ์งานมากกว่า 5 ปี): ประมาณ 80,000 บาทขึ้นไปต่อเดือน

Leave a Reply

Your email address will not be published. Required fields are marked *