ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บน Platform

RUK-COM PAAS / DEPLOYMENT

Deploy โดยไม่แก้ไข Source Code

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

คำสั่ง ชื่อเมนู Parameter และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง

แตกต่างจากบริการ Hosting ส่วนใหญ่ Platform ไม่ได้บังคับให้นักพัฒนาปฏิบัติตามข้อกำหนดเฉพาะใดๆของ Immutable InfrastructureRuntime ที่เป็นกรรมสิทธิ์หรือ API เพื่อ Host โปรเจ็กต์แนวทางดังกล่าวมีความสำคัญอย่างยิ่งโดยเฉพาะอย่างยิ่งเมื่อต้องย้ายจากเครื่องเสมือนไปยัง Container การแยกย่อยของเสาหินแบบดั้งเดิม (ที่เรียกว่าแบบเดิม) ไปเป็นไมโครเซอร์วิสหรือในขณะที่ย้ายจากผู้ให้บริการรายหนึ่งไปยังอีกรายหนึ่ง

ขจัดความจำเป็นในการออกแบบ Application ใหม่การใช้งานสามารถดำเนินการได้อย่างง่ายดายโดยใช้ไฟล์เก็บถาวร (zip, tar.gz, war, jar, ear), FTPS/SFTP, GIT/SVN พร้อมการอัปเดตอัตโนมัติจากแผง dev หรือผ่าน Plugin ที่รวมไว้สำหรับ Maven, Eclipse, NetBeans, IntelliJ IDEA เมื่อรวมกันแล้วสิ่งนี้ทำให้จุดเริ่มต้นง่ายขึ้นและราบรื่นยิ่งขึ้นลดเวลาในการเข้าสู่ตลาดและกำจัดการล็อคอินของผู้ขาย

Image 30: zero code change deployment sources

วิธีการเปลี่ยน Code เป็นศูนย์ตลอดจนการรองรับ Application และ System Container ช่วยให้สามารถรันทั้งไมโครเซอร์วิสบน Cloud และ Application เสาหินแบบเดิมที่ใช้ Java, PHP, Ruby, Node.js, Python และ Docker

Image 31: zero code change containers vs VM

นอกจากนี้การ Deploy และการรัน Application เพิ่มเติมภายใน Container จะไม่ถูกจำกัดหลังจากการโยกย้ายจาก VM ทำให้คุณสามารถ:

  • เรียกใช้บริการหลายอย่างภายใน Container เดียว
  • ใช้ Port Node ที่จำเป็น
  • แนบ IPv4 สาธารณะหรือ IPv6 หลายรายการต่อ Container
  • เขียนลงใน File System โลคัลหรือรีโมต
  • เข้าถึง Container ผ่าน SSH ที่มีความเข้ากันได้กับเครื่องมือการจัดการการกำหนดค่าเช่น Chef หรือ Puppet
  • Deploy แผงควบคุมที่รู้จักกันดีสำหรับ VPS และการจัดการ Hosting ที่ใช้ร่วมกัน (cPanel, Plesk และ ISPManager)
  • ทำการโยกย้ายแบบสดคล้ายกับ vMotion
  • Deploy Docker Engine ในลักษณะเดียวกับที่คุณทำกับ VM
  • ดำเนินการอื่นๆที่นำมาใช้ก่อนหน้านี้ภายใน VPS

นอกจากนี้ Platform จะเก็บ IP และชื่อ Host เดียวกันสำหรับแต่ละ Container หลังจากการหยุดทำงานตามแผนหรือเป็นครั้งคราวเป็นผลให้คุณไม่ต้องเขียนใหม่เพื่อให้บริการต่างๆติดตามการเชื่อมต่อที่ถูกต้องได้

การ Deploy โครงการด้วยการเปลี่ยนแปลงรหัสเป็นศูนย์

เพื่อให้สิ่งที่กล่าวมาข้างต้นชัดเจนยิ่งขึ้นลองพิจารณาขั้นตอนง่ายๆสองสามขั้นตอนที่จำเป็นในการ Deploy โปรเจ็กต์ที่ Platform:

  1. สร้าง Environment ผ่านวิซาร์ด Topology ที่ครอบคลุมพร้อมการกำหนดค่าล่วงหน้าที่หลากหลายกอง Software(เช่น Application ServerDatabaseLoad Balancer Cache และ Node บิลด์)

Image 33: zero code change create environment1. เมื่อสร้าง Environment ที่เหมาะสมแล้วคุณก็สามารถทำได้Deploy Application ของคุณด้วยหนึ่งในตัวเลือกการใช้งานที่รองรับ:

  • จัดให้มีการเก็บถาวร (ซิป,bzip2,ทาร์,tar.gz,tar.bz2,สงคราม,ไหหรือหู) ด้วย Application Resource ที่บรรจุไว้ล่วงหน้าโดยการอัปโหลดไปยังที่เก็บข้อมูล Platform หรือให้ลิงก์ไปยังตำแหน่งที่เก็บไว้
  • ส่งไฟล์การติดตั้งผ่านทางFTPS/SFTPช่อง
  • ดึงข้อมูลแหล่งที่มาจาก Git/SVN Repository (นอกจากนี้คุณสามารถตั้งค่าการอัปเดตอัตโนมัติได้)
  • ใช้ Plugin แบบรวม (มาเวน,คราส,เน็ตบีนส์,IntelliJ IDEA)

หลังจากเริ่มต้นกระบวนการโดยไม่คำนึงถึงประเภทการใช้งานที่เลือกการกำหนดค่าทั้งหมด (เช่นการเชื่อมต่อกับ Load Balancer การกำหนดค่าการใช้หน่วยความจำการเปิดใช้งาน SSL หรือ IP หากจำเป็นฯลฯ) จะได้รับการจัดการโดยระบบโดยอัตโนมัติไม่จำเป็นต้องแก้ไข Source Code ของ Application - การกำหนดค่าเพียงอย่างเดียวที่คุณอาจต้องใช้คือปรับการตั้งค่า Application แบบกำหนดเองบางอย่างเนื่องจากตำแหน่งใหม่ (เช่นที่อยู่ IP หรือชื่อ Domain - การกำหนดค่า Server ที่เหมาะสมทั้งหมดจะพร้อมให้แก้ไขได้โดยตรงผ่าน Dashboard ของ Platform ที่มีการฝังตัวอยู่ตัวจัดการไฟล์).

วิธีนี้ทำให้คุณสามารถย้าย Application ใดๆไปยัง PaaS จาก Cloud, VPS หรือ VM อื่นๆได้อย่างง่ายดายโดยไม่ต้องปรับ Code พิเศษ