การใช้อินสแตนซ์ EC2 เป็นแพลตฟอร์มการพัฒนาหลัก [ปิด]


28

ปัญหาของฉัน

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

เพื่อแก้ปัญหาเหล่านี้ตอนนี้ฉันกำลังพิจารณาใช้ EC2 (รันอินสแตนซ์ของ windows) เป็นแพลตฟอร์มการพัฒนาหลักของฉันและเพียงแค่เข้าถึงสิ่งนี้จากพีซีเครื่องใดก็ได้ที่ฉันเกิด ฉันคำนวณว่าการใช้งานอินสแตนซ์ขนาดใหญ่ (64 บิตที่ถูกที่สุด) เป็นเวลา 8 ชั่วโมงต่อวันต่อปีมีค่าใช้จ่ายฉัน 960 $ ต่อปีซึ่งยอมรับได้

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

ข้อดีอีกอย่างคือถ้าฉันมีปัญหาเฉพาะกับอินสแตนซ์ของฉันฉันสามารถเปิดใช้งานอินสแตนซ์อื่นและให้มีคนดูปัญหาและอัปเดตรูปภาพ

คำถามของฉัน:

ใครบ้างมีประสบการณ์กับการตั้งค่าบน EC2 หรือไม่ คุณคิดว่าปัญหาประเภทใด


2
หากคุณมีการเชื่อมต่อบ้านที่ดีพอคุณสามารถทำได้โดยใช้ Windows Remote Desktop บนเครื่อง 'เซิร์ฟเวอร์' ที่บ้านของคุณ หรือถ้าคุณต้องการอินสแตนซ์หลายตัวให้เรียกใช้หลาย ๆ อันภายใต้กล่องเสมือน ไม่มีค่าธรรมเนียมรายเดือน
GrandmasterB

2
@GrandmasterB: ไม่มีค่าธรรมเนียมรายเดือนใช่ไหม คุณหมายถึงไฟฟ้าไม่เสียค่าใช้จ่าย และการบำรุงรักษาเซิร์ฟเวอร์ภายในบ้านของคุณจะทำให้คุณไม่มีเวลา?
John Bartholomew

วิธีการเข้าถึงจากระยะไกลจะเร็ว "เพียงพอ" สำหรับคุณหรือไม่

วิธีการเกี่ยวกับเครื่องเสมือน Azureเป็นทางเลือกให้ EC2 สำหรับการทำงานสภาพแวดล้อมเดสก์ทอปแล้ว?
feklee

คุณพิจารณาใช้ Linux VPS บางตัวแทน EC2 หรือไม่
Basile Starynkevitch

คำตอบ:


11

ฉันไม่ได้ใช้ EC2 แต่ใช้ประโยชน์จากฟาร์ม Xen ที่มีขนาดใหญ่มาก ค่อนข้างตรงไปตรงมาฉันรักมันเพราะ:

  • ฉันสามารถทำงานได้จากทุกที่
  • มันง่ายต่อการสร้างภาพรวมของระบบไฟล์ทั้งหมด (ฉันใช้ VHD)
  • มันง่ายในการผลิต ISO สำหรับการติดตั้ง
  • การโยกย้าย VM ไปรอบ ๆ เป็นเรื่องเล็กน้อยถ้าฉันต้องการที่จะเติบโตและหมดเวลา
  • โปรแกรมอย่าง distcc จะเร่งสร้างอย่างรวดเร็วเมื่อคุณมีเครื่องเสมือน 8 - 10 เครื่องที่สามารถใช้ได้
  • ดาวน์โหลดรายการต่างๆได้อย่างรวดเร็วด้วยการเชื่อมต่อ 100MB :)

ข้อแม้คือฉันเมาถ้าฉันไม่ดึงทันสมัยจาก repos HG ของฉันในกรณีที่ฉันไม่สามารถรับอินเทอร์เน็ตด้วยเหตุผลใด ๆ และที่เกิดขึ้นสองสามครั้ง

หากคุณมีการตั้งค่าที่ซับซ้อนจริงๆไม่มีทางที่คุณจะสามารถสร้างมันขึ้นมาใหม่ได้ในท้องถิ่น (หรือบางทีคุณอาจจะทำได้) แต่ประเด็นก็คือไม่มีการเชื่อมต่อไม่ทำงาน


ขอบคุณสำหรับคำตอบที่ยอดเยี่ยม ฉันได้ปรับปรุงคำถามเล็กน้อยกับราคา มันควรจะเป็น 960 $ ต่อปี
David

@David, ปรับปรุง :)
Tim Post

6

คุณกำลังค้นพบสิ่งที่คน Unix / Linux ทำมานานหลายปี: การพัฒนาบนเซิร์ฟเวอร์ จากนั้นคุณสามารถใช้เครื่องและ ssh / putty ใด ๆ ลงในเซิร์ฟเวอร์ของคุณและพัฒนาที่นั่น

เซิร์ฟเวอร์ linux ราคาถูกนั้นถูกกว่า ec2 มาก คุณสามารถไปกับ rackspacecloud ที่ $ 11 / เดือน (มีรูป windows ด้วย) แต่คุณสามารถไปกับเครื่องฐาน 15.00 / ปีโฮสติ้งที่http://buyvm.net/ (ลูกค้าที่มีความสุขไม่มีความสัมพันธ์อื่น ๆ )

สำหรับ amazon คุณสามารถดูอินสแตนซ์จ่ายล่วงหน้า 3 ปี ที่สามารถช่วยคุณได้มาก


4
การรัน GUI IDE จากระยะไกลบนเซิร์ฟเวอร์ Linux ไม่ใช่สิ่งที่คน Unix / Linux กำลังทำอยู่
vartec

2
ฉันไม่ได้พูดถึง GUI IDE โดยทั่วไปคนที่ใช้ระบบปฏิบัติการยูนิกซ์จะไม่ใช้ GUI IDE มันเป็น EMACS กับ VIM และบางนาโนและเอ็ดถูกโยนเข้ามา
Christopher Mahan

1
ก่อนอื่น AFAIK ไม่มีโหมดข้อความ Visual Studio ดังนั้นไม่การพัฒนาจากระยะไกลบน Windows จะไม่เหมือนกับการแก้ไขไฟล์จากระยะไกลด้วย vi ประการที่สองฉันไม่เห็นด้วยกับลักษณะทั่วไปของคุณ ในประสบการณ์ 15 ปีของฉันในการพัฒนาสำหรับ Linux ฉันเห็นบางคนใช้ตัวแก้ไขโหมดข้อความเท่านั้น และที่จริงแล้ว SysOps ส่วนใหญ่ไม่ใช่นักพัฒนา ในทางกลับกันนักพัฒนาซอฟต์แวร์ส่วนใหญ่จะใช้ IDE ที่มีคุณสมบัติครบถ้วน (Komodo, Eclipse และอนุพันธ์, KDevelop, Quanta +, InteliJ และอนุพันธ์)
vartec

อืมน่าสนใจ บางทีประสบการณ์ของเราอาจแตกต่างกันไป ฉันจะจำไว้เสมอว่าเมื่อฉันพูดอย่างกว้าง ๆ
Christopher Mahan

6

ฉันใช้ EC2 แบบดั้งเดิมมากกว่าในฐานะเซิร์ฟเวอร์ ปัญหาที่ฉันคาดหวังกับสิ่งที่คุณพยายาม:

  • พื้นที่เก็บข้อมูล: คุณมีสองตัวเลือก EBS ถาวรและพื้นที่เก็บข้อมูลชั่วคราว EBS ค่อนข้างช้าไม่สามารถจินตนาการถึงการทำงานกับ IDE โดยใช้ดิสก์ที่ช้าเช่นนี้ได้ ที่เก็บชั่วคราวจะหายไปทันทีที่คุณหยุดอินสแตนซ์ของคุณดังนั้นจึงไม่ใช่ตัวเลือกที่ค่อนข้างดี และแน่นอนไม่มีที่ไหนใกล้เร็วเท่า SSD

  • หน่วยความจำ: ไม่เพียงพอโดยเฉพาะอย่างยิ่งเมื่อพิจารณาว่า RAM ราคาถูกในปัจจุบัน

  • ซีพียู: แกนประมวลผลช้าจริง ๆ ใช้พลังงานเพียง 2 แกนเท่านั้น รายการระดับ i3 จะให้ประสิทธิภาพที่ดีขึ้นไม่ต้องพูดถึง i5 หรือ i7

  • การเชื่อมต่อ: เวลาแฝงของ AWS นั้นค่อนข้างสูงวิธีข้างต้นสำหรับสิ่งที่คุณคาดหวัง เนื่องจากฉันใช้อินสแตนซ์ EC2 ในยุโรปในขณะที่เชื่อมต่อจากยุโรปฉันหวังว่าเวลาแฝงจะต่ำกว่า 30ms ในขณะเดียวกันก็มีค่าประมาณ 300-500ms สำหรับการเปรียบเทียบเวลาแฝงมหาสมุทรแอตแลนติกประมาณ 50ms ความหน่วงแฝงจะทำให้สภาพแวดล้อม GUI แบบโต้ตอบไม่สามารถใช้งานได้

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

อัปเดตเมื่อกลางปี ​​2558 : เนื่องจากฉันได้เขียนคำตอบนี้ในปี 2012 AWS จึงได้เพิ่มที่เก็บข้อมูล SSD ลดเวลาในการตอบสนอง สำหรับซีพียูและแรมมันยังคงอยู่ EC2 นั้นใช้พลังงานน้อยกว่าแล็ปท็อปทั่วไปเว้นแต่ว่าคุณเต็มใจจ่ายเกินกว่า $ 200 / เดือน


4

ฉันใช้อินสแตนซ์ EC2 ด้วยวิธีนี้เพื่อทำการพัฒนา 64- บิตโดยใช้ Visual Studio 2010 บนอินสแตนซ์ Windows ขนาดใหญ่ มันทำงานได้อย่างสวยงาม!

แม้ว่าฉันจะอยู่ในแอฟริกาใต้ แต่ความล่าช้าก็ไม่ใช่ปัญหาใหญ่ การคัดลอกและการวางและการแก้ไขบล็อคข้อความขนาดใหญ่นั้นค่อนข้างช้า แต่เมื่อทำการดีบั๊กผมไม่ได้สังเกตเห็นความล่าช้า การดาวน์โหลดครั้งใหญ่เพื่อการเริ่มใช้งาน - สำหรับฉัน VS 2010 และ Office 2010 - เร็วมาก - บาง GBs ในไม่กี่นาที ฉันทำงานอย่างแท้จริงภายในครึ่งชั่วโมง

ดังนั้นฉันขอแนะนำให้คุณลองดู


คุณกำลังทำสำเนาและวางลงใน IDE ของคุณคืออะไร ฟอร์มแย่!
lorddev

@lorddev คัดลอกระหว่างไฟล์ใน Visual Studio หรือไม่ คุณแนะนำอะไรเป็นทางเลือก?
Kirk Broadhurst

มันเป็นเรื่องตลก. ฉันพบโปรแกรมเมอร์คัดลอกและวางจำนวนมากในช่วงหลายปีที่ผ่านมา
lorddev

3

ปัญหาที่ใหญ่ที่สุดที่ฉันเห็น - อย่างน้อยก็มีอินสแตนซ์ของ Windows และสมมติว่าคุณกำลังใช้เดสก์ท็อประยะไกล - นั่นคือเครือข่ายล่าช้านั้นน่ารำคาญ ขึ้นอยู่กับว่าคุณอยู่ใกล้กับศูนย์ข้อมูลอเมซอนทางกายมากแค่ไหนมันอาจจะไม่มีปัญหา ประสบการณ์ส่วนตัว: ฉันมีเวลาหนึ่งสัปดาห์ที่ ISP ของฉันตัดสินใจจัดเส้นทางแพ็คเก็ตทั่วสหรัฐอเมริกาเพื่อไปยังสำนักงานของฉัน (ห่างออกไป 12 ไมล์); UI นั้นใช้ไม่ได้


อาจเป็นปัญหาอย่างน้อยถ้าฉันใช้การเชื่อมต่อมือถือ ฉันเดาว่าฉันต้องทดสอบก่อนตัดสินใจอะไร
เดวิด

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

1
@GrandmasterB - ขึ้นอยู่กับความล่าช้าในการเชื่อมต่อของคุณเป็นอย่างมาก ตัวอย่างเช่นแม้บน LAN ที่บ้านของฉันมีความแตกต่างที่เห็นได้ชัดระหว่างการเชื่อมต่อแบบเดินสายและไร้สาย และการกำหนดเส้นทางแพ็คเก็ตของคุณผ่านอินเทอร์เน็ตอาจทำให้เกิดความล่าช้ามากเช่น: 6,000 ไมล์ไปกลับระหว่างฝั่งสหรัฐตัวอย่างเช่นเพิ่ม 3 / 100th ของวินาที
Anon

1

ฉันใช้อินสแตนซ์ขนาดเล็กของ EC2 ผ่านระดับฟรีและมันยอดเยี่ยม มันรวดเร็วตอบสนองและฉันแทบจะไม่ต้องจ่ายค่าเล็กน้อย มันใช้เวลาประมาณหนึ่งปี แต่ถ้าคุณต้องการสภาพแวดล้อมการพัฒนาชั่วคราว EC2 เป็นวิธีที่จะไป ฉันไม่มีอะไรนอกจากมีประสบการณ์ที่ยอดเยี่ยม อินสแตนซ์ขนาดเล็กสำหรับฉันรองรับการรับส่งข้อมูลสูงถึง 100k ต่อวัน (มีการจัดการที่ดีเช่นกันที่การใช้งาน CPU สูงสุดเพียงประมาณ 70%)

ลองดูที่ bitnami - มันเป็นภาพสแต็กเริ่มต้นอย่างรวดเร็ว (หรือสแต็กใด ๆ ) เพื่อให้ทำงานใน 5 นาทีโดยทั่วไป นอกจากนี้ตรวจสอบให้แน่ใจว่าคุณกำหนดค่าความปลอดภัยของคุณอย่างถูกต้อง! อนุญาตการเชื่อมต่อ SSH, HTTP / HTTPS ในกลุ่มความปลอดภัยบนเว็บของคุณเท่านั้น ใช้ SFTP สำหรับการถ่ายโอนไฟล์

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