“ การคำนวณแบบคลาวด์” แตกต่างจาก“ ไคลเอนต์เซิร์ฟเวอร์” อย่างไร


30

การดูซีอีโอของ บริษัท "cloud computing" ใหม่อธิบาย บริษัท ของเขาในรายการทีวีทางการเงินในวันนี้เขากล่าวว่า "Cloud computing นั้นเหนือกว่าคอมพิวเตอร์ไคลเอนต์เซิร์ฟเวอร์แบบเก่า"

ตอนนี้ฉันสับสน ใครช่วยอธิบายหน่อยได้ไหมว่า "การคำนวณแบบคลาวด์" มีความหมายต่างจากไคลเอนต์ - เซิร์ฟเวอร์หรือไม่?

เท่าที่ฉันเข้าใจ cloud computing เป็นรูปแบบบริการเครือข่ายมากกว่าเช่นฉันไม่ได้เป็นเจ้าของหรือบำรุงรักษาฮาร์ดแวร์ทางกายภาพ "คลาวด์" เป็นข้อมูลส่วนหลังทั้งหมด แต่ฉันยังอาจมีแอปพลิเคชันที่สื่อสารกับสภาพแวดล้อม "คลาวด์" นั้น และถ้าฉันเรียกใช้เว็บไซต์แสดงรูปแบบที่ผู้ใช้กรอกกดปุ่มบนหน้าและส่งรายงานบางอย่างที่สร้างขึ้นโดยเว็บเซิร์ฟเวอร์นั่นไม่เหมือนกับการคำนวณแบบ "คลาวด์" ใช่หรือไม่ และคุณไม่คิดว่าเว็บเบราว์เซอร์ของฉันเป็น "ลูกค้า" หรือไม่?

โปรดทราบว่าคำถามของฉันเฉพาะกับแนวคิดของ "cloud computing" ที่เกี่ยวกับ "ไคลเอนต์เซิร์ฟเวอร์"

ขออภัยถ้านี่เป็นคำถามที่ไม่เหมาะสมสำหรับไซต์นี้ มันเป็นสิ่งที่อยู่ใกล้ที่สุดในจักรวาลสแต็คและนี่เป็นครั้งแรกของฉันที่นี่ ฉันเป็นตัวจับเวลาเก่าเขียนโปรแกรมตั้งแต่วันที่มีเมนเฟรมในปลายยุค 70


นี่คือการทำให้เข้าใจง่าย แต่ฉันคิดว่าความแตกต่างหลักคือที่จัดเก็บข้อมูล ในเซิร์ฟเวอร์ลูกค้า บริษัท ของคุณเก็บข้อมูลของตัวเอง ใน Cloud Computing ข้อมูลของคุณจะถูกจัดเก็บโดยผู้ให้บริการคลาวด์ สิ่งนี้มีข้อได้เปรียบเนื่องจากผู้ใช้แอปพลิเคชันระบบคลาวด์มีการบำรุงรักษาน้อยจนถึงไม่มีเลยและผู้พัฒนาแอพคลาวด์สามารถอัปเดตรหัสและฐานข้อมูลได้โดยไม่ต้องกังวลกับการทำลายซอฟต์แวร์ 3 รุ่น แน่นอนข้อเสียคือผู้ใช้แอพเก็บข้อมูลของพวกเขาในที่เก็บข้อมูลของคนอื่น
Dunk

3
ในระยะสั้นอาจกล่าวได้ว่าลูกค้า - เซิร์ฟเวอร์เป็น hype เมื่อวานนี้ในขณะที่เมฆเป็น hype ปัจจุบัน :-)
JensG

ไคลเอนต์เซิร์ฟเวอร์คือการประมวลผลแบบคลาวด์เนื่องจากรหัสแอสเซมบลีคือ Excel
mouviciel

1
ความแตกต่างระหว่างการขับรถเช่ากับการขับรถที่คุณเป็นเจ้าของ ไม่มีความแตกต่างที่แท้จริงยกเว้นคุณไม่ต้องกังวลเกี่ยวกับการบริการ!
James Anderson

คำตอบ:


28

พูดอย่างเคร่งครัดไม่มี 'คลาวด์' ไม่ได้อยู่ในแง่ของสิ่งที่ซีอีโอนั้นกำลังพ่น แน่นอนว่ามีอินเทอร์เน็ต มีบริการโฮสต์อยู่ มีของ VPS มีระบบส่งเนื้อหา เรา (ผู้คนด้านเทคนิค) ได้ปรับใช้กับคำเพื่ออ้างอิงรูปแบบการบริการโฮสต์บางรายการ แต่คำว่า 'Cloud' ในสื่อผู้บริโภคนั้นส่วนใหญ่จะเป็นคำศัพท์ทางการตลาดที่แปลว่า 'อินเทอร์เน็ต' บ่อยกว่านั้นยังหมายถึง 'ฉันจะเรียกเก็บเงินจากคุณตามเดือน'

คุณคิดถูกแล้วว่าคำสองคำ 'คลาวด์' และ 'ลูกค้าเซิร์ฟเวอร์' ไม่เกี่ยวข้องกัน มีบริการโฮสต์ 'ในระบบคลาวด์' (ฉันต้องการเพิ่ม 'dun-dun-daaaaaaa' หลังจากใช้วลีนั้นเสมอ) ไม่ได้ทำให้แอปไคลเอนต์ - เซิร์ฟเวอร์เซิร์ฟเวอร์ใด ๆ น้อยลง ตัวอย่างเช่น 'เว็บ' ใช้โมเดลของไคลเอ็นต์ - เซิร์ฟเวอร์เป็นหลัก เว็บเบราว์เซอร์เป็นไคลเอนต์ เว็บเซิร์ฟเวอร์คือเซิร์ฟเวอร์ เว็บเซิร์ฟเวอร์ที่โฮสต์อยู่ 'ในระบบคลาวด์' ไม่ได้เปลี่ยนความจริงที่ว่าความสัมพันธ์ของเว็บเบราว์เซอร์ / เว็บเซิร์ฟเวอร์คือไคลเอนต์ - เซิร์ฟเวอร์

ดังนั้นคำว่าไคลเอนต์ - เซิร์ฟเวอร์จะกำหนดความสัมพันธ์ระหว่างสองเอนทิตีในระบบ ในกรณีที่หน่วยงานที่โฮสต์พื้นที่ทางกายภาพไม่เกี่ยวข้อง

โดยพื้นฐานแล้วคุณถูกต้อง ทั้งสองไม่ได้เปรียบ


มี cluds อย่างน้อยสองประเภท: Cloud ระดับสูง - การจัดการทุกที่จะทิ้งและพูดถึง - รู้จักกันในทางเทคนิคว่า "steam" หรือ "smoke" (ด้วยเหตุนี้คำว่า "smokeware") และ cloud ระดับต่ำ - เซิร์ฟเวอร์ตั้งอยู่ในทางเทคนิค ชื่อ "หมอก" ขออภัยสำหรับความเห็นถากถางดูถูก
Emilio Garavaglia

21

"การคำนวณแบบคลาวด์" เป็นคำที่ครอบคลุมซึ่งหมายถึงการทำสองสิ่ง: อันดับแรกเพื่อสรุปการใช้งานที่เป็นไปได้ทั้งหมดของรูปแบบไคลเอนต์เซิร์ฟเวอร์หลังคำเดียวเมื่อเทียบกับกรณีการใช้งานที่เฉพาะเจาะจงมากขึ้นเช่น "ไฟล์เซิร์ฟเวอร์" "เซิร์ฟเวอร์ฐานข้อมูล" "เว็บเซิร์ฟเวอร์", "เซิร์ฟเวอร์แอปพลิเคชัน" ฯลฯ ; และประการที่สองเพื่อสรุปสถาปัตยกรรมเซิร์ฟเวอร์เองในแง่ของฮาร์ดแวร์ทอพอโลยีตำแหน่งและแม้แต่ความเป็นเจ้าของ

ในรูปแบบของไคลเอนต์ - เซิร์ฟเวอร์แบบดั้งเดิมซึ่งยังคงใช้กันอย่างแพร่หลายในปัจจุบันลูกค้าเชื่อมต่อกับเซิร์ฟเวอร์ที่ทำงานเฉพาะอย่าง เซิร์ฟเวอร์นี้อาจโฮสต์ฐานข้อมูลหรือชุดของการแบ่งปันไฟล์หรือหน้าเว็บ เมื่อไคลเอ็นต์เชื่อมต่อกับเซิร์ฟเวอร์นั้นจะมีความเข้าใจโดยนัยเกี่ยวกับประเภทของการสื่อสารและการส่งข้อมูลที่จะเกิดขึ้นระหว่างคอมพิวเตอร์สองเครื่อง อาจมีความเข้าใจจากลูกค้าหรือผู้ใช้ปลายทางเกี่ยวกับความสามารถของฮาร์ดแวร์ของเซิร์ฟเวอร์และข้อ จำกัด ของมัน "การมีเพศสัมพันธ์อย่างแน่นหนา" ระหว่างเครื่องไคลเอนต์กับเซิร์ฟเวอร์อาจทำให้เกิดปัญหาสำหรับผู้ดูแลระบบที่ต้องการถอดเซิร์ฟเวอร์เพื่อบำรุงรักษา แอปพลิเคชันทั้งหมดขึ้นอยู่กับทรัพยากรที่มีให้โดยเซิร์ฟเวอร์นี้จะต้องชี้ไปที่เซิร์ฟเวอร์อื่น

ในรูปแบบคลาวด์ฮาร์ดแวร์โทโพโลยีการแบ่งงานและจำนวนเครื่องจริงที่เกี่ยวข้องนั้นล้วนอยู่ภายใต้จุดปลายเดียว การเปรียบเทียบสามารถนำไปใช้กับ "เว็บแอปพลิเคชัน" ที่ทันสมัยซึ่งตรงข้ามกับ "เว็บไซต์" รุ่นเก่าซึ่งมีความคงที่มากกว่า เราอาจเดาได้ว่ามีแอพพลิเคชันเซิร์ฟเวอร์และเซิร์ฟเวอร์ DB อยู่เบื้องหลัง แต่เราไม่ต้องสนใจอะไรจริงๆ เว็บเซิร์ฟเวอร์ซึ่งเป็นส่วนหนึ่งของงานเพื่อให้บริการแอพพลิเคชั่นแบบเต็มรูปแบบแก่ผู้ใช้นอกเหนือจาก "edge" มอบจุดรวมการควบคุมการเข้าถึงข้อมูลและบริการทั้งหมดจากเครื่องอื่น ๆ ที่อยู่ด้านหลังประตูหน้านี้

ผลที่สุดคือเมื่อมีจุดปลายเดียวที่เปิดรับฟังก์ชั่นการทำงานของแอพพลิเคชั่นนั่นคือทั้งหมดที่ลูกค้าผู้บริโภคของแอพพลิเคชั่นต้องใส่ใจแทนที่จะไปหาข้อมูลจากที่ไหน ฯลฯ นั่นหมายความว่าผู้ดูแลระบบและสถาปนิกของผู้ให้บริการภายในคลาวด์นี้มีอิสระมากขึ้นหรือน้อยลงในการเปลี่ยนเครื่องจักรทอพอโลยีและรายละเอียดการใช้งานเฉพาะอื่น ๆ ของ "บริการคลาวด์" นี้โดยที่ลูกค้าไม่ได้ฉลาด Facebook สามารถทำได้ถ้าคิดว่าฉลาดควรสร้างระบบจัดเก็บข้อมูลทั้งหมดใหม่ตั้งแต่ต้นโดยใช้ DBMS ที่แตกต่างกันและเซิร์ฟเวอร์ใหม่ทั้งหมดและตราบใดที่ไซต์ยังคงมีให้บริการในช่วงการเปลี่ยนภาพจะไม่มีใครฉลาดเท่านี้ ในความเป็นจริง Facebook ทำเช่นนั้นหลายครั้ง


2
เท่าที่ฉันชื่นชมความเห็นถากถางดูถูกที่อยู่เบื้องหลังการตลาด 'คลาวด์' ที่คำตอบของ GrandmasterB มีอยู่สิ่งนี้เป็นคำตอบที่แท้จริง
Eric King

ฉันพบว่านี่เป็นคำตอบที่ดีที่สุด!
Arsal

5

ส่วนสำคัญของ "cloud computing" คือเครื่องมือการจัดการการปรับใช้

ในการปรับใช้ "แบบคลาสสิก" มีคำสั่งให้เครื่องเฉพาะสำหรับแอปพลิเคชันเฉพาะและทำการกำหนดค่าค่อนข้างคงที่

ในสภาพแวดล้อมแบบคลาวด์มีฮาร์ดแวร์ที่ได้มาตรฐานมากขึ้นหรือน้อยลงในพูลและ API ที่สร้างและกำหนดค่าเครื่องเสมือนจากเทมเพลตบางรูปแบบ โดยความผิดพลาดที่ระบบสามารถเปลี่ยนได้อย่างง่ายดายปรับขนาดขึ้นหรือลดขนาดขึ้นอยู่กับความต้องการและฮาร์ดแวร์ได้รับการจัดสรรตามความจำเป็นโดยอัตโนมัติ

แน่นอนว่าผู้ดูแลระบบที่เหมาะสมเคยทำมาก่อนเช่นกัน แต่นอกเหนือจากการตลาดอย่างแท้จริงแล้วยังมีรากฐานของ API มาตรฐาน (Aamzons AWS API ซึ่งเสนอโดยเครื่องมือเช่นยูคาลิปตัสสำหรับ "คลาวด์ส่วนตัว") และเครื่องมือ (เช่นหุ่นเชิด)


สิ่งนี้มากเกี่ยวกับ "การตลาด" มากกว่าเทคโนโลยีที่เกิดขึ้นจริงเช่นเดียวกับฮูฮาเกี่ยวกับ "Big Data"
BellevueBob

คุณลืมเรื่องสำคัญอย่างหนึ่งของ "การตลาด" การตลาดไม่ได้เป็นแค่ "โฆษณา" เท่านั้น แต่ยังรวมถึง "การกำหนดราคา" ด้วย และนั่นคือสิ่งที่ Cloud Computing แตกต่างจาก Client-Server Computing บางครั้งมันก็เป็น Utility Computing เพราะมันมีราคาเช่นสาธารณูปโภค (ไฟฟ้าน้ำประปา) แน่นอนว่ารูปแบบนั้นไม่ใหม่อย่างใดอย่างหนึ่งมันเป็นวิธีการคำนวณเมนเฟรมราคา
Jörg W Mittag

2

ในสถาปัตยกรรมไคลเอนต์เซิร์ฟเวอร์แบบดั้งเดิมคุณได้กำหนดทรัพยากรแบบคงที่ (หรืออย่างน้อยก็มีการนำเสนอเช่นนี้ - ฉันไม่มีประสบการณ์ในช่วงก่อนคลาวด์ดังนั้นโปรดแก้ไขฉันหากฉันผิดและขึ้นอยู่กับการตลาดที่ผิดพลาด) เซิร์ฟเวอร์ฐานข้อมูลชื่อ db.yourcompany.com และเว็บเซิร์ฟเวอร์ของคุณสื่อสารกับมัน หากคุณต้องการเพิ่มทรัพยากรคุณอาจเพิ่มเว็บเซิร์ฟเวอร์โดยเฉพาะอีกเครื่องหนึ่งและให้บริการโหลดบาลานซ์เป็นต้น

ในทางตรงกันข้ามกับความตึงเครียดของคลาวด์ได้ถูกวางลงบนระดับที่ต่ำกว่าและแสดงถึงวิธีการสร้าง 'เซิร์ฟเวอร์' ในตัวอย่างคุณมี:

  • HAAS (ฮาร์ดแวร์เป็นบริการ) - ลูกค้า (บริษัท ) รับคอมพิวเตอร์ที่โฮสต์ซึ่งพวกเขาสามารถติดตั้งระบบปฏิบัติการใด ๆ ที่พวกเขาต้องการ ความแตกต่างคือพวกเขาไม่ได้ 'รับ' คอมพิวเตอร์จริงๆ แต่เป็นเครื่องเสมือนในฟาร์ม เนื่องจากเป็นเวอร์ช่วลไลเซชันพวกเขาไม่จำเป็นต้องใส่ใจรายละเอียดในระดับที่ต่ำกว่าเช่นจำนวนพลังในการคำนวณชำระค่าใช้จ่ายโดยไม่คำนึงว่ามีการใช้งานเครื่องวิธีการเชื่อมต่อ ฯลฯ
  • PAAS (Platform As A Service) - ระดับที่สูงกว่า - คุณเขียนแอปพลิเคชั่นที่ทำงานที่ไหนสักแห่ง เนื่องจาก API นั้นเป็นเรื่องทั่วไปมากพอที่ผู้ให้บริการคลาวด์อาจจัดสรรทรัพยากรตามความต้องการดังนั้นหากแอปพลิเคชันของคุณได้รับ slashdotted คุณจะต้องจ่ายเงินสำหรับทรัพยากรเพิ่มเติมแทนที่จะได้รับจาก DDOS ที่ไม่เป็นอันตราย
  • SAAS (ซอฟต์แวร์เป็นบริการ) - อีกระดับที่สูงกว่า - คุณไม่ได้เขียนแอปพลิเคชัน - คุณใช้ คุณไม่สนใจว่าจะมีการนำไปใช้อย่างไรหรือทรัพยากรใดบ้างที่ใช้ มันสามารถใช้ได้ทุกที่และทุกเวลา

โปรดทราบว่าในกรณีส่วนใหญ่เป็นการบอกเป็นนัยว่าการบริการที่แท้จริงนั้นเป็นการให้บริการแก่ บริษัท ขนาดใหญ่ (เช่น Amazon หรือ Google) ไม่จำเป็นสำหรับกรณีนี้ - บริษัท หรือมหาวิทยาลัยขนาดใหญ่ปรับใช้คลาวด์ภายในของตนเองเพื่อให้การจัดการทรัพยากรง่ายขึ้น อนุญาตให้เพิ่มทรัพยากรลงในแอปพลิเคชันที่ต้องการเพิ่ม หากการเริ่มต้นภายในใหม่ประสบความสำเร็จพวกเขาไม่จำเป็นต้องกังวลว่าเซิร์ฟเวอร์จะโอเวอร์โหลด อย่างไรก็ตามในการประหยัดจากขนาดที่มีบทบาทมักจะทำก็ต่อเมื่อมีข้อกำหนดพิเศษ (เช่นเกี่ยวกับความปลอดภัย)

จากมุมมองของผู้ใช้มันโปร่งใสและมี look'n'feel ของสถาปัตยกรรมไคลเอนต์ - เซิร์ฟเวอร์ เว็บเซิร์ฟเวอร์อาจใช้งาน 'ในคลาวด์' ในขณะที่ใช้ HTTP ธรรมดาแบบเก่า ปัญหาความคิดและการแก้ปัญหาแน่นอนกลับไปถึงเฟรมหลัก 50sและปัจจุบันพวกเขากลับมามากขึ้นเมื่อเทียบกับพีซีไคลเอนต์หนา

ต้องบอกว่ามันอาจจะเป็นคำศัพท์ในประโยคที่กำหนดและระบุว่า บริษัท เป็นแบบไดนามิกและมุ่งเน้นไปที่ความสามารถหลักของพวกเขาในขณะที่ช่วยให้พนักงานของพวกเขา


1

ใครช่วยอธิบายหน่อยได้ไหมว่า "การคำนวณแบบคลาวด์" มีความหมายต่างจากไคลเอนต์ - เซิร์ฟเวอร์หรือไม่?

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

จากมุมมองของผู้บริโภคคุณภาพการเชื่อมต่อที่เพิ่มขึ้นและความน่าเชื่อถือนั้นดี ผู้ให้บริการคลาวด์บางรายยังช่วยแจกจ่ายเซิร์ฟเวอร์ของพวกเขาเพื่อช่วยให้ผู้บริโภคเกิดความล่าช้า

สำหรับโปรแกรมเมอร์ ... มันเป็นเรื่องการเขียนโปรแกรมไคลเอนต์ - เซิร์ฟเวอร์ซึ่งเซิร์ฟเวอร์เป็นเรื่องยากที่จะเข้าถึงและบางครั้งคุณจำเป็นต้องใช้ API พิเศษบางอย่าง


-1

ฉันคิดว่ามันยุติธรรมที่จะพูดว่า "cloud computing" และ "client-server" คล้ายกันมาก จากมุมมองของฉันการคำนวณแบบคลาวด์ดูเหมือนว่าจะต้องพึ่งพาเซิร์ฟเวอร์มากกว่าโมเดล "ไคลเอนต์เซิร์ฟเวอร์" ตามทฤษฎีแล้วการคำนวณบนคลาวด์บางรูปแบบสามารถเกิดขึ้นได้โดยไม่ต้องคำนึงถึงการเชื่อมต่อของลูกค้า ประโยชน์ของแอปพลิเคชั่นที่ทำงานบนคลาวด์เท่านั้นโดยที่ไม่มีการสื่อสารกับลูกค้าดูเหมือนจะไม่เป็นประโยชน์มากนัก

โดยพื้นฐานแล้วฉันคิดว่าส่วนใหญ่จะขึ้นอยู่กับว่ากำลังประมวลผลส่วนใหญ่ของคุณอยู่ที่ใด โดยทั่วไปเซิร์ฟเวอร์นั้นมีสเปคที่ดีกว่าทั้งในด้านฮาร์ดแวร์และพลังงานในการประมวลผลมากกว่าคอมพิวเตอร์ของผู้ใช้มาตรฐานเพื่อจัดการการเชื่อมต่อไคลเอนต์จำนวนมากและการดำเนินการพร้อมกันเพื่อรองรับการเชื่อมต่อเหล่านั้น การประมวลผลแบบคลาวด์ใช้สิ่งนี้เป็นข้อได้เปรียบโดยการย้ายสิ่งที่ปกติจะเป็นไคลเอนต์เรียกใช้รหัสไปยังเซิร์ฟเวอร์และอนุญาตให้ไคลเอนต์เป็น "dumb" มากที่สุด ดังนั้นจึงต้องใช้ทรัพยากรผู้ใช้น้อยลงเพื่อจัดการกับการดำเนินงานประเภทเดียวกัน

อาจไม่ใช่คำตอบที่ดีที่สุด แต่นั่นเป็นวิธีที่ฉันเห็น


2
ฉันไม่เห็นด้วย. เว็บใช้รูปแบบไคลเอนต์ - เซิร์ฟเวอร์ เว็บเบราว์เซอร์เป็นไคลเอนต์ เว็บเซิร์ฟเวอร์คือเซิร์ฟเวอร์ ว่าเว็บเซิร์ฟเวอร์อาจกำลังนั่งอยู่ 'ในคลาวด์' นั้นไม่เกี่ยวข้อง คำสองคำนั้นไม่สามารถเปรียบเทียบกันได้
GrandmasterB

สำหรับฉันแล้วพวกเขาเปรียบได้เพียงเพราะฉันมองว่าพวกเขาเหมือนกันยกเว้นว่าจะใช้คอมพิวเตอร์ส่วนใหญ่ที่ใด "Cloud Computing" ในใจของฉันเหมือนกันยกเว้นว่าจะอาศัยการสนับสนุนการคำนวณเล็กน้อยจากลูกค้า
StMotorSpark
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.