[GCP Fundamental 101] Google Cloud Platform หรือ GCP คืออะไร และมี Service อะไรบ้าง?

Koala Dev
4 min readJun 13, 2021

--

Source: https://s3-ap-southeast-1.amazonaws.com/homepage-media/wp-content/uploads/2020/05/19163201/0_brH9cM9rnSRx2I-S.png

Google Cloud Platform คือ Cloud Platform ที่พัฒนาโดย Google ที่ช่วยให้เราสามารถจัดการ และพัฒนา Application ได้อย่างมีประสิทธิภาพ

เมื่อพูดถึง Cloud แล้ว ก็จะนึกถึงเจ้าตลาด 3 แห่งที่มี market share ที่มากที่สุดอย่าง Amazon Web Service (AWS), Microsoft Azure และ Google Cloud Platform (GCP) ซึ่งแต่ละเจ้าก็จะมีข้อดีข้อเสียที่แตกต่างกัน แต่ในวันนี้เราจะมาดูกันที่ Google Cloud Platform และยกตัวอย่าง Service บางส่วนของ GCP ให้ดูกัน

Source: https://alisher.io/wp-content/uploads/2019/02/aws-azure-gcp.jpg

ทำไมแต่ละองค์กรต้องใช้ Cloud ในการพัฒนา Platform ต่างๆ ?

ในการพัฒนา Website หรือ Application นั้น ทีม Developer จะต้องเก็บข้อมูล หรือ Deploy server แบบ On-Premise ซึ่งเป็นระบบ IT ที่องค์กรจะติดตั้งและดูแลรักษา Server ด้วยตนเอง ซึ่งจะเกิดปัญหาต่างๆ ตามมาในเรื่องของการบำรุงรักษา การ Scaling ที่ต้องปรับตลอดเวลา องค์กรส่วนใหญ่จึงย้ายจาก On-Premise มาเป็น On-Cloud แทนเพื่อเพิ่มความยืดหยุ่น,ประสิทธิภาพ และค่าใช้จ่ายในการพัฒนา Platform

Service ต่างๆของ Google Cloud Platform

  1. Compute

โดยปกติแล้วแต่ละองค์กรจะต้องเช่า Server และ Maintenance ระบบ, Scaling และ ควบคุมค่าใช้จ่าย ด้วยตัวเอง ซึ่ง Compute Service ของ GCP นั้นจะช่วยลดงานในส่วนนี้ ทำให้ Developer สามารถที่จะโฟกัสและใช้เวลาในการพัฒนา Software ได้มากกว่า

GCP Service: Google Compute Engine (GCE) etc.

  • Google Compute Engine (GCE) เป็น Infrastructure as a Service (IaaS) ซึ่งเป็นบริการให้เช่าคอมประกอบ หรือ Virtual Machine ที่เรากำหนด Spec เองว่าต้องการ CPU, Ram เท่าไหร่
Source: https://miro.medium.com/max/334/1*eJqGDbm4PmQSNL4yf67ewg.png

2. Container

GCP Service: Kubernetes Engine (GKE)

  • Kubernetes: เป็นเครื่องมือที่ช่วยในการบริหารจัดการ Container บน Cloud ซึ่งมันจะช่วยในการ Build, Deploy และ Scale Application ของเราได้ง่ายขึ้น
Source: https://cdn.networkmanagementsoftware.com/wp-content/uploads/gke.png

3. Serverless Computing

GCP Service: App Engine, Cloud Function

  • App Engine เป็น Platform as a Service (PaaS) ที่เป็นการเช่าคอมที่มีโปรแกรมสำเร็จรูปแล้ว เพื่อแก้ปัญหาที่จะต้องมีนั่งกำหนด Config ต่างๆในส่วนของ Kubernetes ว่าจะ Scale ในรูปแบบไหน แต่ยังมีบางส่วนอย่างเช่น Config yaml file ที่ต้องมีการแก้ไขอยู่
Source: https://habrastorage.org/webt/4m/mp/dz/4mmpdzaun1lqnfbqlluwok_kiie.jpeg
  • Cloud Functions เป็น Function as a Service (FaaS) ที่แทบไม่จำเป็นต้อง Config อะไรเลย ช่วยให้เราสามารถ Deploy Application ได้อย่างง่ายดาย
Source: https://seeklogo.com/images/G/google-cloud-functions-logo-AECD57BFA2-seeklogo.com.png

เปรียบเทียบ Cloud Computing in Google Cloud Platform

4. Storage and Database

GCP Service: Cloud Storage, Cloud Big Table, Cloud SQL and Spanner, Cloud Datastore etc.

  • Cloud Storage เป็นการเก็บข้อมูลใน Cloud ซึ่งเป็น Server ขนาดใหญ่ เช่น Google Drive, iCloud, Dropbox etc.
  • Cloud Big Table เป็น Non- Relational Database ที่รองรับ Workload, จัดการเรื่อง Scalability และมี Latency ที่ต่ำ
  • Cloud SQL เป็น Relational Database ที่ Support Postgres, MySQL ซึ่งจะจัดการในเรื่องของ Security ของ Data อย่างเช่นการ Backup file if outage occurs, Security ในส่วนของ Firewalls, encryption.
  • Cloud Spanner เป็นการดึงเอาจุดเด่นของ SQL, noSQL ในกรณีที่ SQL นั้นไม่เหมาะกับการ Scale Horizontal. ทำให้เป็น Database ที่รองรับ ACID Transaction. เหมาะกับ Financial Service, Inventory Application.
  • Cloud Datastore เป็นบริการ NoSQL Database เหมือน Big Table แต่ออกแบบให้รองรับ Dataset ขนาดเล็กกว่าเพื่อใช้กับ Website, Mobile Application.

5. Networking

GCP Service: Virtual Private Cloud (VPC), Cloud CDN, Cloud Load Balancing, Cloud DNS etc.

  • Virtual Private Cloud (VPC) เป็นการสร้าง Cloud ส่วนตัวไว้ใช้ในองค์กร แต่ run บน Cloud Public อีกที่หนึ่ง ข้อดี คือเราสามารถใช้ทรัพยากรได้อย่างเต็มที่, ยืดหยุ่น, มี Security และมีระบบ disaster recovery ที่รองรับ แต่ ข้อเสีย ก็คือจะมีค่าใช้จ่ายที่แพงกว่า
  • Cloud CDN คือ บริการที่ช่วยในการ Cache ข้อมูล HTTP และ HTTPS เพื่อให้ส่งข้อมูลได้ใกล้งานผู้ใช้มากที่สุด มันสามารถลดการ Load Balance ลง เพื่อให้ตอบสนองได้เร็วมากยิ่งขึ้น
  • Cloud Load Balancing เป็นบริการที่แจกจ่าย workloads ให้มีประสิทธิภาพมากที่สุด เพื่อให้สามารถรองรับ Volume ของ Request ที่เพิ่มขึ้น
  • Cloud DNS คือ บริการที่ช่วยแก้ปัญหา Performance และ Speed ของ Web Hosting ซึ่ง DNS (Domain Name System) นั้นเป็นการเก็บ Domain ว่ามันจะวิ่งไปที่ IP ไหน

6. Big Data

GCP Service: Cloud Dataproc, BigQuery, Cloud Datalab, Cloud Dataflow, Cloud Pub/Sub, Cloud Dataflow etc.

  • Cloud Dataproc บริหารจัดการ Hadoop(จัดการข้อมูลขนาดใหญ่), MapReduce, Spark (Data mining ทำงานแบบกลุ่ม), Hive Service (Data Warehouse)
  • BigQuery เป็นการวิเคราะห์ข้อมูล, Stream Data ในรูปแบบ SQL syntax
  • Cloud Datalab Visualization ข้อมูล ในรูปแบบ Google Chart, Map plot.
  • Cloud Pub/Sub เป็น data ingestion เช่น Dataflow, IoT และ marketing Analysis
  • Cloud Dataflow เป็น Stream & Batch Processing ข้อมูลจะแสดงผลแบบ Real-time

7. Cloud AI and Machine Learning

GCP Service: Machine Learning API, Cloud Vision API, Cloud NLP, Cloud Translate API etc.

  • Machine Learning API เป็นบริการ ML ที่ทำให้ Application ได้ยิน, เห็น และเข้าใจ และสามารถ ดู Trend, Forecast สถานการณ์, ระบุอารมณ์ของแต่ละสิ่งได้ เช่น ระบบ Recommendation ของ Facebook
  • Cloud Vision API ได้ข้อมูลเชิงลึกของ Images, Sentiment (ความรู้สึก), Detect Content (ตรวจสอบเนื้อหา)
  • Cloud NLP API Text แบบ Real-time และช่วยเรื่อง Syntax Analysis
  • Cloud Translate API ช่วยในการแปล

8. Internet of thing

GCP Service: IoT Core, BigQuery, Cloud Dataflow, Cloud Pub/Sub etc.

9. Identity and Security

GCP Service: Firewalls, Access Transparency, Assured Workloads etc.

10. Management Tool

GCP Service: Cloud APIs, Cloud Console, Cloud Mobile App, Cloud Shell, Cloud Deployment Manager etc.

สุดท้ายหวังว่าบทความนี้จะทำให้ผู้อ่านทุกคนเข้าใจ Service ของ Google Cloud Platform มากขึ้นนะคะ ถ้าอ่านแล้วมีความเห็น ติชมอะไร ก็เข้ามาแนะนำกันได้นะคะ

--

--