รีวิวฝึกงาน DevOps Engineer 6 เดือน ที่ Opsta บริษัทของแทร่ด้าน DevSecOps

Peeranat Ounhanan
5 min readApr 30, 2024

--

สวัสดีครับ เจอกันอีกแล้วนะครับ รอบนี้มารีวิวประสบการณ์ในการฝึกงานที่ บริษัท ออพซ์ตา (ประเทศไทย) จำกัด หรือ Opsta | DevSecOps as a Service นั่นเอง! สำหรับใครที่กำลังมองหาที่ฝึกงานด้าน DevOps หรือ DevSecOps แบบเข้มข้นของแทร่ บอกได้คำเดียวว่าต้องลองมา Opsta ครับ

เพราะที่นี่จะมีอะไรให้คุณได้ลองทำมากมายและเยอะมาก ด้วยความที่ว่า Opsta ทำหน้าที่ให้คำปรึกษาและออกแบบ Solution ให้กับลูกค้า ทำให้เราจำเป็นต้องเรียนรู้อยู่ตลอดเวลา และต้องรู้ลึก รวมถึงรู้กว้าง เพราะพี่ ๆ ใน Opsta หลาย ๆ คนที่ผมได้มีโอกาสร่วมงานด้วย ทุกคนล้วนเป็นสาย T-shaped skills กันหมด เช่น ทีมที่ผมอยู่นั้นพี่ๆทุกคนต่างมีความรู้ในมุมกว้างและมุมลึกแตกต่างกันไป ล้วนเป็นส่วนผสมที่ลงตัวมากๆ ซึ่งรู้สึกแฮปปี้ครับที่ได้เข้าร่วมทีมนี้

สำหรับใครที่สงสัยว่า DevOps และ DevSecOps คืออะไร สามารถกดลิงค์ด้านล่างได้เลยครับ

DevSecOps คืออะไร? ต่างจาก SRE และ Platform Engineer อย่างไร? | Skooldio Support EP. 11 (youtube.com)

DevOps ที่แท้จริงเป็นยังไง? | Career Lab EP.1 (Part 1) (youtube.com)

สำหรับมือใหม่อยากท่องมาในจักรวาล DevSecOps

Opsta ทำอะไร?

บริษัท Opsta คือ บริษัทที่เชี่ยวชาญ Solution ในด้าน DevSecOps โดยที่ Opsta เรานั้นจะทำนั้นหลัก ๆ คือ ให้คำปรึกษาในการทำ DevSecOps Transformation ให้กับองค์กรที่ต้องการสร้าง DevSecOps Culture ให้แก่องค์กรของตนเอง โดย Solution ที่เราให้คำปรึกษากับลูกค้านั้น มีทั้งเป็นในเชิง Custom solution บน On-premise, On-cloud (AWS, GCP, Azure) และ Platform engineering อย่าง Product ของ Opsta ที่ชื่อว่า Opstella (DevSecOps Platform)

Opstella Just push your code, we do the rest

หนทางสู่เทพด้าน DevSecOps

สำหรับใครที่สนใจอยากเป็นเทพด้าน DevSecOps สามารถจิ้มลิงค์นี้ได้เลยครับ Opsta | DevSecOps as a Service และกด Join Us ได้เลยยยยยย! หรือ สามารถติดตามข่าวสารต่างๆ ของทาง Opsta ได้ที่ Opsta Career

DevOps Engineer Starter Pack

Opsta Career — Opsta ภูมิใจนำเสนอ Set สำหรับชาว Tech ที่ลอง Fit… | Facebook

จากวันแรกถึงวันสุดท้ายที่ฝึกงาน

ตลอดระยะเวลา 6 เดือนที่ผมได้ฝึกงานกับ Opsta นั้น เรียกได้ว่าเข้มข้นและครบเครื่อง ทั้ง Technical Skill และ Soft Skill เลยครับ เพราะตลอด 6 เดือน ผมมีโอกาสได้ดูแลโปรเจคทั้งหมด 3 โปรเจค แถมยังมีโปรเจคที่ได้เดินทางไปทำงานที่ต่างประเทศอีกด้วย!!!!

แต่ก่อนที่เราได้ไปลุย Project จริงนั้น ช่วง 1 เดือนแรกทาง Opsta จะมี Bootcamp ให้กับพนักงานทุกคนที่เข้ามาและพนักงานใหม่ทุกคนจะมีพี่เลี้ยงที่คอยเป็น Mentor เราให้คำแนะนำสำหรับการเรียน Bootcamp และทำ Project ตลอด 1 เดือน เพื่อให้เราได้เรียนรู้และปูพื้นฐานเกี่ยวกับ Fundamental รวมถึง Tech stack ที่จะได้ใช้ในการทำงาน เพื่อเตรียมความพร้อมก่อนลุยงานจริง ซึ่งในช่วง 1 เดือนแรกนั้นเนื้อหาที่เราจะได้เรียนหลัก ๆ จะแบ่งออกตามนี้

DevSecOps Fundamental
● Introduction
○ DevSecOps Trend
○ What is DevSecOps?
○ DevSecOps and Agile
● DevSecOps Flow & Components
● Version Control System (VCS)
○ Git Features
○ Git Branching System
○ Git Branching Strategies
● CI/CD & Artifacts
○ Continuous Integration
○ Continuous Delivery
■ Deployment Strategies
■ Feature Release Strategies
○ CI/CD Pipeline and Tools
● Modern Infrastructure
○ Cloud
○ Docker
○ Kubernetes
● Infrastructure Automation
● Communication
● MonitoringAutomation Security
○ Monitoring Stack
○ Monitoring Tools
● Performance Load Testing
● Automation Security
○ Pre-commit Stage
○ Acceptance Stage
○ Production Stage
● Cloud-Native
DevSecOps Workshop
● Workshop Overview
● Git Version Control Theory
○ Git Architecture
○ SSH Key and Markdown
● Git Version Control Workshop
○ Git Local Repository
○ Git Remote Repository
○ Git Clone & Pull
○ Git Branching
● Docker Theory
○ Docker Concept (1)
○ Docker Concept (2)
● Docker Workshop
○ Docker Image and Docker Container
○ Docker Basic Operation
○ Docker Daemon Container
○ Docker Utility Commands
● Docker with rating service
○ Dockerfile for rating service
○ MongoDB Container (1)
○ MongoDB Container (2)
○ Docker Compose (1)
○ Docker Compose (2)
○ Docker Compose (3)
○ Wrap Up
● Kubernetes Theory
○ Introduction
○ Kubernetes Pod & Deployment
○ Kubernetes Service
○ Kubernetes Ingress
○ Kubernetes Namespace and Rolling Update
○ Kubernetes Manifest File
● Kubernetes Workshop
○ Preparation
○ Deploy Nginx on Kubernetes
○ Manage Deployment
○ Kubernetes Utility Commands
○ Kubernetes Manifest File
● Kubernetes with Rating Service Workshop
○ Prepare Docker Registry and Secret
○ Deploy Rating Service
● Helm Theory
○ Introduction
● Helm Workshop
○ Deploy MongoDB with Helm
○ Customize Helm MongoDB
○ Create Ratings Helm Chart
○ Create Ratings Helm Value
○ UAT and PRD Environments
● Jenkins Theory
○ Introduction
● Jenkins Workshop
○ Prepare Jenkins
○ Create Jenkins Job to Build
○ Create Jenkins Job to Deploy
○ Create Jenkins Job for UAT
○ Jenkinsfile for multibranch job
○ Jenkinsfile for deployment to production
○ Jenkins Wrap Up
● Automation Security
○ Static Application Security Testing
○ SAST to Pipeline
○ Software Composition Analysis to Pipeline
○ Docker Image Security to Pipeline
○ Infrastructure as Code Security

โดยเราจะต้องเรียนทั้งหมดนี้ให้จบภายใน 1 เดือน รวมถึงทำ Project ด้วย ซึ่ง Project ที่จะได้ทำใน Bootcamp ก็จะเชื่อมโยงสิ่งที่เราได้เรียนรู้จากเนื้อหาด้านบน ตัว Project ที่พอจะสปอยล์ได้ คืออ เราจะต้องทำทุกอย่างให้เป็น Automation นั่นเองงง อิอิ ❤

ขอบคุณพี่โอม (พี่เลี้ยง) ทั้งตอนทำ Bootcamp และตอนทำ Project A มากนะครับ ที่คอยช่วยเหลือและคำปรึกษา รวมถึงเตือนผมว่านอนบ้างเถอะ55555

Project A : Project Centralized CI Platform on Amazon ECS

Project นี้ผมได้รับหน้าที่ Design, Research สำหรับ PoC และนำ Output ที่ได้จากการ Research นั้นมาพัฒนา Infrastructure as a Code เพื่อทำ Automation provisioning resource บน AWS ด้วย Terraform

โดย Solution ตัวนี้หลัก ๆ คือ สร้างตั้งแต่ Network, VPC, IAM, ECS, EFS, Backup และ Resources อื่น ๆ ที่จำเป็น ซึ่งรายละเอียดเชิงลึกของโปรเจคนั้นจะไม่สามารถเล่าได้เท่าไรร เอาเป็นว่าโปรเจคนี้เป็นโปรเจคแรกที่ผมได้ทำแล้วรู้สึกว่าสนุกมากกกกกก เพราะต้อง Research ทำ PoC ทุกวัน เพื่อเตรียมตัวตอบคำถามที่พี่ตูมตาม (Tech Lead) ที่จะมาถามมม ตอนทำไม่ค่อยรู้สึกกดดัน เพราะทุกวินาทีที่ผ่านไป รู้สึกมันส์ รู้สึกว่านี่แหละ เรายังมีสิ่งที่ไม่รู้และมองข้ามไปอีกเยอะมาก พอเจอ Case ต่าง ๆ ที่พี่ตูมตามได้ถามมา ต้องขอขอบคุณพี่ตูมตามที่ทำให้เวลาจะคิดอะไรต้องถี่ถ้วนและรอบคอบ รวมถึงต้องมองให้ครบทั้งกว้างและลึก

Project B : Project Opstella DevSecOps Platform Hybrid Cloud (3 Clusters)

ในส่วนของ Project นี้ หน้าที่ผมหลัก ๆ คือ ทำการนำ Script Terragrunt และ Terraform สำหรับการติดตั้ง Opstella มาติดตั้งใน Cluster ลูกค้า ความท้าทายของ Project นี้ คือ การที่เราต้องศึกษาตัว Script ที่ถูกพัฒนามาแล้วและนำมาปรับใช้กับ Case ของลูกค้าเจ้านี้ต่อภายในเวลาที่จำกัด 555555 เพื่อให้สอดคล้องกับ Architecture ที่ถูกออกแบบ และที่สำคัญมันเป็นโครงการภาค 2 ที่บางส่วนที่เคยถูกติดตั้งไว้แล้วบน On-premises โดยครั้งนี้จะเป็นการมาทำบน On-cloud เพื่อให้เกิด DevSecOps Platform on Hybrid Cloud

ซึ่งนี่ก็เป็นประสบการณ์ผมครั้งแรกเหมือนกันนน เพราะ Tools ต่าง ๆ ที่ Opstella ใช้ในการทำ DevSecOps Platform มีหลายตัวที่ผมไม่เคยใช้เยอะมากกกก และตัวผมเองก็พึ่งจะได้จับตัว Product ของ Opsta เป็นครั้งแรก เรียกได้ว่าก็มี Learning curve อยู่บ้าง แต่โชคดีที่มีพี่ ๆ คอยช่วยเหลือ คอยให้คำแนะนำ ทั้งพี่ในทีมและนอกทีม ทำให้เราสามารถผ่านมันไปได้

Project C : Project Opstella DevSecOps Platform Hybrid Cloud (8+1 Clusters)

เช่นกันใน Project นี้ ผมก็มีหน้าที่คล้ายกับ Project B แต่สิ่งที่น่าตื่นเต้นของ Project นี้ คือ การที่ทีมที่ผมอยู่นั้นเราต้องบินมาทำงานให้กับลูกค้าที่ต่างประเทศเป็นระยะเวลา 3 สัปดาห์ ในการเตรียม Infrastructures ทั้งหมด 8+1 Cluster แบ่งเป็น On-premises 4 + 1 Clusters

ซึ่งในฝั่ง On-prem นั้นเราจะต้องติดตั้ง Kubernetes เองผ่านการใช้ Rancher นั่นเอง บอกเลยว่างานนี้เทพแบงค์ (พี่แบงค์) ของเราช่วยแบกให้การติดตั้ง Kubernetes Cluster ด้วย Rancher บน On-prem ผ่านไปได้ด้วยดี

ทำให้ทีมเราทำสถิติในการเตรียม Infra ทั้ง On-prem, On-cloud, Network, ติดตั้ง Kube component สำหรับการติดตั้ง Opstella (DevSecOps Plaform) ภายในเวลาไม่ถึง 10 วัน ตลอดระยะเวลา 3 สัปดาห์ที่อยู่ต่างประเทศนั้น อารมรณ์เหมือนเข้าค่าย Hackathon มาก555 เพราะว่าต้องทำงานแข่งกับเวลาที่มีจำกัด และมีปัญหาติดขัดมากมายตอนมาหน้างาน แต่ทั้งหมดทีมเราก็ผ่านมาได้อีกเช่นเคย ขอบคุณพี่ขวัญ พี่โบ๊ท พี่แบงค์ และพี่ก๊อดนะครับ สำหรับโปรเจคสุดท้ายก่อนฝึกงานจบ

สังเกตุว่าในบทความรอบนี้ผมไม่ค่อยมีพูดถึง Tech stack หรือ Technical สักเท่าไร เพราะสิ่งที่ผมอยากแชร์เป็นอีกด้านนอกจากความแข็งด้าน Technical ของ Opsta ที่ใครๆก็กล่าวขาน

นั่นก็คือ ประสบการณ์การฝึกงานที่ดีที่สุดสำหรับผมตลอดระยะเวลา 6 เดือนที่ผมได้รับ ซึ่งถ้าใครอยากรู้ว่า Technical ของ Opsta เป็นอย่างไร ของแบบนี้ต้องมาลองด้วยตัวเองครับ และคุณจะเข้าใจคำว่า “ของแทร่ด้าน DevSecOps”

สุดท้ายและท้ายสุดขอขอบคุณพี่เดียร์ CEO ของ Opsta ที่ให้โอกาสผมได้เข้ามาเป็นส่วนหนึ่งของบริษัท Opsta และพี่ ๆ อีกหลายท่านใน Opsta ที่ให้การสนับสนุนและให้ความช่วยเหลือ รวมถึงโอกาสผมได้ลองทำอะไรหลายอย่าง ตลอดระยะเวลา 6 เดือนที่ผ่านมาครับ

ให้รูปมันเล่าเรื่องงงงงงงง

Opsta ในยุคที่ผมอยู่มันเป็นสิ่งที่สนุกมาก ๆ นะครับ ขอบคุณพี่ ๆ ทุกคนมากครับ

--

--

Peeranat Ounhanan

Gold Microsoft Learn Student Ambassador | Now I'm interested in cybersecurity and devsecops in order to increase application security.