การทดสอบ SMTP connection กับ G Suite SMTP relay service

[Cross-posted on blog.niwpopkorn.com] ลูกค้า G Suite นอกจากจะได้อีเมลให้ผู้ใช้ในองค์กรแล้ว หากต้องการส่งอีเมลออกจากระบบอื่นๆ เช่น เครื่อง printer หรือ app ภายใน สามารถตั้งค่าให้ส่งผ่าน G Suite SMTP relay service ได้ด้วย โดยไม่ต้องเสีย license user แต่อย่างใดโควต้าที่ Google ให้ลูกค้า G Suite ใช่ส่งอีเมลผ่าน SMTP relay นั้น คือ 130 เท่าของจำนวน G Suite license โดยโควต้านี้จะนับในช่วงเวลา 24 ชม. ตัวอย่างเช่น หากองค์กรของเรามี G Suite user 100 license ก็จะสามารถส่งอีเมลผ่าน SMTP relay ได้ 13,000 ฉบับ … Continue reading การทดสอบ SMTP connection กับ G Suite SMTP relay service

ตั้ง Active Directory แบบไม่ต้องดูแล server เอง ด้วย Managed Service for Microsoft Active Directory

[Cross-posted on blog.niwpopkorn.com] Microsoft Active Directory (MS AD) เป็นบริการจัดเก็บข้อมูลทั้ง user, group, computer และอื่นๆ ที่มีการใช้งานอย่างแพร่หลายในองค์กรขนาดกลางและขนาดใหญ่ ประโยชน์ที่ได้รับคือ องค์กรสามารถจัดการ directory ส่วนกลาง ว่าตอนนี้มีใครได้สิทธิ์อะไรบ้าง รวมถึง policy ต่างๆ ที่จะถูกกระจายไปที่เครื่องปลายทาง เมื่อมีการ join domain เข้ามา ช่วยให้องค์กรสามารถควบคุม policy บนเครื่องผู้ใช้งานได้ ทั้งในแง่ความปลอดภัย (เช่น การสั่งปิดการถ่ายโอนข้อมูลลง usb drive) ความสะดวกและความเป็นมาตรฐานในการใช้งาน (เช่น การสั่งติดตั้ง software พื้นฐานในการทำงาน ให้แต่ละแผนก) และยังสามารถใช้เป็นศูนย์กลาง เพื่อให้ app ต่างๆ ในองค์กร เข้ามาใช้ยืนยันตัวตนผู้ใช้งานได้อีกด้วย     การตั้ง AD server เพื่อใช้งานบน Google Cloud สามารถติดตั้งบน … Continue reading ตั้ง Active Directory แบบไม่ต้องดูแล server เอง ด้วย Managed Service for Microsoft Active Directory

ถ้ามั่นใจว่าใช้ยาว ก็ลดไปเลย 50% ด้วย Committed use discounts

[Cross-posted on blog.niwpopkorn.com] หากองค์กรของเรา มีการใช้งาน Google Cloud Platform ในกลุ่ม Compute Engine อย่างสม่ำเสมอ และคิดว่าจะมี workload อยู่นานเกิน 1 ปีหรือ 3 ปี เราสามารถลดค่าใช้จ่ายที่เกิดขึ้นได้ด้วย Committed use discount resource ที่สามารถลดราคาได้ด้วย Committed use discount มีดังนี้ครับ vCPUs memory GPUs SSDs VMs ใน service ที่จะได้ประโยชน์จาก Committed use discount  จะมี Google Kubernetes Engine Dataproc Compute Engine. หมายความว่า ถ้าเราซื้อ Committed use discount ไว้ใน project หรือ billing account … Continue reading ถ้ามั่นใจว่าใช้ยาว ก็ลดไปเลย 50% ด้วย Committed use discounts

ตรวจสอบการเข้าถึงข้อมูลบน GCP ด้วย Data Access audit log

[Crossed-posted on blog.niwpopkorn.com] การใช้งาน Google Cloud Platform นั้น หากเราต้องการตรวจสอบว่ามีใครเข้ามาทำอะไรกับระบบ หรือเข้ามาทำอะไรกับข้อมูลในระบบบ้าง สามารถตรวจสอบได้จาก Cloud Audit Logs ซึ่งมีข้อมูล log 3 แบบ และระยะเวลาการเก็บ log ดังตารางด้านล่าง Admin Activity เป็น log แสดงการเรียก API หรือการกระทำ ที่เกี่ยวข้องกับการดูแล GCP ที่แก้ไขค่า config หรือ metadata ของ resource ต่างๆ Data Access เป็น log แสดงการอ่านค่า config หรือ metadata ของ resource ต่างๆ รวมถึง การเรียก API ของผู้ใช้ในการ สร้าง แก้ไข อ่าน ข้อมูลที่ผู้ใช้ใส่เข้ามาในระบบ, log ประเภทนี้จะถูกปิดเป็นค่าเริ่มต้น (ยกเว้น … Continue reading ตรวจสอบการเข้าถึงข้อมูลบน GCP ด้วย Data Access audit log

การกำหนด quota บน GCP เพื่อป้องกันการเรียก Maps API เยอะจนตังค์หมด

[Crossed-post on blog.niwpopkorn.com] หากใครที่กำลังพัฒนา application และมีการเรียกใช้งาน Google Maps Platform ที่เป็นบริการให้ข้อมูลด้านแผนที่ เส้นทาง หรือสถานที่ต่างๆ Google มี quota ให้ใช้งานได้ฟรี $200 ทุกเดือน Google ให้ใช้ Maps API ได้ฟรี $200 ทุกเดือน ส่วนที่เกินจาก $200 นั้นจะคิดค้าใช้งานตามจำนวนการเรียกใช้ API ตามรายละเอียดในหน้า Pricing & Plans ตารางราคา Places API ที่คิดค่าใช้จ่ายทุก 1,000 request จุดที่ต้องระวังคือ ระหว่างที่กำลังพัฒนา application อยู่นั้น มีความเป็นไปได้ที่ code ที่ยังเขียนไม่สมบูรณ์ จะมีการเรียกใช้ API เป็นจำนวนมาก (เช่น การวน loop ไปเรื่อยๆ) ทำให้เกิดค่าใช้จ่ายโดยไม่จำเป็น (และไม่รู้ตัว) ค่าใช้จ่ายที่เกิดจากการเรียกใช้ Places API … Continue reading การกำหนด quota บน GCP เพื่อป้องกันการเรียก Maps API เยอะจนตังค์หมด

ออกแบบระบบให้คุยข้าม module กันได้ ด้วย Pub/Sub

[Cross-posted on blog.niwpopkorn.com] เมื่อนานมาแล้ว ผมพัฒนา Apps Script ขึ้นมาตัวหนึ่ง เพื่อดึงข้อมูลจาก Reseller API มาตรวจสอบ หากเข้าเงื่อนไขที่กำหนดไว้ script ก็จะส่งอีเมลแจ้งเตือนไปยังทีมงานที่ดูแลข้อมูลชุดนั้น เมื่อเวลาผ่านไปนานเข้า จำนวนข้อมูลที่ต้องตรวจสอบก็เยอะขึ้น และจำนวนอีเมลที่ต้องส่งแจ้งเตือนออกไปก็มากขึ้นเป็นเงาตามตัว จนถึงขีดจำกัดของ script account ที่ผมใช้รัน script เพื่อดึงข้อมูลจาก Reseller API นั้น เป็น G Suite free editon ซึ่งมีข้อจำกัดในการส่งอีเมลที่ 100 ฉบับต่อวัน ซึ่งในบางวันนั้น จำนวนอีเมลที่ต้องส่งออกก็สูงเกินข้อจำกัดนี้ และการที่ระบบส่งอีเมลไม่ได้ ก็ส่งผลให้ทีมงานที่ทำงานกับอีเมลแจ้งเตือนนี้ ทำงานได้ลำบาก reseller account ที่ใช้ส่งอีเมลแจ้งเตือน มีข้อจำกัดที่ 100 ฉบับต่อวัน ซึ่งไม่พอกับความต้องการ ทางออกที่ก้าวข้ามขีดจำกัดนี้ มีอยู่หลายทาง เช่น การเปลี่ยนวิธีการส่งอีเมล แทนที่จะใช้ email service ของ … Continue reading ออกแบบระบบให้คุยข้าม module กันได้ ด้วย Pub/Sub

ลดเวลาการเรียก API ใน Apps Script ด้วย fecthAll

[Cross-posted on blog.niwpopkorn.com] Apps Script มี function UrlFetchApp.fetch() สำหรับเรียก http request ไปที่ service อื่นๆ ได้ ซึ่งสามารถนำมาใช้เรียก API ภายนอกได้เช่นกัน แต่หากเรามีข้อมูลจำนวนมาก และต้องเรียก UrlFetchApp.fetch() หลายๆ ครั้ง จะทำให้ระบบทำงานช้าและเกินข้อจำกัดของ Apps Script ไป (document ระบุไว้ว่าได้ 6 นาที) วันนี้ผมจะมาแนะนำวิธีแก้ปัญหาในกรณี้นี้กันคับ account ที่ผมใช้งาน ตกอยู่ในกลุ่มที่มีข้อจำกัด 6 min/execution   เมื่อการเรียกทีละ request ไม่ตอบโจทย์ เรื่องเริ่มมาจากผมมีโปรเจกต์ที่มีข้อมูลชื่อโดเมน จำนวนประมาณ 1,400 รายการ ที่ต้องการดึงค่า DNS มาตรวจสอบอะไรบางอย่าง ด้วยการเรียก http request ไปที่ https://dns.google.com/resolve?name=%DOMAIN% โดยการแทนค่า %DOMAIN% ด้วยโดเมนที่ต้องการ … Continue reading ลดเวลาการเรียก API ใน Apps Script ด้วย fecthAll

แนะนำ Dialogflow: การใช้ regex เพื่อดึงข้อมูลด้วย pattern

[Cross-posted on blog.niwpopkorn.com] การสร้าง chatbot engine ด้วย Dialogflow นั้น มีความสะดวกตรงที่ เราสามารถใส่ตัวอย่างข้อความที่ผู้ใช้จะพิมพ์มาคุยกับ bot ลงใน training phrase ระบบจะเรียนรู้จากข้อมูลตัวอย่างนั้นและทำความเข้าใจประโยค ทำให้เมื่อผู้ใช้พิมพ์มาไม่ตรงกับ training phrase ระบบก็ยังสามารถเข้าใจความหมายและโต้ตอบได้อย่างถูกต้อง (อ่านเพิ่มเติม: แนะนำ Dialogflow: Intent, Parameters และ Fulfillment) ในบางกรณี ข้อมูลที่เราต้องการจากผู้ใช้ ไม่สามารถระบุลงไปใน training phrase ได้โดยตรง เนื่องจากเป็นข้อมูลที่ไม่ตายตัว จึงไม่สามารถใช้วิธีการยกตัวอย่างเพื่อให้ระบบเรียนรู้ได้ เช่น สำหรับ chatbot แจกป๊อบคอร์น สมมติว่า เราจะขอให้ผู้ใช้ใส่เลขบัตรประจำตัวประชาชนมาเพื่อยืนยันตัวตนก่อน จึงจะแจกป๊อปคอร์นให้ จะเห็นว่า ค่าที่ผู้ใช่จะใส่เข้ามานั้นเป็นค่าเฉพาะของแต่ละคนและไม่ซ้ำกันเลย การจะระบุค่านี้ได้เราจะใช้ความสามารถของ regex เข้ามาช่วยครับ regex หรือ Regular Expression เป็นวิธีการระบุรูปแบบ (pattern) ของตัวอักษรที่เราต้องการค้นหา ซึ่งจะใช้ได้ดีกับการค้นหาข้อมูลที่มีรูปแบบ ในกรณีนี้เราจะใช้ regex เพื่อระบุรูปแบบของเลขบัตรประจำตัวประชาชนกันครับ สิ่งที่เรารู้คือ เลขบัตรประจำตัวประชาชนมี … Continue reading แนะนำ Dialogflow: การใช้ regex เพื่อดึงข้อมูลด้วย pattern

แนะนำ Google PSO: ถ้าไม่รู้จะเริ่มยังไง ให้เริ่มจาก Cloud Start / Cloud Discover

[Crossed-posted on blog.niwpopkorn.com] Google PSO เป็นบริการให้คำปรึกษาการใช้งาน Google Cloud Platform สำหรับลูกค้าองค์กร โดยการแบ่งเป็นขั้นต่างๆ คือ Assess: สำหรับองค์กรที่ยังไม่แน่ใจว่าจะใช้งาน GCP ดีหรือไม่ และจะเริ่มต้นยังไง Plan: สำหรับองค์กรที่จะเริ่มใช้งาน GCP และต้องการออกแบบวิธีการจัดการ และวางรากฐานในการใช้งานอย่างเป็นระบบจากส่วนกลาง Deploy: สำหรับองค์กรที่ต้องการย้ายหรือสร้าง workload ขึ้นบน GCP Optimize: สำหรับองค์กรที่ใช้งาน GCP ได้สักระยะ และต้องการตรวจสอบว่าใช้งาน GCP ได้อย่างมีประสิทธิภาพ หรือตรงตาม best practices ของ Google หรือไม่   หากองค์กรของคุณ ต้องการเริ่มต้นใช้งาน แต่ไม่รู้จะเริ่มจากจุดไหน PSO service ที่แนะนำคือกลุ่มที่อยู่ในขั้นการ assess เพื่อประเมินว่าเราควรจะเริ่มใช้งาน cloud ยังไง ด้วย workload แบบไหน หรือเราพร้อมจะไป cloud … Continue reading แนะนำ Google PSO: ถ้าไม่รู้จะเริ่มยังไง ให้เริ่มจาก Cloud Start / Cloud Discover

แนะนำบริการให้คำปรึกษาในการใช้งาน cloud จาก Google

[Cross-posted on blog.niwpopkorn.com] ในปัจจุบันการใช้งาน cloud ในองค์กรเริ่มแพร่หลายมากขึ้น โดยเหตุผลอันดับต้นๆ คือ ความรวดเร็วในการเริ่มต้นใช้งาน (องค์กรไม่ต้องรอสร้างบริการเหล่านั้นเอง) ค่าใช้จ่ายที่คิดตามการใช้งานจริง (ใช้น้อยจ่ายน้อย ใช้มากจ่ายมาก หลายๆ ครั้ง ค่าใช้จ่ายถูกกว่าสร้างบริการขึ้นมาเอง) ความปลอดภัย (ผู้ให้บริการ cloud มีการดำเนินการตามมาตรฐานความปลอดภัยต่างๆ และได้รับการรับรองจากหน่วยงานภายนอก) จากข้อดีดังกล่าว ทำให้องค์กรสามารถมุ่งความสนใจไปที่การสร้างคุณค่าของบริการที่ส่งมอบให้ลูกค้า แทนการเสียเวลาบริหารจัดการโครงสร้างทางด้าน IT ด้วยตนเองทั้งหมด บริการให้คำปรึกษาทางด้าน cloud จาก Google ด้วยความที่มีองค์กรใช้งาน Google Cloud Platform (GCP) มากขึ้น ทีมงาน Google Cloud ได้รวบรวมความรู้และประสบการณ์ในการให้บริการลูกค้า เพื่อให้องค์กรสามารถใช้งาน GCP ได้อย่างเต็มประสิทธิภาพ โดยอยู่ในรูปแบบของบริการให้คำปรึกษา (consulting services) ที่ครอบคลุมสถานการณ์ของลูกค้าตามขั้นต่างๆ ดังนี้ Assess: สำหรับองค์กรที่ยังไม่แน่ใจว่าจะใช้งาน GCP ดีหรือไม่ และจะเริ่มต้นยังไง Plan: สำหรับองค์กรที่จะเริ่มใช้งาน … Continue reading แนะนำบริการให้คำปรึกษาในการใช้งาน cloud จาก Google