Data Science on the Google Cloud Platform: ทำความรู้จักกับ Google Cloud Platform (GCP)

Athiwat
Machines School
Published in
5 min readJul 22, 2018

Cloud Computing คืออะไร

“Cloud Computing” หรือแปลเป็นภาษาไทยว่า “การประมวลผลแบบกลุ่มเมฆ” เป็นลักษณะของการทำงานของผู้ใช้งานคอมพิวเตอร์ผ่านอินเทอร์เน็ต ที่ให้บริการใดบริการหนึ่งกับผู้ใช้ โดยผู้ให้บริการจะแบ่งปันทรัพยากรให้กับผู้ต้องการใช้งานนั้น

โดยสถาบันมาตรฐานและเทคโนโลยีแห่งชาติของสหรัฐอเมริกา (NIST) ได้ให้จำกัดความไว้ว่า “เป็นรูปแบบที่ให้บริการเพื่อใช้ทรัพยากรคอมพิวเตอร์ร่วมกับผู้อื่นผ่านทางเครือข่ายเน็ตเวิร์ค เช่น โครงข่ายเน็ตเวิร์ค เซิร์ฟเวอร์ หน่วยเก็บสำรองข้อมูล แอพพลิเคชั่นและเซอร์วิสต่างๆ เป็นต้น โดยขึ้นอยู่กับความต้องการของผู้ใช้ ”

ประเภทของ Cloud Computing

  1. Public Cloud (คลาวด์แบบสาธารณะ) คือ คลาวด์ที่สร้างขึ้นเพื่อให้ทุกคนสามารถใช้งานได้ ตัวอย่างเช่น บริการคลาวด์ของอเมซอน Amazon Elastic Compute Cloud (EC2) หรือของ Google อย่าง Gooel App Engine
  2. Private Cloud (คลาวด์ส่วนตัว) คือ คลาวด์ที่สร้างขึ้นเพื่อใช้ภายในองค์กรเองเท่านั้น ผู้ให้บริการและผู้ใช้สามารถควบคุมและปรับปรุงระบบความปลอดภัยได้ด้วยตนเอง
  3. Hybride Cloud (คลาวด์แบบผสม) คือ ระบบที่ผสมผสานระหว่าง Private Cloud และ Public Cloud ซึ่งเป็นการรวมเอาข้อดีของการทำงานทั้งสองแบบมาผสมผสานเพื่อตอบโจทย์การใช้งานเชิงธุรกิจ

Google Cloud Platform

Google Cloud Platform หรือเรียกย่อๆว่า GCP เป็นกลุ่มทรัพยากรในการประมวลผล (computing resource) ของ Google ที่เปิดให้ทุกคนสามารถเข้าใช้งานได้ในรูปแบบของ Public Cloud

Google Cloud Platform Infrastructure — Regions

Google Cloud Platform สามารถใช้งานได้ทั่วโลก โดยเราสามารถเลือกใช้งานได้ตาม “regions” และ “zones” ทั้งนี้ขึ้นอยู่กับ latency, availability, durability

regions จะขึ้นอยู่กับลักษณะทางภูมิศาสตร์ เช่น US East, US West, US Central, Europe, East Asia, Southeast Asia, South Asia หรือ Australia เป็นต้น และในแต่ละ regions จะประกอบด้วย zone เช่นใน regions ของ Southeast Asia ที่ตั้งอยู่ในสิงค์โปร์ก็จะมี zone A และ zone B เป็นต้น

Google Cloud Platform Infrastructure — Network

Services ของ Google Cloud Platform

Google Cloud Platform จะแบ่งตามลักษณะการใช้งานดังนี้ (ข้อมูลเมื่อวันที่ 7 มิถุนายน 2561) แต่บาง region ก็ไม่สามารถใช้งานได้ในบาง serivice

Compute

  • Compute Engine: คือ Virtual Machine (VM) ที่ทำงานอยู่บนโครงสร้างพื้นฐาน (infrastructure) ของ Google Data Center
  • App Engine: คือบริการคลาวด์แบบ Platform as a Service (PaaS) ที่ให้นักพัฒนาสามารถ deploy เว็บแอพพลิเคชั่น โดยที่ไม่จำเป็นต้องกังวลกับการการจัดการโครงสร้างพื้นฐาน (infranstucture)
  • Kubernetes Engine: คือระบบจัดการ Docker container ด้วย Kubernetes
  • Container registry: คือบริการที่ให้นักพัฒนาสามารถนำ Docker Image ที่สร้างขึ้นมาเก็บไว้บน Google Cloud
  • Cloud Functions: คือบริการที่ให้นักพัฒนาสามารถนำโค้ดมารันแบบ Serverless ได้ โดยไม่จำเป็นต้องจัดการกับเครื่องเซิร์ฟเวอร์

Storage & Databases

  • Cloud Storage: เป็นบริการสำหรับจัดเก็บไฟล์เอกสารหรือข้อมูลต่างๆ
  • Cloud SQL: คือระบบจัดการฐานข้อมูลแบบ Relational Database ที่เข้าถึงข้อมูลและจัดการข้อมูลด้วยภาษา SQL โดยรองรับการใช้งานทั้ง PostgreSQL และ MySQL
  • Cloud Bigtable: คือระบบจัดการฐานข้อมูลแบบ Non-Relational Database หรือ NoSQL โดยรองรับ workload ขนาดใหญ่ (หลายร้อย Petabytes) ซึ่งให้ Latency ที่ต่ำและ Throughput ที่สูง
  • Cloud Spanner: เป็น Global Distributed Relational Database Service ที่ทำงานอยู่บน Google Cloud Platformโดยดึงเอาจุดเด่นของ Relational Database และ NoSQL เข้ามารวมกัน ทำให้ได้ Database ที่มีความสามารถสูง รองรับ ACID Transaction, Relational Schemas, SQL Queries, High Availability และยังรองรับการ Scale ระบบให้มีขนาดใหญ่จนถึงหลักพัน Server ได้ (ข้อมูลจาก TechTalkThai)
  • Cloud Datastore: คือบริการ NoSQL Database เช่นเดียวกับ Cloud Bigtable เพียงแต่มีการออกแบบให้รองรับ Datasets ที่มีขนาดเล็กกว่า เพื่อใช้งานกับ Web หรือ Mobile Applications (ข้อมูลจาก TechTalkThai)
  • Persistent Disk: คือ Persistent Storage ที่มีทั้งแบบ SSD และ HDD
  • Cloud Memorystore: เป็นบริการสำหรับ in-memory data store ที่ใช้ Redis ในการจัดการ

Cloud AI

  • Cloud AutoML: คือบริการสำหรับให้เหล่านักพัฒนาสามารถสร้าง Machine Learning Model บน Cloud ได้ง่ายๆ แบบแทบจะอัตโนมัติทั้งหมด โดยตอนนี้เปิดบริการเฉพาะงานทางด้านการทำ Image Recognition เท่านั้น และในอนาคตทาง Google ก็มีแผนที่จะพัฒนาความสามารถในด้านอื่นๆเพิ่มเติม
  • Cloud TPU: คือบริการที่ให้นักพัฒนาสามารถเข้าถึงและใช้งาน Tensor Processing Units (TPUs) โดยออกแบบมาเพื่องานด้าน machine learning โดยเฉพาะ
  • Cloud Machine Learning Engine (ML Engine): เป็นบริการที่ให้นักพัฒนาหรือนักวิทยาศาสตร์ข้อมูล สามารถสร้างโมเดลพร้อมใช้งานพยากรณ์ (prediction) ทันทีโดยการเรียกผ่าน API
  • Cloud Job Discovery: เป็นบริการที่ใช้ Machine Learning เพื่อช่วยในการค้นหางาน และช่วยบริษัทที่ประกาศรับสมัครงานเข้าถึงผู้ที่กำลังมองหางานได้มากยิ่งขึ้น
  • Dialogflow Enterprise Edition: บริการสำหรับสร้าง chat bot
  • Cloud Natural Language: คือบริการทางด้านการวิเคราะห์ข้อความจากภาษา
  • Cloud Speech-to-Text: เป็นบริการแปลงเสียงพูดเป็นข้อความ
  • Cloud Translation API: คือบริการในการแปลภาษา
  • Cloud Vision API: คือบริการวิเคราะห์รูปภาพ
  • Cloud Video Intelligence: คือบริการวิเคราะห์วิดีโอ

Big Data

  • BigQuery: เป็นบริการฐานข้อมูลขนาดใหญ่ โดยใช้หลักการ big data ที่สร้างตารางข้อมูลที่ไม่ซับซ้อนแต่มีขนาดใหญ่มากๆ ในระดับ 1 พันล้านแถว ซึ่งจะแตกต่างไปจากแนวทางของ relational database
  • Cloud Dataflow: เป็นบริการที่ออกแบบมาเพื่อประมวลผลข้อมูลขนาดใหญ่แบบต่อเนื่อง รองรับ data source ทั้งแบบที่เป็น batch และ streaming
  • Cloud Dataproc: เป็นบริการที่รวบเอาซอฟต์แวร์วิเคราะห์ข้อมูลอย่าง Apache Hadoop และ Apache Spark มาโฮสต์บน Google Cloud โดยมีลดการปรับแต่ง ตั้งค่าต่างๆ เพื่อให้สามารถใช้งานได้งานขึ้น รวมถึงลดความยุ่งยากในการดูและระบบลง
  • Cloud Datalab: เป็นบริการสำหรับการสำรวจข้อมูล (data exploration), การวิเคราะห์ข้อมูล (data analysis) และการแสดงข้อมูลเพื่อนำเสนอ (data visualization)
  • Cloud Dataprep: เป็นบริการสำหรับการจัดเตรียมข้อมูล (Data preparation) เพื่อใช้ในการวิเคราะห์ข้อมูล
  • Cloud Pub/Sub: เป็นบริการสื่อสารข้อมูล โดย publisher จะส่งข้อความนั้นออกไปยัง topic และผู้รับข้อความ (เรียกว่า subscriber) ก็จะทำการ subscription ใน topic นั้นๆ เพื่อรับข้อมูล
  • Genomics: เป็นบริการจัดเก็บจีโนมของมนุษย์ ซึ่งก็คือข้อมูลทางพันธุกรรมที่อยู่บนดีเอ็นเออันเป็นตัวกำหนดลักษณะเฉพาะทางชีวภาพของร่างกายนั้น โดย Google Genomics มีเป้าหมายเพื่อสร้างบริการที่ช่วยให้การศึกษาและค้นคว้าวิจัยข้อมูลพันธุกรรมเป็นไปอย่างมีประสิทธิภาพมากยิ่งขึ้น (ข้อมูลจาก Blognone)
  • Google Data Studio: เป็นบริการสำหรับนำเสนอข้อมูล (Data Visualization) โดย Data Studio ผู้ใช้สามารถเชื่อมต่อได้หลาย data source เพื่อนำมาสร้างเป็นกราฟ, แผนภูมิ, Heat map, ตาราง, แผนที่ และอื่นๆ เพื่อช่วยในการแสดงผลข้อมูลที่ซับซ้อนให้สามารถทำความเข้าใจได้มากยิ่งขึ้น

Networking

  • Virtual Private Cloud (VPC): คือบริการที่องค์กรสามารถสร้างคลาวด์ส่วนตัว (private cloud) ที่ใช้ภายในองค์กรเองเท่านั้น แต่จริงๆ แล้วรันอยู่บนคลาวด์สาธารณะ (public cloud) อีกทีหนึ่ง (ข้อมูลจาก Blognone)
  • Cloud Load Balancing: เป็นบริการที่ทำหน้าที่ในการกระจาย Request จาก User แต่ละคนไปยัง Server จำนวนหลายๆเครื่อง เพื่อให้ Server แต่ละเครื่องให้บริการ User แต่ละคนได้ตามประสิทธิภาพที่ตนเองมี หรือเพื่อลด Downtime ของระบบ (อ่านเพิ่มเติม “Load Balancing คืออะไร”)
  • Cloud Armor: เป็นบริการป้องกันการโจมตีแบบ DDoS (ข้อมูลจาก Blognone)
  • Cloud CDN: เป็นบริการ CDN หรือ Content Delivery Network ที่ช่วยลดภาระของโฮสต์และช่วยเพิ่มความเสถียรภาพรวมทั้งเพิ่มประสิทธิภาพในการเข้าถึงข้อมูลอีกด้วย (อ่านเพิ่มเติม “CDN คืออะไร? CDN มีประโยชน์กับเว็บไซต์ของเรายังไง?”)
  • Cloud Interconnect: เป็นบริการที่เชื่อมต่อเครือข่ายความเร็ว 10Gbps จาก Google Cloud Platform (GCP) มายัง Infranstucture ในองค์กรที่ต้องการทำ Hybrid Cloud โดยเฉพาะ (ข้อมูลจาก TechTalkThai)
  • Cloud DNS: เป็นบริการสำหรับจัดการ Domain Name System (DNS)
  • Network Service Tiers: เป็นบริการทำให้สามารถปรับแต่งประสิทธิภาพของ cloud network โดยมีให้เลือก 2 รูปแบบ คือ Premium Tier และ Standard Tier เพื่อเป็นทางเลือกให้กับลูกค้าที่ต้องการ infranstucture สำหรับงานที่ไม่ต้องการประสิทธิภาพที่สูงในราคาที่ถูก

Internet of Things

  • Cloud IoT Core: เป็นบริการสำหรับบริหารจัดการอุปกรณ์และข้อมูลจาก IoT ทั้งจัดการเชื่อมต่อ, เก็บข้อมูล (ingest data) รวมถึงการวิเคราะห์ (analysis) และแสดงผลข้อมูล (visaulization)

Identity & Security

  • Cloud Identity: เป็นบริการ IDaas (Identity as a Service) เพื่อช่วยให้ผู้ดูแลระบบสามารถบริหารจัดการ identity ของ user ในองค์กรได้สะดวมากยิ่งขึ้น
  • Cloud IAM: ย่อมาจาก Google Cloud Identity & Access Management (IAM) เป็นบริการสำหรับจัดการการเข้าถึงและการใช้งานทรัพยากรต่างๆของ Google Cloud
  • Cloud Identity-Aware Proxy: Cloud IAP ให้ผู้ใช้จัดการการเข้าถึงแอพพลิเชั่นที่รันบน Google Cloud Platform ทีละตัวได้โดยขึ้นกับความเสี่ยง แทนที่จะใช้แนวคิดแบบ all-or-nothing (ข้อมูลจาก Blognone)
  • Cloud Data Loss Prevention API: ความสามารถของฟีเจอร์นี้คือจะทำการ deep content analysis เพื่อให้แน่ใจว่าข้อมูลที่จะออกไปนั้นไม่มีข้อมูลสำคัญ (ไม่ว่าจะเผลอหรือตั้งใจ) ฝ่ายผู้ใช้สามารถกำหนดข้อมูลได้ว่าต้องการให้ป้องกันระดับใด ซึ่งการใช้งาน API มีค่าใช้จ่ายโดยคิดจากปริมาณข้อมูลที่ใช้งาน (ข้อมูลจาก Blognone)
  • Security Key Enforcement: (SKE) สำหรับ Google Cloud Platform และ G Suite (เปิดให้ใช้งานแล้ว) เปิดให้ระบบยืนยันตัวตนสองชั้นสามารถเรียกใช้งานกุญแจความปลอดภัยเพื่อให้มีการยืนยันตัวตนที่แข็งแรงยิ่งขึ้น (ข้อมูลจาก Blognone)
  • Cloud Key Management Service: ให้ผู้ใช้สร้าง, ใช้งาน, ปรับเปลี่ยน และทำลายกุญแจสมมาตรที่ใช้งานบนคลาวด์ได้ เพื่อให้ผู้ใช้สามารถจัดการกุญแจการเข้ารหัสในบริการคลาวด์ที่เช่าไว้หลาย ๆ บริการได้ โดยไม่ต้องใช้ระบบจัดการกุญแจหรือโมดูลฮาร์ดแวร์ด้านความปลอดภัย (ข้อมูลจาก Blognone)
  • Cloud Resource Manager: ช่วยให้คุณสามารถจัดกลุ่มและจัดทรัพยากรอื่นๆ ของ Cloud Platform ได้ตามลำดับชั้น เป็นองกรค์, แฟ้มข้อมูล หรือตามโครงการ
  • Cloud Security Command Center: เป็นบริการที่ช่วยอำนวยความสะดวกให้กับทีมรักษาความปลอดภัยได้รวบรวมข้อมูล ระบุภัยคุกคาม และดำเนินการก่อนที่จะส่งผลให้เกิดความเสียหายทางธุรกิจ
  • Cloud Security Scanner: เป็นเซอร์วิสที่ช่วยตรวจสอบช่องโหว่ของโปรแกรมสำหรับบน Google App Engine โดยเน้นการตรวจจับ Cross-Site Scripting (XSS) และช่องโหว่ประเภท Mixed Content อื่นๆ รวมทั้งสามารถตรวจสอบเว็บแอพพลิเคชั่นที่นิยมพัฒนาโดย Javascript ได้เป็นอย่างดี
  • Access Transparency: เป็น Audit Logging logs ซึ่งเป็น log เมื่อมีการดำเนินการโดย Google staff เมื่อมีการเข้าถึง content ของผู้ใช้ ตัวอย่างเช่น การดำเนินการตามการร้องขอความช่วยเหลือจากลูกค้า โดยข้อมูลการดำเนินการก็จะถูกบันทึกไว้ เพื่อเป็นการยืนยันว่า Google ไม่ได้เข้าถึงข้อมูลของคุณด้วยเหตุผลอื่นๆ ยกเว้นแก้ไขข้อบกพร่องหรือตอบรับตามคำร้องขอความช่วยเหลือ

Management Tools

  • Stackdriver Monitoring: เป็นระบบ Cloud Monitoring and Logging แบบครบวงจร ซึ่งให้เครื่องมือต่างๆมาแบบครบครัน ไม่ว่าจะเป็น Dashboard, Uptime Monitoring, Alerting, Log Analysis, Tracing, Error Reporting และ Debugging โดยรองรับการใช้งานร่วมกับ Google Cloud Platform และ Amazon Web Services (ข้อมูลจาก TechTalkThai)
  • Logging: ทำการเก็บ Log ทั้งหมดของระบบ Cloud โดยมีระบบ Filter, Search และ View ที่ใช้งานง่าย นอกจากนี้ยังสามารถดึงไปแสดงผลบน Dashboard และแจ้งเตือนผ่านระบบ Alerts ได้อีกด้วย และสามารถ Export logs ไปยังระบบอื่นๆได้ เช่น BigQuery, Google Cloud Storage และ Pub/Sub (ข้อมูลจาก TechTalkThai)
  • Error Reporting: ทำการรวบรวม Error จากระบบ Cloud ทั้งหมด และทำ Alert แจ้งผู้ใช้งานเมื่อพบ Error ได้ (ข้อมูลจาก TechTalkThai)
  • Trace: รองรับการตรวจสอบ Latency ของแอพพลิเคชันบน Google App Engine (ข้อมูลจาก TechTalkThai)
  • Debgger: เชื่อมต่อกับแอพพลิเคชันที่ทำงานอยู่บน Production ได้ทันที ช่วยในนักพัฒนาสามารถทำการ Debug code ได้ง่ายมากขึ้น (ข้อมูลจาก TechTalkThai)
  • Profiler: เป็นเครื่องมือที่ใช้ในการวิเคราะห์ประสิทธิภาพของ CPU และหน่วยความจำที่ทำงานอยู่ในแอพพลิเคชั่น เพื่อให้นักพัฒนาได้ปรับแต่โค้ดให้มีประสิทธิภาพมากที่สุดและเพื่อเป็นการลดการใช้ทรัพยากรที่สิ้นเปลืองอันเนื่องมาจากตัวโค้ดของแอพพลิเคชั่น
  • Cloud Deployment Manager: เป็น templates ในรูปแบบ .yaml เพื่อใช้สร้าง ตั้งค่าต่างๆและจัดการทรัพยากรบน Google Cloud Platform
  • Cloud Console: เป็นหน้า Web Admin UI เพื่อให้ผู้ใช้สามารถเข้าใช้และจัดการทรัพยากรต่างๆ บน Google Cloud Platform
  • Cloud Shell: เป็น command-line interface ที่สามารถใช้งานบนบราวเซอร์
  • Cloud Mobile App: เป็นแอพพลิเคชั่นสำหรับ iOS และ Android ที่ให้ผู้ใช้สามารถดูแลและตรวจสอบทรัพยากรต่างๆ ทั้งการแจ้งเตือน ค่าใช้จ่าย ผ่านโทรศัพท์มือถือ
  • Cloud Billing API: เป็น API เพื่อจัดการการเรียกเก็บเงินสำหรับการใช้งาน Google Cloud Platform เช่น เรียกดูข้อมูลบัญชีทั้งหมดหรือรายบัญชี รวมทั้งจัดการข้อมูลบัญชีต่างๆ เป็นต้น
  • Cloud APIs: ชุด API สำหรับจัดการและเข้าถึงทรัพยากรทุกบริการบน Google Cloud Platform

*หมายเหตุ: ข้อมูลเมื่อวันที่ 7 มิถุนายน 2561

บทความเรื่อง “Data Science on the Google Cloud Platform”
ตอนที่ 1: ทำความรู้จักกับ Google Cloud Platform (GCP)
ตอนที่ 2: วัฎจักรข้อมูล (Data Lifecycle) บน Google Cloud Platform

--

--

Athiwat
Machines School

Founder of Humaan.ai—Building the integration of humans and AI