AWS Elastic Beanstalk - การปรับใช้แอปพลิเคชันที่ทำได้ง่าย



บทแนะนำ AWS Elastic Beanstalk นี้จะช่วยให้คุณเข้าใจวิธีปรับใช้เว็บแอปพลิเคชันบน AWS Cloud โดยใช้ AWS Elastic Beanstalk

ไม่ได้อยู่ในขั้นตอนแรกอีกต่อไป ตอนนี้ได้รับการยอมรับอย่างดีและทำหน้าที่เป็นแพลตฟอร์มใหม่ที่ช่วยให้ บริษัท ต่างๆสามารถใช้งานแอปพลิเคชันที่ไม่สามารถส่งมอบบนโครงสร้างพื้นฐานแบบเดิมได้ความสำเร็จนี้มาพร้อมกับการเพิ่มขึ้นแบบเอ็กซ์โปเนนเชียล PaaS เป็นหนึ่งในนั้น Amazon ได้เปิดตัวบริการของตัวเองตามรูปแบบ PaaS ซึ่งก็คือ AWS ต้นถั่วยืดหยุ่น!

มาดูหัวข้อที่กล่าวถึงในบทความ AWS Beanstalk นี้:





  1. Amazon Elastic Beanstalk คืออะไร
  2. ประโยชน์ของ AWS Elastic Beanstalk
  3. ส่วนประกอบ AWS Elastic Beanstalk
  4. สถาปัตยกรรม AWS Elastic Beanstalk
  5. การสาธิต - ปรับใช้แอปพลิเคชันบน Beanstalk

Amazon Elastic Beanstalk คืออะไร

ElasticBeanstalk - Elastic Beanstalk - Edureka

Cloud Computing กำลังปรับรูปแบบกระบวนการพัฒนาแอปพลิเคชันทั้งหมด ผู้ให้บริการระบบคลาวด์จำนวนหนึ่งรวมถึงAmazon Web Services และ Microsoft Azure นำเสนอเครื่องมือในการพัฒนาเพื่อช่วยให้กระบวนการง่ายและปลอดภัยยิ่งขึ้น AWS Elastic Beanstalk เป็นหนึ่งในเครื่องมือการพัฒนาที่นำมาใช้ตามแบบจำลอง PaaS



AWS Elastic Beanstalk คือ บริการที่ใช้งานง่ายสำหรับการปรับใช้และปรับขนาดเว็บแอปพลิเคชันและบริการที่พัฒนาด้วย Java, .NET, PHP, Node.js, Python, Ruby, Go และ Docker บนเซิร์ฟเวอร์ที่คุ้นเคยเช่น Apache, Nginx, Passenger และ IIS

ด้วย AWS Elastic Beanstalk นักพัฒนาสามารถปรับใช้แอปพลิเคชันโดยไม่ต้องจัดเตรียมโครงสร้างพื้นฐานพื้นฐานในขณะที่ยังคงความพร้อมใช้งานสูง ดูวิดีโอต่อไปนี้เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับ Elastic Beanstalk

บทแนะนำ AWS Elastic Beanstalk | Edureka

แต่ทำไมต้องเลือก Elastic Beanstalk ในเมื่อเรามีแพลตฟอร์มอื่น ๆ อยู่แล้ว? เรามาพูดถึงประโยชน์ของ Elastic Beanstalk กัน



ประโยชน์ของ AWS Elastic Beanstalk

ด้านล่างนี้คือประโยชน์บางประการที่ AWS Elastic Beanstalk มอบให้เหนือบริการ PaaS อื่น ๆ

Speed ​​- Elastic Beanstalk - Edurekaเสนอการปรับใช้ที่รวดเร็วยิ่งขึ้น: Elastic Beanstalk นำเสนอวิธีที่เร็วและง่ายที่สุดในการปรับใช้แอปพลิเคชันของพวกเขา ภายในไม่กี่นาทีแอปพลิเคชันจะพร้อมใช้งานโดยที่ผู้ใช้ไม่ต้องจัดการกับโครงสร้างพื้นฐานหรือการกำหนดค่าทรัพยากร

โลโก้ - Elastic Beanstalk - Edurekaรองรับ Mผู้เช่าบางรายสถาปัตยกรรม: AWS Elastic Beanstalk ช่วยให้ผู้ใช้สามารถแชร์แอปพลิเคชันของตนในอุปกรณ์ต่างๆด้วยความสามารถในการปรับขนาดและความปลอดภัยที่สูง มีรายงานการใช้งานแอปพลิเคชันและโปรไฟล์ผู้ใช้โดยละเอียด

โลโก้ - Elastic Beanstalk - Edurekaลดความยุ่งยากในการดำเนินงาน: Beanstalk จัดเตรียมและดำเนินการโครงสร้างพื้นฐานและจัดการแอปพลิเคชันสแต็ก นักพัฒนาต้องมุ่งเน้นไปที่การพัฒนาโค้ดสำหรับแอปพลิเคชันของตนแทนที่จะใช้เวลาในการจัดการและกำหนดค่าเซิร์ฟเวอร์ฐานข้อมูลไฟร์วอลล์และเครือข่าย

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

ตอนนี้เรามีเหตุผลที่มั่นคงที่จะเชื่อได้ว่าทำไม AWS Elastic Beanstalk จึงเป็นที่ต้องการของนักพัฒนาเรามาดูแนวคิดพื้นฐานกัน

ต้องการเป็นสถาปนิก AWS ที่ผ่านการรับรองหรือไม่

ส่วนประกอบ AWS Elastic Beanstalk

มีแนวคิดหลักบางประการที่คุณจะพบบ่อยเมื่อคุณปรับใช้แอปพลิเคชันบน Beanstalk ให้เราดูแนวคิดเหล่านี้:

ใบสมัคร:

  • แอปพลิเคชันใน Elastic Beanstalk มีแนวคิดคล้ายกับโฟลเดอร์
  • แอปพลิเคชันคือชุดของส่วนประกอบต่างๆ ได้แก่ สภาพแวดล้อมเวอร์ชัน และ การกำหนดค่าสภาพแวดล้อม

เวอร์ชันแอปพลิเคชัน:

  • เวอร์ชันของแอปพลิเคชันหมายถึงการทำซ้ำรหัสที่สามารถปรับใช้งานได้สำหรับเว็บแอปพลิเคชัน
  • เวอร์ชันของแอปพลิเคชันชี้ไปที่ออบเจ็กต์ Amazon S3 ที่มีโค้ดที่สามารถปรับใช้งานได้เช่นไฟล์ Java WAR

สิ่งแวดล้อม:

  • สภาพแวดล้อมภายในแอปพลิเคชัน Elastic Beanstalk เป็นที่ที่แอปพลิเคชันเวอร์ชันปัจจุบันจะเปิดใช้งาน
  • แต่ละสภาพแวดล้อมรันแอปพลิเคชันเวอร์ชันเดียวในแต่ละครั้ง แต่เป็นไปได้ที่จะเรียกใช้แอปพลิเคชันเวอร์ชันเดียวกันหรือต่างกันในหลายสภาพแวดล้อมในเวลาเดียวกัน

ระดับสิ่งแวดล้อม:

ตามความต้องการ beanstalk มีสภาพแวดล้อมที่แตกต่างกันสองระดับ: เว็บเซิร์ฟเวอร์สิ่งแวดล้อม, สิ่งแวดล้อมคนงาน

  • สภาพแวดล้อมของเว็บเซิร์ฟเวอร์: ที่จับคำขอ HTTP จากไคลเอนต์
  • คนงานสิ่งแวดล้อม: กระบวนการงานเบื้องหลังที่ใช้ทรัพยากรมากและใช้เวลามาก

นี่คือภาพประกอบเพื่อแสดงวิธีการแอปพลิเคชันเวอร์ชันแอปพลิเคชันและสภาพแวดล้อมเกี่ยวข้องกัน:

และนี่คือลักษณะของ Beanstalk Environment ที่ใช้ประเภทคอนเทนเนอร์เริ่มต้น:


เมื่อคุณทราบเกี่ยวกับแนวคิดหลักต่างๆเกี่ยวกับ Elastic Beanstalk แล้วให้ทำความเข้าใจกับสถาปัตยกรรมของ Elastic Beanstalk

สถาปัตยกรรม AWS Elastic Beanstalk

ก่อนที่จะเข้าสู่สถาปัตยกรรม AWS Elastic Beanstalk เรามาตอบคำถามที่พบบ่อยที่สุด

Elastic Beanstalk Environment คืออะไร?

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

สภาพแวดล้อมของเว็บเซิร์ฟเวอร์

เวอร์ชันของแอ็พพลิเคชันที่ติดตั้งบน Web Server Environment จัดการคำร้องขอ HTTP จากไคลเอนต์ แผนภาพต่อไปนี้แสดงตัวอย่างสถาปัตยกรรม AWS Elastic Beanstalk สำหรับระดับสภาพแวดล้อมของเว็บเซิร์ฟเวอร์และแสดงให้เห็นว่าส่วนประกอบใน Environment Tier ประเภทนั้นทำงานร่วมกันอย่างไร

สภาพแวดล้อมของต้นถั่ว - สิ่งแวดล้อมเป็นหัวใจสำคัญของแอปพลิเคชัน เมื่อคุณเปิดใช้งาน Environment Beanstalk จะกำหนดทรัพยากรต่างๆที่จำเป็นในการรันแอปพลิเคชันให้สำเร็จ

Elastic Load Balancer - เมื่อแอปพลิเคชันได้รับคำขอจำนวนมากจากไคลเอนต์ Amazon Route53 จะส่งต่อคำขอเหล่านี้ไปยัง Elastic Load Balancer ตัวจัดสรรภาระงานจะแจกจ่ายคำขอระหว่างอินสแตนซ์ EC2 ของ Auto Scaling Group

กลุ่มปรับขนาดอัตโนมัติ - Auto Scaling Group จะเริ่มอินสแตนซ์ Amazon EC2 เพิ่มเติมโดยอัตโนมัติเพื่อรองรับการโหลดที่เพิ่มขึ้นในแอปพลิเคชันของคุณ หากการโหลดแอปพลิเคชันของคุณลดลง Amazon EC2 Auto Scaling จะหยุดอินสแตนซ์ แต่จะปล่อยให้อินสแตนซ์ทำงานอย่างน้อยหนึ่งรายการเสมอ

ผู้จัดการโฮสต์ - เป็นส่วนประกอบซอฟต์แวร์ที่ทำงานบนอินสแตนซ์ EC2 ทุกตัวที่กำหนดให้กับแอปพลิเคชันของคุณ ผู้จัดการโฮสต์มีหน้าที่รับผิดชอบในสิ่งต่างๆเช่น

  • การสร้างและตรวจสอบไฟล์บันทึกของแอปพลิเคชัน
  • การสร้างเหตุการณ์ระดับอินสแตนซ์
  • การตรวจสอบแอ็พพลิเคชันเซิร์ฟเวอร์

กลุ่มความปลอดภัย - Security Group เปรียบเสมือนไฟร์วอลล์สำหรับอินสแตนซ์ของคุณ Elastic Beanstalk มีกลุ่มความปลอดภัยเริ่มต้นซึ่งอนุญาตให้ไคลเอ็นต์เข้าถึงแอปพลิเคชันโดยใช้ HTTP Port 80 นอกจากนี้ยังมีตัวเลือกที่คุณสามารถกำหนดกลุ่มความปลอดภัยให้กับเซิร์ฟเวอร์ฐานข้อมูลได้อีกด้วย ภาพด้านล่างสรุปสิ่งที่เราได้เรียนรู้เกี่ยวกับ Web Server Environment

นั่นคือทั้งหมดที่เกี่ยวกับสภาพแวดล้อมของเว็บเซิร์ฟเวอร์ แต่จะเกิดอะไรขึ้นถ้าเวอร์ชันของแอปพลิเคชันที่ติดตั้งบน Web Server Tier ยังคงปฏิเสธคำขอหลายรายการเนื่องจากพบกับงานที่ใช้เวลามากและใช้ทรัพยากรในขณะที่จัดการคำขอ นี่คือจุดที่ Worker Tier เข้ามาในภาพ

ต้องการยกระดับความรู้ 'เมฆ' ของคุณไปอีกระดับหรือไม่?

สภาพแวดล้อมของคนงาน

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

ยอดเยี่ยมมาก แต่กระบวนการทำงานของ Worker จะรู้ได้อย่างไรว่างานใดควรจัดการและเมื่อใด ระดับสิ่งแวดล้อมทั้งสองนี้สื่อสารกันอย่างไร ด้วยเหตุนี้เราจึงใช้บริการจัดคิวข้อความโดย AWS เรียก Amazon Simple Queue Service (SQS) ภาพด้านล่างช่วยให้คุณทราบคร่าวๆว่ากระบวนการของผู้ปฏิบัติงานรับและจัดการงานเบื้องหลังอย่างไร

ขั้นตอนการทำงานของกระบวนการของผู้ปฏิบัติงานนั้นค่อนข้างง่าย เมื่อคุณเรียกใช้ระดับ Worker Environment Elastic Beanstalk จะติดตั้ง daemon บนอินสแตนซ์ EC2 แต่ละอินสแตนซ์ในกลุ่ม Auto Scaling daemon ดึงคำขอที่ส่งจากคิว Amazon SQS ตามลำดับความสำคัญของคิว SQS จะส่งข้อความผ่านไฟล์โพสต์ร้องขอไปยัง HTTP Path ของ Worker Environment ผู้ปฏิบัติงานที่ได้รับข้อความเรียกใช้งานและส่งการตอบสนอง HTTP เมื่อการดำเนินการเสร็จสิ้น SQS ในการรับข้อความตอบกลับจะลบข้อความในคิว หากไม่ได้รับการตอบกลับระบบจะลองส่งข้อความอีกครั้งอย่างต่อเนื่อง

ตอนนี้เราได้เห็น Elastic Beanstalk ในทางทฤษฎีแล้วในส่วนที่เหลือของบล็อกนี้เราจะดูวิธีปรับใช้แอปพลิเคชันบน Elastic Beanstalk

เพิ่มพลังให้กับ java

ปรับใช้แอปพลิเคชันบน Elastic Beanstalk

การปรับใช้แอปพลิเคชันบน Elastic Beanstalk เป็นกระบวนการที่ค่อนข้างง่าย มาดูวิธีปรับใช้แอปพลิเคชันแบบทีละขั้น

ขั้นตอนที่ 1: บนคอนโซล Elastic Beanstalk ให้คลิกที่ สร้างแอปพลิเคชันใหม่ ตัวเลือก กล่องโต้ตอบจะปรากฏขึ้นเพื่อให้คุณสามารถตั้งชื่อและคำอธิบายที่เหมาะสมสำหรับแอปพลิเคชันของคุณ

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

ขั้นตอนที่ 3: เลือกจากสองตัวเลือกระดับสภาพแวดล้อมที่แตกต่างกัน เลือกสภาพแวดล้อมของเว็บเซิร์ฟเวอร์หากคุณต้องการให้แอปพลิเคชันของคุณจัดการคำขอ HTTP หรือเลือกสภาพแวดล้อมของคนงานเพื่อจัดการงานเบื้องหลัง

ขั้นตอนที่ 4: กล่องโต้ตอบอื่นจะปรากฏขึ้นซึ่งคุณต้องระบุชื่อโดเมนและคำอธิบายสำหรับแอปพลิเคชันของคุณ

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

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

ขั้นตอนที่ 6: ที่มุมขวาบนคุณจะพบ URL ของเวอร์ชันแอปพลิเคชันของคุณ คลิกที่ URL นั้น คุณจะเข้าสู่หน้าซึ่งจะยืนยันว่าคุณได้เปิดแอปพลิเคชันของคุณบน Elastic Beanstalk เรียบร้อยแล้ว

ยินดีด้วย! คุณปรับใช้แอปพลิเคชันบนแพลตฟอร์ม Elastic Beanstalk สำเร็จแล้ว

ฉันหวังว่าตอนนี้คุณจะมีภาพที่ชัดเจนของ Elastic Beanstalk และวิธีใช้ Beanstalk เพื่อปรับใช้แอปพลิเคชันของคุณ

อย่างนี้นี่เอง! ฉันหวังว่าบล็อกนี้จะให้ข้อมูลและเพิ่มคุณค่าให้กับความรู้ของคุณ หากคุณสนใจที่จะนำความรู้เกี่ยวกับ Amazon Web Services ไปสู่ระดับถัดไปให้ลงทะเบียนสำหรับไฟล์ หลักสูตรโดย Edureka

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของ“ AWS Elastic Beanstalk” แล้วเราจะติดต่อกลับโดยเร็วที่สุด