แอปพลิเคชันบนมือถือและเว็บมักต้องการเซิร์ฟเวอร์ส่วนหลัง เว็บแอปพลิเคชันต้องการเว็บเซิร์ฟเวอร์เพื่อส่งมอบเนื้อหา แอปพลิเคชันยังต้องจัดเก็บโปรไฟล์และสื่อของผู้ใช้เช่นรูปภาพและวิดีโอ การสื่อสารระหว่างแอปพลิเคชันและเซิร์ฟเวอร์มักทำโดยใช้ API ซึ่งโดยปกติจะเป็น REST
แอปพลิเคชันถูกเข้ารหัสในหลายภาษา แอปพลิเคชัน iOS เขียนด้วย Swift หรือ Objective-C แอปพลิเคชัน Android เขียนด้วย Java หรือ Kotlin เว็บแอปพลิเคชันเขียนด้วย HTML, CSS, JavaScript และมักใช้กรอบงานที่ซับซ้อนเช่น Angular หรือ React นักพัฒนาส่วนหน้าจำเป็นต้องรู้ภาษาที่เกี่ยวข้องและเครื่องมือพัฒนาที่เกี่ยวข้อง
เซิร์ฟเวอร์ส่วนหลังเขียนด้วยภาษาต่างๆรวมถึง Go, Java, PHP และ Python แต่ละภาษาเหล่านี้มีชุดไลบรารีของตัวเองเพื่ออำนวยความสะดวกในการเขียนแอปพลิเคชันที่ซับซ้อน
นักพัฒนาส่วนใหญ่คิดว่าตัวเองเป็นนักพัฒนาส่วนหน้าหรือส่วนหลัง นักพัฒนาฟูลสแต็กที่มีความเชี่ยวชาญทั้งสองบทบาทนั้นค่อนข้างหายาก
การรันและดูแลเซิร์ฟเวอร์ส่วนหลังมีความท้าทายในตัวเอง เซิร์ฟเวอร์ต้องได้รับการสร้างอัปเดตและสำรองข้อมูล เซิร์ฟเวอร์ยังต้องได้รับการรักษาความปลอดภัยเพื่อป้องกันข้อมูลสูญหายโดยไม่ตั้งใจหรือเป็นอันตรายหรือเข้าถึงข้อมูลที่ละเอียดอ่อน นอกจากนี้เซิร์ฟเวอร์ต้องมีการกำหนดชื่อโฮสต์และที่อยู่ IP เพื่อให้สามารถเชื่อมต่อได้
Firebase เริ่มต้นจากการเป็นสถาปัตยกรรมการส่งข้อความมือถือซึ่ง Google ได้มา ตั้งแต่นั้นมาได้มีการพัฒนาเป็นชุดส่วนประกอบมากกว่า 25 รายการที่ทำงานร่วมกับ Google Cloud Platform .
Firebase ประกอบด้วยชุดพัฒนาซอฟต์แวร์ (SDK) ซึ่งช่วยให้นักพัฒนาอุปกรณ์เคลื่อนที่และเว็บเข้าถึงฟังก์ชันระบบคลาวด์ได้อย่างง่ายดายปลอดภัยและเชื่อถือได้ พวกเขาจะชดเชยการเชื่อมต่อเครือข่ายที่ไม่ดีโดยอัตโนมัติ มีเว็บคอนโซล Firebase สำหรับเปิดใช้งานการดูแลระบบและการรักษาความปลอดภัยส่วนประกอบ นอกจากนี้ยังมีเครื่องมือบรรทัดคำสั่งและ REST API สำหรับการใช้งานในเชิงลึกมากขึ้น
ส่วนประกอบ Firebase บางส่วนเป็นที่รู้จักกันดีกว่าส่วนประกอบอื่น ๆ มีการพึ่งพาระหว่างส่วนประกอบเพียงเล็กน้อยซึ่งช่วยให้สามารถใช้ฟังก์ชันการทำงานเพิ่มเติมได้ การตรวจสอบสิทธิ์และการวิเคราะห์ของ Firebase ใช้กันอย่างแพร่หลายมากที่สุด
Firebase ได้พัฒนาจนกลายเป็นแพลตฟอร์มที่ช่วยให้นักพัฒนาอุปกรณ์เคลื่อนที่และเว็บส่วนหน้าสามารถพัฒนาแอปพลิเคชันที่สมบูรณ์โดยไม่จำเป็นต้องใช้เซิร์ฟเวอร์ส่วนหลัง การปรับปรุงล่าสุดได้อำนวยความสะดวกอย่างมากสำหรับโซลูชันแบบไร้เซิร์ฟเวอร์ซึ่งเป็นทางเลือกที่สามารถทำงานได้ปรับขนาดได้และคุ้มค่าสำหรับโซลูชันเซิร์ฟเวอร์ Cloud Virtual Machine
แผนการเรียกเก็บเงินพื้นฐานของ Firebase ที่เรียกว่า Spark นั้นฟรี มีข้อ จำกัด ในการใช้ทรัพยากรบนคลาวด์ แต่ก็ค่อนข้างใจกว้าง เป็นไปได้ที่จะเรียกใช้แอปพลิเคชันขนาดที่เหมาะสมโดยไม่ต้องเสียค่าใช้จ่ายใด ๆ
เว็บไซต์ที่มีเนื้อหาสูงสุด 1GB และการถ่ายโอนน้อยกว่า 10GB / เดือนสามารถโฮสต์ได้ภายใต้แผน Spark Firestore อนุญาตให้มีข้อมูลสูงสุด 1GB และการรับส่งข้อมูลเครือข่ายสูงสุด 10GB / เดือน ขีด จำกัด พื้นที่เก็บข้อมูลบนคลาวด์คือข้อมูลสูงสุด 5GB และดาวน์โหลดได้สูงสุด 1GB / วัน
หากแอปพลิเคชันต้องการทรัพยากรเพิ่มเติมจำเป็นต้องมีแผนการเรียกเก็บเงินแบบชำระเงินเช่น pay as you go ขีด จำกัด ฟรีของแผน Spark ยังคงมีผลบังคับใช้ การเรียกเก็บเงินค่อนข้างต่ำ สามารถดูราคาได้ที่ หน้าราคา Firebase .
เครื่องเสมือนทำงานในระบบคลาวด์จะต้องเสียค่าใช้จ่ายในขณะที่กำลังทำงานแม้ว่าจะไม่ได้ใช้งานก็ตาม โซลูชันแบบไร้เซิร์ฟเวอร์ของ Firebase ปรับขนาดเป็นศูนย์ ซึ่งหมายความว่าทรัพยากรจะทำงานได้อย่างมีประสิทธิภาพเมื่อใช้งานเท่านั้นและไม่ต้องเสียค่าใช้จ่ายเมื่อไม่ได้ใช้งาน เหมาะอย่างยิ่งสำหรับการใช้งานสำหรับธุรกิจตามฤดูกาลเช่นการเช่าที่พักในช่วงวันหยุดหรืองานต่างๆเช่นคอนเสิร์ต จะมีกิจกรรมมากมายตามมาด้วยการไม่ได้ใช้งานหลายเดือน
จำเป็นต้องมีบัญชีอีเมลสำหรับการตรวจสอบสิทธิ์ ขอแนะนำให้ใช้บัญชีอีเมลของ Google สามารถสร้างได้ที่ https://mail.google.com .
ต้องมีบัญชี Google Cloud Platform (GCP) ด้วย ทดลองใช้ฟรีได้ ที่นี่ . สิ่งนี้ให้เครดิต $ 300 ซึ่งสามารถใช้ได้เป็นเวลาหนึ่งปี ต้องใช้บัตรเครดิตเป็นหลักฐานยืนยันตัวตน Google อาจเรียกเก็บเงิน $ 1 จากนั้นจึงคืนเงิน บัตรเครดิตจะถูกหักทุกเดือนหากเปิดใช้งานการเรียกเก็บเงินและใช้ทรัพยากรที่เรียกเก็บเงินได้ นอกจากนี้ยังมี บริษัท ผู้ให้บริการ Google ที่ทำหน้าที่เป็นตัวกลางในการเรียกเก็บเงิน คุณจ่ายเงินให้กับผู้ให้บริการสำหรับการใช้งานระบบคลาวด์และพวกเขาจ่ายเงินให้ Google พวกเขามีแผนการเรียกเก็บเงินของตนเองและอาจเสนอให้ทดลองใช้ฟรี
สิ่งสำคัญคือต้องตรวจสอบส่วนการเรียกเก็บเงินของคอนโซลระบบคลาวด์บ่อยๆเพื่อตรวจสอบการใช้งาน เป็นเรื่องง่ายที่จะทำให้ทรัพยากรเช่นพื้นที่จัดเก็บใช้งานได้เมื่อไม่จำเป็นซึ่งอาจต้องเสียค่าใช้จ่ายจำนวนมากเมื่อเวลาผ่านไป
โครงการ Firebase เป็นโครงการ GCP ด้วย คุณสามารถสร้างโครงการ GCP และนำเข้าสู่ Firebase หรือสร้างโครงการ Firebase ซึ่งจะสร้างโครงการ GCP ด้วย คอนโซล Firebase คือ ที่นี่ .
จำเป็นต้องมีการตั้งค่าอื่นสำหรับแอปพลิเคชันประเภทต่างๆ ตัวหลักคือ Android, iOS และเว็บแอปพลิเคชัน คำแนะนำในการตั้งค่าสามารถพบได้ในทางการ คำแนะนำ Firebase .
เครื่องมือ Firebase Command Line Interface (CLI) จำเป็นสำหรับการดำเนินการบางอย่าง สิ่งเหล่านี้ต้องการให้ Node.js
และ npm
ติดตั้งเครื่องมือแล้ว หากใช้งานบน macOS หรือ Linux ปุ่ม npm
คำสั่งจะต้องรันด้วย sudo
sudo npm install -g firebase-tools
การตรวจสอบสิทธิ์ Firebase อาจเป็นองค์ประกอบ Firebase ที่ใช้กันอย่างแพร่หลาย ผู้ใช้สามารถเลือกกลไกการตรวจสอบสิทธิ์ได้ตั้งแต่หนึ่งรายการขึ้นไป นี่คือที่อยู่อีเมลและรหัสผ่านหมายเลขโทรศัพท์และผู้ให้บริการข้อมูลประจำตัวแบบรวมศูนย์ Google, Facebook, Twitter และ GitHub สามารถเปิดใช้กลไกการพิสูจน์ตัวตนจำนวนเท่าใดก็ได้
Firebase UI จะแจ้งให้ผู้ใช้ทราบถึงกลไกที่จะใช้:
Firebase มีอินเทอร์เฟซผู้ใช้สำหรับการตรวจสอบสิทธิ์ที่สามารถเรียกใช้จากโค้ดไม่กี่บรรทัดในฝั่งไคลเอ็นต์ นอกจากนี้ยังมี API สำหรับการตรวจสอบสิทธิ์ด้วยตนเอง ในการพิสูจน์ตัวตนสำเร็จจะมีการสร้างโทเค็นข้อมูลประจำตัวซึ่งสามารถใช้สำหรับการตรวจสอบส่วนหลังได้
API ช่วยให้ผู้ดูแลระบบสามารถจัดการผู้ใช้ได้โดยใช้โปรแกรม การดำเนินงาน ได้แก่ :
แอปพลิเคชันบนมือถือและเว็บส่วนใหญ่ต้องการให้ผู้ใช้จำนวนมากลงชื่อเข้าใช้แอปพลิเคชันของตน ตัวอย่างเช่นทุกคนที่มีบัญชี Google Mail สามารถตรวจสอบตัวเองกับแอปพลิเคชันใด ๆ ที่อนุญาตให้ตรวจสอบสิทธิ์ Google ได้ ต้องมีรูปแบบการอนุญาตเพื่อ จำกัด การเข้าถึงแอปพลิเคชันสำหรับผู้ใช้บางราย สิ่งนี้สามารถทำได้อย่างง่ายดายโดยจัดเก็บการเชื่อมโยงระหว่างที่อยู่อีเมลและบทบาทการเข้าถึงในการจัดเก็บข้อมูล ในการตรวจสอบสิทธิ์ที่ประสบความสำเร็จที่อยู่อีเมลจะถูกค้นหาในที่จัดเก็บข้อมูล หากผู้ใช้มีบทบาทที่ถูกต้องการเข้าถึงจะได้รับ มิฉะนั้นผู้ใช้จะถูกบังคับให้ออกจากระบบ
โฮสติ้ง Firebase ช่วยให้เนื้อหาเว็บแบบคงที่ซึ่งรวมถึง JavaScript สามารถโฮสต์ในระบบคลาวด์ได้โดยไม่ต้องใช้เว็บเซิร์ฟเวอร์ เนื้อหาถูกแคชที่ขอบของเครือข่ายการจัดส่งเนื้อหาทั่วโลก (CDN) สิ่งนี้ช่วยให้เข้าถึงเนื้อหาได้อย่างรวดเร็วจากทุกที่ในโลก
สามารถโฮสต์เว็บไซต์อย่างน้อยหนึ่งเว็บไซต์ได้โดยเพิ่มเว็บไซต์เหล่านั้นในส่วนโฮสติ้งของโปรเจ็กต์ Firebase ใน Firebase Console เนื้อหาถูกส่งผ่าน SSL และกำหนด URL สองรายการในแบบฟอร์ม https://site-name.web.app และ https://site-name.firebaseapp.com , โดยที่ site-name
เป็นชื่อโปรเจ็กต์หรือชื่อไซต์ที่ผู้ใช้ระบุ
เป็นเรื่องง่ายมากที่จะโฮสต์ไซต์จากชื่อโดเมนของคุณเองซึ่งคุณสามารถเปลี่ยนระเบียน DNS สำหรับโดเมนได้ คุณเพิ่มชื่อโดเมนของคุณลงในไซต์บน Firebase Console จากนั้นคุณจะได้รับระเบียน DNS TXT ซึ่งคุณต้องเพิ่มลงใน DNS ของโดเมนเพื่อพิสูจน์ให้ Google เห็นว่าคุณเป็นเจ้าของโดเมน เมื่อมองเห็นระเบียน TXT แล้วคุณสามารถรับระเบียน DNS A สำหรับไซต์ได้ ใบรับรอง SSL จะถูกจัดเตรียมโดยอัตโนมัติสำหรับไซต์ เมื่อจัดเตรียมใบรับรองแล้วไซต์จะพร้อมใช้งานทั่วโลก โดยหลักการแล้วอาจใช้เวลาหลายชั่วโมงในการอัปเดต DNS และการจัดเตรียมใบรับรอง ในทางปฏิบัติกระบวนการนี้สามารถเสร็จสิ้นได้ใน 20 นาที
ในการเพิ่มเนื้อหาในโฮสติ้งก่อนอื่นให้สร้างไดเร็กทอรีสำหรับไซต์และ cd
เข้าไปจากบรรทัดคำสั่ง จากนั้นลงชื่อเข้าใช้ Firebase และเริ่มต้นไดเรกทอรีโครงการ
firebase login firebase init
คุณจะได้รับแจ้งให้เลือกโครงการและต้องการบริการไคลเอ็นต์ใด สามารถเพิ่มบริการในภายหลังได้ตลอดเวลาและไม่จำเป็นต้องเลือกในขั้นตอนนี้
สร้างไฟล์ชื่อ firebase.json
ซึ่งกำหนดไดเร็กทอรีรูทของเว็บไซต์และไฟล์ที่จะยกเว้น คุณจะต้องมี .gitignore
ไฟล์เพื่อแยกไฟล์จากการควบคุมเวอร์ชัน
{ 'hosting': { 'public': 'public', 'ignore': [ 'firebase.json', '**/.*', '**/node_modules/**' ] } }
จากนั้นคัดลอกเนื้อหาแบบคงที่ไปยังไดเร็กทอรีสาธารณะ สุดท้ายปรับใช้ไซต์เข้าสู่ระบบคลาวด์
firebase deploy
ในการเปลี่ยนเนื้อหาเว็บเพียงแค่เปลี่ยนไฟล์เนื้อหาและออกคำสั่งปรับใช้ การปรับใช้แต่ละครั้งจะปรากฏเป็นเวอร์ชันบน Firebase Console คุณสามารถย้อนกลับไปเป็นเวอร์ชันก่อนหน้าได้ด้วยคลิกเดียว
Firebase Hosting ยังเขียน URI ไปยังไฟล์, Cloud Functions และ Cloud Run ได้อีกด้วย สิ่งนี้ช่วยลดความยุ่งยากอย่างมากเนื่องจากไม่จำเป็นต้องกำหนดโดเมนให้กับบริการเหล่านี้ การเขียนซ้ำถูกกำหนดโดยการเพิ่มส่วนการเขียนซ้ำในส่วนการโฮสต์ของ firebase.json การปรับใช้โฮสติ้งจะล้มเหลวหากไม่มีบริการ
{ 'hosting': { 'public': 'public', 'rewrites': [ { 'source': '/xxx', 'destination': '/profile.html' }, { 'source': '/yyy', 'function': 'profile' }, { 'source': '/api{,/**}', 'run': { 'serviceId': 'cloud-api', 'region': 'europe-west1' } } ] } }
Firebase มี API ไคลเอ็นต์สำหรับเข้าถึงที่เก็บข้อมูลบนคลาวด์ มีพื้นที่เก็บข้อมูลสามประเภท:
สิ่งนี้ช่วยให้ไคลเอนต์มือถือและเว็บสามารถจัดเก็บและดึงข้อมูลได้โดยไม่ต้องใช้เซิร์ฟเวอร์
Realtime Database คือฐานข้อมูล NoSQL ที่โฮสต์บนคลาวด์ ข้อมูลในฐานข้อมูลแบบเรียลไทม์จะซิงโครไนซ์แบบเรียลไทม์กับอุปกรณ์ที่เชื่อมต่อทั้งหมดโดยอัตโนมัติ ทำงานข้ามแพลตฟอร์มไปยัง Android, iOS และเว็บ ข้อมูลจะถูกจัดเก็บเป็นโครงสร้างแผนผัง JSON สามารถตั้งกฎความปลอดภัยเพื่อควบคุมการเข้าถึงข้อมูลแบบอ่านและเขียนได้
อุปกรณ์แต่ละเครื่องเก็บสำเนาฐานข้อมูลในเครื่อง ซึ่งหมายความว่าข้อมูลจะพร้อมใช้งานเมื่อไม่ได้เชื่อมต่อกับเครือข่าย เมื่อเชื่อมต่อใหม่สำเนาของข้อมูลในเครื่องและบนคลาวด์จะซิงโครไนซ์
ข้อมูลถูกอ่านโดยแอพพลิเคชั่นโดยใช้ Listener Listener ฟังบนโหนดในทรี JSON เมื่อใดก็ตามที่ข้อมูลมีการเปลี่ยนแปลงบนคอนโซลหรือโดยผู้ใช้รายอื่นการโทรกลับของผู้ฟังจะถูกเรียกด้วยค่าข้อมูลใหม่ ฐานข้อมูลเรียลไทม์ยังรองรับการสืบค้น แบบสอบถามแต่ละรายการส่งคืนโหนดและโหนดลูกทั้งหมด
กฎความปลอดภัยโดยค่าเริ่มต้นไม่อนุญาตให้เข้าถึงข้อมูล สามารถเพิ่มกฎได้ทั่วโลกหรือแต่ละโหนดของออบเจ็กต์ JSON กฎความปลอดภัยควบคุมการอ่านและเขียนการเข้าถึงข้อมูลและสามารถดำเนินการตรวจสอบความถูกต้องได้
ฐานข้อมูลแบบเรียลไทม์เหมาะที่สุดกับข้อมูลขนาดเล็กที่ไม่ต้องการโครงสร้างข้อมูลที่ซ้อนกันมาก ขีด จำกัด ฟรี 1GB ของข้อมูล
Cloud Firestore ถูกมองว่ามาแทนที่ฐานข้อมูลแบบเรียลไทม์ ขยายการทำงานของฐานข้อมูลเรียลไทม์ ข้อมูลไม่ได้อยู่ในโครงสร้าง JSON แต่เป็นการรวบรวมเอกสารตามลำดับชั้น เอกสารแต่ละชุดประกอบด้วยชุดของคู่คีย์ - ค่าและเอกสารย่อยที่เป็นทางเลือก แบบสอบถามช่วยให้การกรองและการเรียงลำดับซับซ้อนมากขึ้นและส่งคืนเฉพาะเอกสารที่สมบูรณ์เท่านั้น แบบสอบถามไม่ส่งคืนเอกสารย่อย
Cloud Firestore จะเข้ามาแทนที่ Cloud Datastore ในไม่ช้า สามารถเรียกใช้ในโหมด Datastore หรือในโหมดเนทีฟ แอปพลิเคชัน Datastore ทั้งหมดจะย้ายไปที่ Cloud Firestore โดยอัตโนมัติ
Cloud Firestore เหมาะที่สุดสำหรับข้อมูลขนาดเล็ก สามารถมีโครงสร้างข้อมูลที่ซ้อนกันอย่างลึกซึ้ง ขีด จำกัด ฟรี 1GB ของข้อมูล
Cloud Storage ใช้สำหรับจัดเก็บไฟล์เช่นรูปภาพและคลิปวิดีโอ ไคลเอนต์มือถือและเว็บสามารถใช้ Firebase เพื่ออัปโหลดและดาวน์โหลดไฟล์เข้าและออกจากระบบคลาวด์ได้โดยตรงโดยไม่ต้องใช้เซิร์ฟเวอร์ส่วนหลัง ขีด จำกัด ฟรีคือ 5GB ของข้อมูล
Cloud Functions เป็นเทคโนโลยีสำคัญในการสร้างแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ ฟังก์ชันคลาวด์สามารถเขียนใน JavaScript, TypeScript, Python หรือ Go ซึ่งจะนำไปใช้โดยตรงในระบบคลาวด์ของ Google ฟังก์ชันถูกเรียกใช้โดยคำขอ HTTP หรือโดยเหตุการณ์ในระบบคลาวด์เช่นการเขียนไปยัง Cloud Storage
ฟังก์ชันคลาวด์สามารถจัดการได้ครั้งละหนึ่งคำขอเท่านั้น แต่ระบบคลาวด์จะปรับขนาดฟังก์ชันโดยการจำลองโดยอัตโนมัติ ฟังก์ชันคลาวด์ที่เขียนด้วย Python ใช้ไลบรารี Flask เพื่อจัดการคำขอ HTTP ฟังก์ชันรับวัตถุคำร้องขอเป็นพารามิเตอร์และส่งกลับเนื้อหาตอบกลับ
Python Cloud Function อย่างง่ายต้องการไดเร็กทอรีที่ใช้งานได้และจุดเริ่มต้นจะอยู่ในไฟล์ main.py
def simple_cloud_function(request): return 'It worked'
การอ้างอิงถูกจัดการโดย pip และไปที่ไฟล์ชื่อ requirements.txt
Flask==1.0.2
มีการปรับใช้ฟังก์ชันโดยใช้ gcloud
เครื่องมือบรรทัดคำสั่ง ระบุชื่อฟังก์ชันภาษาและทริกเกอร์
gcloud functions deploy simple_cloud_function --runtime python37 --trigger-http
URL สำหรับฟังก์ชันจะแสดงบนการปรับใช้และสามารถพบได้โดยการรันคำสั่งอธิบาย
gcloud functions describe simple_cloud_function Url: https://europe-west1-project-id.cloudfunctions.net/simplecloud_function
Cloud Functions สามารถเรียก Google Cloud และ Firebase API เพื่อมอบฟังก์ชันแบ็คเอนด์ พวกเขาให้ข้อมูลการบันทึกเกี่ยวกับการเริ่มต้นการดำเนินการและเวลาดำเนินการ สามารถเพิ่มการบันทึกเพิ่มเติมได้อย่างง่ายดาย คุณสามารถดูบันทึกได้ใน Stackdriver Logging UI และผ่านทาง gcloud
เครื่องมือบรรทัดคำสั่ง
gcloud functions logs read simple_cloud_function
สามารถดูและลบฟังก์ชันได้ใน Google Cloud Console
Cloud Functions ใช้ดีที่สุดสำหรับการดำเนินการที่เกิดขึ้นไม่บ่อยนัก ตัวอย่างการใช้งานคือการสร้างภาพขนาดย่อเมื่ออัปโหลดภาพไปยัง Cloud Storage ขีด จำกัด ฟรี 125,000 ครั้งต่อเดือน
Cloud Run เพิ่งเพิ่มฟังก์ชันการทำงานที่อำนวยความสะดวกให้กับแอปพลิเคชันแบบไร้เซิร์ฟเวอร์ ช่วยให้สามารถเรียกใช้คอนเทนเนอร์ Docker ในระบบคลาวด์ได้โดยไม่ต้องตั้งค่าโครงสร้างพื้นฐานที่ซับซ้อน สามารถทำงานในโหมดที่มีการจัดการซึ่งใช้รันไทม์ Knative ซึ่งสร้างบน Kubernetes นอกจากนี้ยังสามารถทำงานบน Anthos ซึ่งสร้างบน Kubernetes แต่อนุญาตให้ใช้คอนเทนเนอร์ข้ามระบบคลาวด์และแม้แต่ในศูนย์ข้อมูลของคุณเอง ไม่จำเป็นต้องตั้งค่าและจัดการคลัสเตอร์ Kubernetes เนื่องจากทำทั้งหมดโดยอัตโนมัติ
แอปพลิเคชันใด ๆ ที่สามารถสร้างขึ้นในอิมเมจ Docker สามารถจัดการได้โดย Cloud Run จะปรับขนาดจำนวนตู้คอนเทนเนอร์โดยอัตโนมัติตามความต้องการ นอกจากนี้ยังลดขนาดเป็นศูนย์เมื่อไม่มีการใช้บริการ บริการที่ไม่ได้ใช้จะไม่มีค่าใช้จ่ายใด ๆ
คอนเทนเนอร์ Docker จำเป็นต้องเรียกใช้เว็บเซิร์ฟเวอร์หากต้องการตอบสนองต่อคำขอ HTTP บริการ Python จะใช้ Flask จุดเข้าจะอยู่ใน app.py
โหนด js เว็บแอปพลิเคชันเฟรมเวิร์ก
from flask import Flask, request app = Flask(__name__) @app.route(’/api/profile’) def profile(): page = ’’’ Page content ’’’ return page
แอปพลิเคชันต้องการ Dockerfile
เพื่อสร้างภาพ
FROM python ENV APP_HOME /app WORKDIR $APP_HOME COPY . . ENV PORT 8080 RUN pip install Flask gunicorn firebase-admin CMD exec gunicorn --bind :$PORT --workers 1 --threads 8 app:app
คอนเทนเนอร์ Cloud Run ถูกปรับใช้โดยตรงในระบบคลาวด์
gcloud run deploy --image=image_name --platform=managed --region=europe-west1 --allow-unauthenticated
หากไม่ได้กำหนดชื่อบริการแพลตฟอร์มภูมิภาคหรือว่าจะอนุญาตให้ไม่ผ่านการตรวจสอบความถูกต้องในการกำหนดค่าโครงการหรือระบุไว้ในบรรทัดคำสั่งระบบจะแจ้งให้ เมื่อการปรับใช้เสร็จสมบูรณ์ URL บริการจะแสดงขึ้น สามารถรับ URL ได้โดยใช้คำสั่ง gcloud
gcloud run services list SERVICE REGION URL LAST DEPLOYED BY LAST DEPLOYED AT cloud-api europe-west1 https://cloud-api-h42ifbxkyq-ew.a.run.app [email protected] 2020-02-05T10:53:30.006Z
URL มีตัวเลขสุ่มที่ยากต่อการจัดการ นี่คือจุดที่กฎการเขียนซ้ำของโฮสติ้งของ Firebase จะมีประโยชน์มากที่สุด
สามารถดูและลบบริการได้ใน Google Cloud Console
Cloud Run เหมาะอย่างยิ่งสำหรับการโฮสต์ REST API ขีด จำกัด ฟรีรายเดือนคือ 180,000 CPU วินาทีหน่วยความจำ 360,000 GB วินาทีคำขอ 2 ล้านคำขอและการส่งออกเครือข่าย 1GB ขีด จำกัด การส่งออกเครือข่ายฟรีจะมีผลเฉพาะในกรณีที่มีการใช้บริการในภูมิภาคอเมริกาเหนือ
โดยค่าเริ่มต้นคอนเทนเนอร์ Cloud Functions และ Cloud Run จะเป็นแบบสาธารณะและทุกคนบนอินเทอร์เน็ตสามารถเข้าถึงได้ การใช้กฎ IAM ใน Cloud Console สามารถ จำกัด บริการไว้เฉพาะสมาชิกโครงการ Google Groups และที่อยู่อีเมลแต่ละรายการ
หากมีข้อ จำกัด การเข้าถึงโดยไม่ได้รับอนุญาตจะถูกห้าม ในการเปิดใช้งานการเข้าถึงจะต้องเพิ่มโทเค็นประจำตัวในส่วนหัวของคำขอ คุณสามารถรับโทเค็นข้อมูลประจำตัวได้โดยใช้คำสั่ง gcloud หรือระหว่างกระบวนการตรวจสอบสิทธิ์ Firebase
gcloud auth print-identity-token
ต้องระบุส่วนหัวการให้สิทธิ์
Authorization: Bearer id-token
Google Cloud Platform และ Firebase มีผลิตภัณฑ์มากมายที่ช่วยอำนวยความสะดวกในการพัฒนาแอปพลิเคชันมือถือและเว็บ ความจำเป็นในการใช้เซิร์ฟเวอร์ส่วนหลังสามารถกำจัดได้อย่างสมบูรณ์โดยอนุญาตให้ไคลเอนต์เข้าถึงฟังก์ชันคลาวด์โดยตรงหรือโดยการปรับใช้โค้ดแบ็คเอนด์ในระบบคลาวด์โดยใช้ Cloud Functions หรือ Cloud Run
แอปพลิเคชันที่มีอยู่สามารถโอนย้ายไปยังส่วนเพิ่มแบบไม่ใช้เซิร์ฟเวอร์ได้ ในความเป็นจริงวิธีที่เทคโนโลยีกำลังพัฒนาอาจหมายความว่าโซลูชันเซิร์ฟเวอร์ที่ใช้เครื่องเสมือนแบบเดิมจะไม่จำเป็นอีกต่อไป
แอปที่ต้องการการตรวจสอบผู้ใช้การจัดเก็บข้อมูลการส่งข้อความและสถิติการใช้งาน
ไม่ได้นอกจากนี้ยังสามารถใช้สำหรับเว็บแอปและสำหรับแอปการดูแลระบบ
มีฟังก์ชั่นการใช้งานที่ไม่เหมือนใครและใช้งานง่ายซึ่งแอปจำนวนมากต้องการ
ได้รับการออกแบบมาเพื่อให้นักพัฒนาส่วนหน้าสำหรับอุปกรณ์เคลื่อนที่และเว็บสามารถเข้าถึงการทำงานของเซิร์ฟเวอร์บนคลาวด์ได้โดยไม่ต้องใช้เซิร์ฟเวอร์
พิจารณาใช้ Firebase เมื่อพัฒนาแอปใหม่หรือปรับปรุงแอปที่มีอยู่