[GCP Fundamental 101] Google Cloud Platform หรือ GCP คืออะไร และมี Service อะไรบ้าง?
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 ให้ดูกัน
ทำไมแต่ละองค์กรต้องใช้ Cloud ในการพัฒนา Platform ต่างๆ ?
ในการพัฒนา Website หรือ Application นั้น ทีม Developer จะต้องเก็บข้อมูล หรือ Deploy server แบบ On-Premise ซึ่งเป็นระบบ IT ที่องค์กรจะติดตั้งและดูแลรักษา Server ด้วยตนเอง ซึ่งจะเกิดปัญหาต่างๆ ตามมาในเรื่องของการบำรุงรักษา การ Scaling ที่ต้องปรับตลอดเวลา องค์กรส่วนใหญ่จึงย้ายจาก On-Premise มาเป็น On-Cloud แทนเพื่อเพิ่มความยืดหยุ่น,ประสิทธิภาพ และค่าใช้จ่ายในการพัฒนา Platform
Service ต่างๆของ Google Cloud Platform
- 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 เท่าไหร่
2. Container
GCP Service: Kubernetes Engine (GKE)
- Kubernetes: เป็นเครื่องมือที่ช่วยในการบริหารจัดการ Container บน Cloud ซึ่งมันจะช่วยในการ Build, Deploy และ Scale Application ของเราได้ง่ายขึ้น
3. Serverless Computing
GCP Service: App Engine, Cloud Function
- App Engine เป็น Platform as a Service (PaaS) ที่เป็นการเช่าคอมที่มีโปรแกรมสำเร็จรูปแล้ว เพื่อแก้ปัญหาที่จะต้องมีนั่งกำหนด Config ต่างๆในส่วนของ Kubernetes ว่าจะ Scale ในรูปแบบไหน แต่ยังมีบางส่วนอย่างเช่น Config yaml file ที่ต้องมีการแก้ไขอยู่
- Cloud Functions เป็น Function as a Service (FaaS) ที่แทบไม่จำเป็นต้อง Config อะไรเลย ช่วยให้เราสามารถ Deploy Application ได้อย่างง่ายดาย
เปรียบเทียบ 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 มากขึ้นนะคะ ถ้าอ่านแล้วมีความเห็น ติชมอะไร ก็เข้ามาแนะนำกันได้นะคะ