Heroku คืออะไร?


135

ฉันเพิ่งเริ่มเรียนรู้ Ruby บนรางรถไฟและฉันสงสัยว่าจริงๆแล้ว Heroku คืออะไร? ฉันรู้ว่ามันเป็นระบบคลาวด์ที่ช่วยให้เราหลีกเลี่ยงการใช้เซิร์ฟเวอร์? เราใช้งานจริงเมื่อไหร่?


8
ในแง่ที่ง่ายที่สุด: Heroku ช่วยให้คุณสามารถปรับใช้เว็บแอปพลิเคชันได้โดยการพุชโค้ดของคุณไปที่ repo Heroku จัดการทุกอย่างให้คุณ
Bobby

ฉันสามารถใช้เพื่อปรับใช้แบ็กเอนด์ของแอปบนอุปกรณ์เคลื่อนที่ได้หรือไม่ มันรองรับ mongoDb ไหม
vikramvi

คำตอบ:


198

Heroku เป็นแพลตฟอร์มคลาวด์เป็นบริการ นั่นหมายความว่าคุณไม่ต้องกังวลเกี่ยวกับโครงสร้างพื้นฐาน คุณแค่ให้ความสำคัญกับแอปพลิเคชันของคุณ

นอกเหนือจากสิ่งที่จอนนี่พูดแล้วยังมีคุณสมบัติบางอย่างของ Heroku:

  • การปรับใช้ทันทีด้วย Git push - การสร้างแอปพลิเคชันของคุณดำเนินการโดย Heroku โดยใช้บิลด์สคริปต์ของคุณ
  • ทรัพยากรเสริมมากมาย (แอปพลิเคชันฐานข้อมูล ฯลฯ )
  • การปรับขนาดกระบวนการ - การปรับขนาดที่เป็นอิสระสำหรับแต่ละองค์ประกอบของแอปของคุณโดยไม่ส่งผลต่อฟังก์ชันการทำงานและประสิทธิภาพ
  • การแยก - แต่ละกระบวนการ (aka dyno) ถูกแยกออกจากกันโดยสิ้นเชิง
  • การบันทึกและการมองเห็นแบบเต็ม - เข้าถึงเอาต์พุตการบันทึกทั้งหมดได้อย่างง่ายดายจากทุกองค์ประกอบของแอปของคุณและแต่ละกระบวนการ (dyno)

Heroku มีบทช่วยสอนที่เป็นลายลักษณ์อักษรซึ่งช่วยให้คุณเริ่มได้ในไม่กี่นาที นอกจากนี้ยังให้บริการฟรี 750 ชั่วโมงแรกในการคำนวณซึ่งหมายความว่าคุณสามารถมีกระบวนการเดียว (หรือที่เรียกว่า Dyno) โดยไม่มีค่าใช้จ่าย นอกจากนี้ประสิทธิภาพยังดีมากเช่นเว็บแอปพลิเคชันธรรมดา ๆ ที่เขียนด้วย node.js สามารถรองรับคำขอได้ประมาณ 60 - 70 คำขอต่อวินาที

คู่แข่งของ Heroku ได้แก่ :


69
+1 สำหรับการกล่าวถึงว่ามีบริการอื่น ๆ เป็นทางเลือก
Karl-Johan Sjögren

6
ฉันแค่อยากรู้ว่าอะไรคือความแตกต่างระหว่างการเรียกใช้แอพรางบนเว็บเซิร์ฟเวอร์ localhost / apache กับการเรียกใช้แอปบน heroku?
neo1691

23
สำหรับฉันการอ่านรายชื่อคู่แข่งก็ทำให้ฉันเข้าใจว่า Heroku อาจเป็นอย่างไร
รหัสกวี

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


24

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

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

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


8

Heroku โดยทั่วไปมีพื้นที่เว็บเพื่ออัปโหลดแอปของคุณ

หากคุณกำลังอัปโหลดแอป Rails คุณสามารถทำตามบทช่วยสอนนี้ได้ https://github.com/mrkushjain/herokuapp


4
การโปรโมต Github ของคุณอย่างไร้ยางอายตอนนี้เราหรือยัง

3

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

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

มันถูกเปิดเผยเป็นบริการผ่านเครื่องมือบรรทัดคำสั่งเพื่อให้คุณสามารถเขียนสคริปต์เพื่อทำให้การปรับใช้ของคุณเป็นไปโดยอัตโนมัติ อย่างไรก็ตามมันค่อนข้างคล้ายกับบริการเว็บโฮสติ้งอื่น ๆ ที่เปิดใช้งาน Git แต่ Heroku ทำให้มันง่ายขึ้น

นั่นคือสิ่งที่ทำให้การดูแลระบบง่ายขึ้นสำหรับคุณดังนั้นจึงช่วยประหยัดเวลา แต่ฉันไม่แน่ใจเพราะฉันเพิ่งเริ่ม!

คำแนะนำที่ดีเกี่ยวกับวิธีการทำงานในเอกสารอย่างเป็นทางการคือ:

https://devcenter.heroku.com/articles/how-heroku-works


0

ต่อ DZone: https://dzone.com/articles/heroku-or-amazon-web-services-which-is-best-for-your-startup

Heroku เป็นผลิตภัณฑ์ Platform as a Service (PaaS) ที่ใช้ AWS และแตกต่างจาก Elastic Compute Cloud อย่างมาก การแยกความแตกต่างของโซลูชัน 'โครงสร้างพื้นฐานเป็นบริการ' และ 'แพลตฟอร์มเป็นบริการ' เป็นสิ่งสำคัญมากเนื่องจากเราพิจารณาปรับใช้และสนับสนุนแอปพลิเคชันของเราโดยใช้สองโซลูชัน

Heroku เป็นวิธีที่ใช้งานง่ายกว่า AWS Elastic Compute Cloud บางทีมันง่ายเกินไป แต่มีเหตุผลที่ดีสำหรับความเรียบง่ายนี้ แพลตฟอร์ม Heroku ช่วยให้เรามีสภาพแวดล้อมรันไทม์และแอปพลิเคชันเซิร์ฟเวอร์ที่พร้อมใช้งาน นอกจากนี้เรายังได้รับประโยชน์จากการผสานรวมอย่างราบรื่นกับเครื่องมือการพัฒนาต่างๆระบบปฏิบัติการที่ติดตั้งไว้ล่วงหน้าและเซิร์ฟเวอร์ซ้ำซ้อน

ดังนั้นด้วย Heroku เราไม่จำเป็นต้องคิดถึงการจัดการโครงสร้างพื้นฐานซึ่งแตกต่างจาก AWS EC2 เราต้องเลือกแผนการสมัครสมาชิกและเปลี่ยนแผนเมื่อจำเป็นเท่านั้น

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

ป้อนคำอธิบายภาพที่นี่

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