The Cloud Camp Week#04 (Agile)

สำหรับสัปดาห์นี้มาพักเรื่อง Technical บ้าง มาคั่นด้วยแนวคิด Agile กันครับ ที่เป็นแนวคิดมาแรงในยุคนี้ หลายที่ทำสำเร็จ หลายทีทำตาม หลายทีล้มเหลว อย่างบริษัทที่ผมทำอยู่ ทำเพราะ CMMI ใส่คำนี้ 55555 (เมาส์ได้ทั้งวัน เรื่องนี้) สำหรับ Blog นี้ที่จดๆมา จะมีหัวข้อ ประมาณนี้ Introduction to Agile Agile คืออะไร แนวทางการทำงานเป็นขั้นตอนและงานด้านเอกสารลง เน้นการสื่อสาร เปิดรับ Feedback มากขึ้น เพื่อให้ตัว Product ออกมาได้ตรงตามที่ต้องการมากที่สุด ส่วนตัวผมไม่อยากใช้คำว่า Agile แล้วไว เพราะมันเป็นคำที่ผู้บริหาร ฟังไปแล้วเข้าใจผิดมากที่สุดเลย แบบเดิมใช้ 4 เดือน Agile แล้วต้องเหลือ 2 เหลือ ลดลงจริง แต่เป็นคนทำงาน ฝ่างงงง สำหรับคนที่ทำงานสายนี้ มี Cert เหมือนกันนะ อันนี้เพิ่งรู้เลย มี 2 ตัว Doing Agile / Being Agile อันนี้เป็นคำที่ผมไม่เคยได้ยินจากใน บ นะ หรือ Consult CMMI โผล่มาคุ้ม Scrum เลย แล้ว 2 คำนี้มันต่างกันยังไงนะ ? ** ถ้า ผบห ระดับสูงลงมาใน Loop ด้วย นอกจากการสั่งๆ ให้ทำ จะดีมาก Why Agile? เพราะแบบเดิมที่ทำกันมาอย่าง Waterfall ซึ่งมีการทำงานชัดเจน เป็นลำดับขั้นตอน (Defined Process) ซึ่งมันให้ Feedback มาช่วยท้ายๆของ กระบวนการ ทำให้แก้ไขได้ยากขึ้น + Cost…

Windows11/10 OpenSSH Server Public Key authentication

empty train rail with light

ภาพรวมการทำงานที่ Client ใช้ ssh-keygen สร้าง Private + Public Key ขึ้นมา จากนั้นนำ Public Key ที่วางที่เครื่อง Server ในไฟล์ authorized_keys จากนั้นจะเป็นการทดสอบ Connect โดยมีขั้นตอน ดังนี้ How do you generate the SSH key pair ใช้คำสั่ง ssh-keygen เพื่อสร้าง SSH key pair ตอน Run คำสั่ง ssh-keygen จะใช้ Algorithm RSA ซึ่งอาจจะไม่ปลอดภัยในปัจจุบันแล้ว ถ้าต้องการใช้ Algorithm อย่าง ED25519 ตอนสร้าง SSH key pair แก้ไขคำสั่ง ดังนี้ โดยมันจะถาม Path ด้านล่าง ว่าให้เก็บที่ Path /home/<<YOUR_USERNAME>>/.ssh (C:\Users\<>/.ssh/) และชื่อไฟล์ id_rsa หรือ ถ้าใช้ ed25519 ก็จะเป็นชื่อไฟล์ id_ed25519 จากนั้นจะเป็นการกำหนด passphrase จะเป็นส่วนของ Password ที่ต้องใช้คู่กับ Key ถ้าไม่ต้องการกำหนดก็สามารถกด Enter ข้ามได้เลยครับ และรอระบบสร้าง public (.pub) และ private key ครับ โดยที่ทั้ง 2 ไฟล์นี้ ปกติแล้วจะถูกสร้างที่ Path C:\Users\<YOURUSERNAME>/.ssh Algorithm Default Private Key Name Default Public Key Name RSA id_rsa id_rsa.pub ed25519…

AZ-104: Prerequisites for Azure administrators

azure

สำหรับอันนี้จะเน้น Recap AZ-900 การใช้ Tools ต่างๆ ได้แก่ Azure portal / Azure Cloud Shell / Azure PowerShell และ Azure CLI Configure Azure resources with tools Use Azure Resource Manager Configure resources with Azure Resource Manager templates Automate Azure tasks using scripts with PowerShell Control Azure services with the CLI Deploy Azure infrastructure by using JSON ARM templates

XConf Thailand 2023

Note Blog นี้จดแบบตื่นเต้นไปครับ และอยู่ไม่จนจบงานด้วย เช้าแวะไปหาหมอ เสร็จเร็วเลยแวะเข้างาน และบ่ายงานเข้า เลยเป็นที่มาว่า Blog ออกช้า สำหรับหัวข้อที่จดๆมามี Green software: How can tech contribute to worldwide sustainability effort? – (Thai) by Chakrit Riddhagni Tech ปล่อย Carbon 2% ของโลก (carbon emission) พอกับอุตสาหกรรมการบิน โดยมาจากกลุ่มใหญ่ Data Center / Cloud Green Software แนวคิด SW ลด carbon emission โดยมี 3 มุม Energy Efficiency / HW Efficiency/ และ Carbon Awareness เดี๋ยวจะมีแตกย่อยไปลง ซึ่งทำได้แต่ต้องมีวิธีวัดที่ชัดเจน (measurement) Green Software: Energy Efficiency Green Software: HW Efficiency Green Software: Carbon Awareness 1kw ไม่เท่ากัน Spatial Facfor โรงไฟฟ้า solar ถ่านหนิน Carbon Hack 2022 project น่าสนใจ Org Carbon Model ถ้าสนใจด้านนี้ Self-service for delivery value with platform engineering -(Thai) Bhuridech Sudsee and Variya…

The Cloud Camp Week#03 (Container 101)

สำหรับ Week มองว่าการทบทวนเรื่อง Container ของตัวผมเอง ใช้งานมาระดับนึง มีเรื่องที่รู้ และไม่รู้ด้วย ตาม Style การเรียนของผม แบบลักจำมาจากงาน Meetup ครับ มาลองดูสรุปสำหรับสัปดาห์นี้กันครับ 1. Why Container? ก่อนที่เราจะรู้ว่าทำไมถึงต้องใช้ Container ต้องมา Recap กันก่อน ว่าเมื่อก่อนเอา Software ไปติดตั้งที่อื่นกันยังไงครับ จาก Code > Build > Executable File เจ้าตัว Executable File มาห่อเป็น Software Package เอาติดตั้ง ยุคต่างๆของการติดตั้ง Software Package เล่าไว้หน่อยเผื่อน้องๆจบใหม่อ่าน โผล่เข้ามายุค Container เลย โดยมี 3 ยุค Note: Magic ที่ช่วยให้ Container มีอิสระ (Isolation) โดย key ที่ทำให้ Container เกิดขึ้นมา เนื่องจากตัว Linux Kernel มีตัว C-Group / Namespace ขึ้นRef: – What Are Namespaces and cgroups, and How Do They Work? – NGINX- Understanding Linux Namespace Types | by Luis Soares | Medium 2. Containers Basics – Docker Architecture – Docker…

Git Command 101

ปกติผมจะไม่ค่อยใช้ Command เลย นอกจากเขียนพวก Script ต่างๆ จะไป Google / Chat GPT เอาครับ คราวนี้มาลองสรุป Git แบบ Command กันครับว่ามีอะไรบ้าง git init git config git add git rm git status git commit git reset git remote git push git clone git fetch / git merge / git pull git branch git switch / git checkout git switch มันมีจุดเด่นเหนือกว่า git checkout มันออกแบบมาแก้ปัญหา แจ้งเตือนกรณีมีไฟล์แก้ และยังไม่ Commit อ๋อ แล้วเจ้า git checkout มันมีความสามารถหลายอย่างเลย ลองไปดูได้จากอันนี้ ปิดท้าย สำหรับความสัมพันธ์ของ Local / Remote จาก Action ต่างๆ สามารถดูรูปนี้ได้เลย จริงๆ ตัว Git Command มีมากกว่านี้อีกครับ อย่างพวก git tag / git slash เป็นต้น อันนี้ลองให้เห็นภาพ จากเดิมที่ผมกดจาก UI หรือหน้าเว็บ เปลี่ยนมาให้ Command แทน ถ้าต้องการศึกษาเพิ่มเติม ลองไปเล่นจาก Interactive Web…

Optimize Container image size

Container ships

จาก Blog ตอนก่อนที่ไปพบว่า docker image มีขนาดใหญ่มาก และถ้าปล่อยไปนานๆ ไม่น่าจะดีแน่นๆ หลังจากแก้ปัญหาเรียบร้อยไป ผมขอสรุป Step การ Optimize Docker image ครับ //ดองไปหลายเดือนกว่าจะเขียนจนจบได้ Best Practice – Use Minimal Base Images พยายามเลือกใช้ Base Image ที่เล็กที่สุด และน่าเชื่อถือด้วยครับ ส่วนใหญ่จะเป็นพวกตระกูล ข้อสังเกตุ – Minimize the Number of Layers การ Run Command แต่ละรอบ COPY กับ RUN chowns นี้เพิ่ม Layer ได้เหมือนกันนะ เป็นไปได้ ยุบรวมกัน ยิ่งถ้า Copy Folder มาแล้ว มันมี Sub Directory เยอะ พอแยก Command กัน ได้เป็นหลายชั้นเลย แบบอันนี้ [Container] แก้ปัญหา docker image โต ADD กับ RUN สามารถ Optimize ได้นะ เคสนี้จะเป็นเคสที่เรา download package จาก remote มาทำอะไรสั่งอย่าง และ execute command ต่อ ส่วนคำสั่ง RUN เป็นไปได้ยุบให้เหลือน้อยที่สุดครับ โดยตัวอย่างจะอยู่ในเรื่องถัดไปพอดีครับ – Installing dependencies & Cleaning in same layer เป็นไปได้ ไม่จำเป็น ไม่ต้องไปลงอะไรเพิ่มนะครับ แต่ถ้าเสี่ยงไม่ได้…

The Cloud Camp Week#02 (Cloud Native Architecture)

สำหรับสัปดาห์นี้จะเรียนให้หัวข้อ Cloud Native Architecture ว่าจะทำ App ให้เป็น Cloud Native ต้องเข้าใจเรื่องอะไรบ้าง 0. Recap Application Process / Application Deploy 1. How to manage a Lot of Traffic 2. Cloud Native Architecture Fundamental 3. Characteristic of Cloud Native 4. Autoscaling 5. Networking 6. Serverless 7. Open Standard 8. Cloud Native Roles 9. Community and Governance 10. CNCF Graduation Criteria v1.3 Reference 0. Recap Application Process / Application Deploy 1. How to manage a Lot of Traffic Traffic มาจากหลายส่วนไม่ว่าจะเป็น user หรือ ระบบเอง เราคงไม่สามารถสร้าง Server ขนาดใหญ่มาจัดการได้หมด เลยต้องมี Load Balancer มากระจาย Traffic ให้กับ App แค่ละตัวแต่ทว่าพอเพิ่ม App หลายๆตัวเข้ามา ใช่ว่าปัญหาจะจบ มันมีเรื่อง ปกติขา dotnet ที่ดูทำ API สำหรับ HealthCheck แต่ลองไปค้นๆมา…

บันทึกการ Redeem Azure Exam Voucher สำหรับสอบ On-Site ที่ศูนย์สอบ

จาก Blog ตอนก่อน [MS Cert] บันทึกการสอบ AZ-104 ที่แปะโป้งไว้ว่า เดี๋ยวจะมาเขียน Blog วิธีการ Redeem Voucher สอบฟรี และจองสอบ On-Site ที่ศูนย์สอบครับ หากใครที่ต้องการสอบ Online ที่บ้าน สามารถดูได้จาก Blog นี้ครับ บันทึกการ Redeem Azure Exam Voucher @HOME ส่วนใครที่ต้องการสอบ On-Site ที่ศูนย์สอบ สามารถอ่าน Blog หลังจากนี้ได้เลยครับ โดยมีขั้นตอนคร่าวๆ ดังนี้ ตรวจสอบสิทธิ เข้าไปในวิชาที่ต้องการ ผมจะยกตัวอย่างของ AZ-104 จากนั้น จากนั้นจะเข้าหน้าจอตรวจสอบสิทธิ มี 3 ข้อ Schedule Exam เมื่อเข้าถึงหน้าจอ Schedule Exam แล้ว จะถึง 3 ตัวเลือกที่สำคัญครับ แบบเลือกโปเกม่อนตัวแรก 55 ตรวจสอบ Schedule วันสอบ