คลังเก็บป้ายกำกับ: OpenStack

Container Orchestration

ทั้ง Container และ OpenStack ต่างก็เป็นเทคโนโลยีสุดฮอตในระบบ Cloud แต่รู้หรือไม่ว่า Container Orchestration Tool ตัวไหนบ้างที่สามารถนำมาใช้งานร่วมกับ Open Source Cloud Platform อย่าง OpenStack ได้? มาหาคำตอบกันที่บทความนี้ได้เลย

องค์กรทั้งหลายมักใช้ Container Orchestration Tool (หรือบางครั้งก็เรียกว่า Container Orchestration Engine) ในการ Deploy, Scale, และ เชื่อมต่อส่วนประกอบต่างๆ ของ Container Technology เข้าด้วยกัน ซึ่ง Orchestration Tool นี้ช่วยให้องค์กรสามารถ Monitor พวก Container Instance เพื่อลดจำนวน Container ที่กระจายตัวอยู่ในระบบได้อีกด้วย

OpenStack Magnum Module ที่เป็นบริการ OpenStack API สำหรับ Container นั้นรองรับ 3 Container Orchestration Engine หลักๆ คือ Docker, Google Kubernetes, และ Apache Mesos

Docker เป็นหนึ่งใน Orchestration Engine ที่ได้รับความนิยมและเป็นที่รู้จักมากที่สุด Docker ทำให้ Developer สามารถ  Package และ Deploy ทั้ง Application ตลอดจนสิ่งที่ Application ต้องใช้ได้ภายในหนึ่ง Image ที่รันบนระบบของ Linux ทั้งนี้ Docker ก็มี Tool ของตัวเอง เช่น Docker Machine สำหรับสร้าง Docker Host, Docker Compose สำหรับรวบรวม Application ซับซ้อนทั้งหลายที่กระจายตัวอยู่, และ Docker Swarm สำหรับรองรับ Container Cluster ให้มีระบบ Computing ที่ยืดหยุ่นและ Scale การใช้งานได้

Google Kubernetes เป็น Container Orchestration Engine แบบ Open Source ที่รองรับการงานร่วมกับ Docker Container โดย Kubernetes นี้จะ Deploy และจัดการ Container อยู่ภายใน Compute Cluster ทั้งยังทำ Workload Balancing เพื่อคงไว้ซึ่งศักยภาพการทำงาน

Apache Mesos ก็เป็นอีกหนึ่ง Orchestration Engine แบบ Open Source ที่เน้นด้านความคงทนต่อความเสียหาย (Fault-Tolerant), Compute Cluster ขนาดใหญ่, และการรองรับ Node จำนวนนับหมื่นที่รัน Docker Container นอกจากนี้ Mesos ยังรองรับคอนเซ็ปต์ของ Jobs And Tasks รวมทั้งสภาพแวดล้อม Container ที่เปลี่ยนแปลงอยู่ตลอดและมีความสามารถการ Scale สูง ซึ่งองค์กรมักจะใช้งาน Mesos กับ Job System อย่าง Marathon สำหรับรัน Jobs และ Tasks

ผู้ใช้งาน OpenStack สามารถเลือกใช้อย่างไหนก็ได้จาก 3 Orchestration Tool นี้ โดย Engine ที่เลือกใช้จะถูก Provision อัติโนมัติไปยัง Host System ที่มี Container Deploy อยู่ทันที

OpenStack Liberty

OpenStack Liberty เวอร์ชั่นปัจจุบัน เวอร์ชั่น 12 ของ Open Source Software เพื่อสร้าง Public, Private และ Hybrid Cloud ด้วยนวัตกรรมใหม่ และเพิ่มเติมการทำงานที่ครอบคลุมเทคโนโลยี Data Center ที่ทำให้ OpenStack กลายเป็น Integration Engine ยอดนิยมสำหรับผู้ให้บริการ Cloud และกลุ่มองค์กรที่กำลังใช้งาน Cloud อยู่ตอนนี้

 

จากการสนับสนุนของผู้พัฒนาอิสระกว่า 1,933 คน และจากอีก 164 องค์กรใหญ่ ทำให้ OpenStack Liberty มีระบบควบคุมการทำงานที่ละเอียดและเหนือชั้นยิ่งกว่าเดิม อีกทั้งเพิ่มประสิทธิภาพสำหรับการ Deployment ขนาดใหญ่ และมี Tools รองรับการจัดการ Container ใน Production Environment อีกด้วย

Feature ใหม่ของ Liberty

ระบบการจัดการประสิทธิภาพสูง

หลายคนต้องการให้มีระบบการตั้งค่าที่ดีขึ้น และระบบ Library ร่วม (Common library adoption) ตอนนี้ OpenStack 12 ถูกพัฒนาแล้ว นอกจากนี้ยังมีการเพิ่ม Role-Based Access Control (RBAC) เพื่อใช้งานร่วมกับ Heat orchestration และ Neutron networking รวมทั้งเปิดให้ปรับ Security Setting อย่างเต็มรูปแบบอีกด้วย

ระบบปรับแต่งเรียบง่าย

OpenStack ได้รับการตอบรับอย่างดี เป็นที่นิยมในการใช้ระบบสร้าง Cloud ทั้ง Public และ Private อย่างแพร่หลาย เหล่า User จึงการต้องการรองรับ Deployment ขนาดใหญ่ ซึ่งใน Liberty ได้มีการพัฒนาด้านประสิทธิภาพการแสดงผล และมีความเถียรมากขึ้น ติดตั้ง Application Nova Cells v2 ในตัว สามารถรองรับการ Deployment ขนาดใหญ่ และการ Deployment พร้อมกันในหลายพื้นที่ (Multi-location compute deployment) ยังเพิ่มศักยภาพการปรับแต่ง (Scalability) และการทำงานของ Horizon dashboard, Neutron networking, และ Cinder block storage

รองรับเทคโนโลยีใหม่ๆ

OpenStack เป็น Open Source Platform เดียวที่รองรับการจัดการ 3 เทคโนโลยีหลักๆ ของระบบ Cloud ทั้ง Virtual Machine, Container และ Bare Metal Instance ทั้งยังเป็นที่นิยมในการใช้งานร่วมกับระบบ NFV (network functions virtualization) ขององค์กร โดย OpenStack Liberty ได้เพิ่มศักยภาพการทำงานทั้งสองด้าน ด้วยฟีเจอร์ตัวใหม่ อย่าง Nova compute scheduler, QoS Framework และระบบ LBaaS (Load Balancing as a Service) ที่ดียิ่งกว่าเดิม

ระบบจัดการ Container ตัวใหม่

ในระหว่างการพัฒนา Liberty ระบบ Magnum Container ระบบจัดการ Container ตัวใหม่ที่รองรับการทำงานร่วมกับ Kubernetes, Mesos และ Docker Swarm ก็ได้เปิดตัวขึ้น และเมื่อนำ Magnum มาใช้ร่วมกับบริการที่มีอยู่เดิมของ OpenStack อย่าง Nova, Ironic, และ Neutron จะช่วยให้จัดการ Container ได้ง่ายกว่าเดิม นอกจากนี้ยังมีโปรเจกต์ Kuryr ซึ่งถูกวางแผนให้เข้ามาเสริมประสิทธิภาพ โดยทำงานกับส่วนของ Container networking อย่าง libnetwork ได้โดยตรง

Orchestration

Heat Orchestration ได้เพิ่มระบบจัดการทรัพยากรใหม่เข้าไปมากมาย รวมทั้งระบบอัตโนมัติ และการรองรับความสามารถใหม่ๆ ของ Liberty เพิ่มความสามารถการจัดการและการ Scale ซึ่งรวมด้านการเข้าถึง API เพื่อเช็คว่ามี Resource หรือ Action ไหนพร้อมใช้งานได้บ้าง โดยทั้งหมดนี้มาพร้อมกับ RBAC ติดตั้งในตัว

 

รู้จัก OpenStack แบบง่ายๆ ก่อนเริ่มใช้ Cloud

ตอนนี้ OpenStack กำลังเป็นที่นิยมเพิ่มมากขึ้น ในฐานะ Open Source สำหรับ Private Cloud แต่ว่าอะไรทำให้ OpenStack สะดุดตาเกินหน้าเกินตา คู่แข่งขันรายอื่น อย่าง Amazon EC2 กัน เรามาทำความเข้าใจกับ OpenStack อย่างถ่องแท้ของมันกัน

What’s OpenStack?

OpenStack เริ่มต้นมาจากการองค์การบริหารการบินและอวกาศแห่งชาติ (NASA) ร่วมกับ Rackspace บริจาคโค้ด (Code) ของระบบ Cloud ที่ตนเองมีอยู่ให้เป็น Open Source ปัจจุบันได้รับการยอมรับอย่างกว้างขวางจากกว่า 250 องค์กรใน 130 ประเทศทั่วโลก

เว็บไซต์ OpenStack.org ได้ให้ความหมายของคำว่า “OpenStack” ไว้ว่า “OpenStack software controls large pools of compute, storage, and networking resources throughout a datacenter, managed through a dashboard or via the OpenStack API. OpenStack works with popular enterprise and open source technologies making it ideal for heterogeneous infrastructure” (เป็นโปรแกรมควบคุมชุดคำสั่งคอมพิวเตอร์, Computer Networking และพื้นที่เก็บไฟล์ขนาดใหญ่ที่อยู่ภายใน Data Center โดยควบคุมผ่านทาง Dashboard หรือ OpenStack API ได้รับความนิยมในหมู่ผู้ประกอบการและระบบ Open source ด้วยกัน ซึ่งนั่นส่งผลให้ OpenStack เป็นโปรแกรมที่เหมาะกับ Infrastructure ขนาดใหญ่ที่สุดในขณะนี้)

OpenStack ในฐานะแพลตฟอร์มแบบ Open source

ภายหลังจาก NASA และ Rackspace เป็นผู้เริ่มต้นพัฒนา OpenStack เป็น Open source ให้เหล่าโปรแกรมเมอร์นำไปพัฒนาต่อได้ตามต้องการ โดยตรวจสอบ Source code ได้ทาง GitHub ทั้งนี้พวกโปรแกรมเมอร์ผู้พัฒนาระบบ OpenStack เองก็ทำงานให้กับองค์กรใหญ่ที่นำ OpenStack ไปใช้ด้วยเหมือนกัน เช่น Rackspace และ PayPal เป็นต้น

นอกจากนี้ ยังมีโปรเจ็คเกี่ยวกับ OpenStack อีกหลายโครงการ ซึ่งส่วนมากก็เป็นโปรเจ็คเฉพาะด้าน เช่น การติดตั้งแบบ bare-metal ผู้ที่สนใจจะเรียนรู้เกี่ยวกับการใช้งาน OpenStack หรือจะทดลองใช้ ทาง OpenStack ก็มี Development Version ให้ลองเล่นกันได้โดยนำไปติดตั้งบน Ubuntu Linux หรือจะใช้ OpenStack Autopilot wizard ในการสั่ง Deploy ก็ได้ ส่วน Source code ก็ไม่จำเป็น เพราะ OpenStack สามารถหาได้จาก Python package โดยใช้ Tools ชื่อ apt-get ในการติดตั้ง

รู้จัก Ecosystem ของ OpenStack

OpenStack กับ Amazon EC2 อาจดูคล้ายกันมาก เพราะผู้ใช้สามารถ Provision VM จาก dashboard หรือ API ได้เหมือนกัน แต่ข้อแตกต่างหลักๆ นอกจากเรื่องที่ OpenStack เป็นของฟรี ก็คือ Amazon EC2 เป็นบริการ Public Cloud เท่านั้น ส่วน OpenStack ผู้ใช้สามารถเลือกได้ว่าจะใช้เป็นบริการ Private Cloud ของ OpenStack เอง หรือจะสมัครไปใช้ Public Cloud จากตัวแทนผู้ให้บริการของ OpenStack ก็ได้

ต้องทำความเข้าใจกันก่อนว่า OpenStack ไม่ใช่ Hypervisor แต่ถูกสร้างมาเพื่อทำงานร่วมกับ Hypervisor ที่แตกต่างกันหลายๆ เครื่อง User สามารถเลือกได้ว่าจะ Deploy Hypervisor บนตัวเครื่อง (machine) หรือบน OS ที่ built-in มากับ Hypervisor เช่น Linux KVM เป็นต้น นอกจากนี้ OpenStack ยังทำให้ User สามารถนำ VM ไปติดตั้งบน Bare-Metal Server (เซิร์ฟเวอร์สำหรับผู้ใช้คนเดียว) ได้อีกด้วย

Component หลักของ OpenStack

  • Horizon (Dashboard) : เป็น User Interface (UI) แบบ Web-based
  • Nova (Compute) : ประกอบด้วย Controller และ Compute Nodes ที่ดึง VM image มาจาก OpenStack image service และสร้าง VM บนเซิร์ฟเวอร์ที่เราต้องการ โดยมี APIs ที่แตกต่างกันตามแต่ Platforms เช่น XenAPI, VMwareAPI, libvirt for Linux KVM (QEMU), Amazon EC2, และ Microsoft Hyper-V เป็นต้น
  • Neutron (Networking) : สำหรับสร้าง Virtual Network และ Network Interface อีกทั้งยังทำหน้าที่เชื่อมต่อกับ Networking Products จากตัวแทนผู้ให้บริการอื่นๆ
  • Swift (Object storage) : มีหลักการทำงานเหมือน Amazon S3 โดยจะบันทึกข้อมูลแบบเดี่ยว อย่าง Image เก็บไว้โดยใช้ระบบ REST Web service
  • Cinder (Block storage) : คล้ายกับ Swift โดยจะเก็บ disk file ต่างๆ เช่น Log และเปิดให้เราสามารถเพิ่มเติมข้อมูลเข้าไปได้ ในขณะที่ Swift จะให้เก็บแทนที่ของเดิมเท่านั้น
  • Keystone (Identity storage) : เป็นตัวคำสั่งที่เปิดให้ User และ Process สามารถเข้าถึง Tools ต่างๆ ของ OpenStack ได้โดยสร้าง Authentication Token ขึ้นมา
  • Glance (Image service) : เป็นตัวหลักของ OpenStack ในฐานะ Cloud Operating System คือ การสร้าง VM image ขึ้นมา โดย Glance คือแคตตาล็อกรวม VM ที่เราอัพโหลดเอาไว้และเปิดให้ใช้กันภายในองค์กร
  • Trove (Database server) : เป็นตัวสนับสนุนการทำงานของ Database ที่ต่างกัน

นอกจากนี้ Component พวกนี้ของ OpenStack ยังใช้ MySQL database ที่หลากหลาย สามารถทำงานร่วมกับ Python รวมทั้งใช้ Command line interface ของ Python ได้อีกด้วย ตัวอย่างเช่น

คำสั่งดาวน์โหลด Keystone จากเซิร์ฟเวอร์ Linux ที่เก็บข้อมูลเอาไว้แบบ Public

apt-get install keystone python-keystoneclient

คำสั่งสร้าง User บน Keystone

keystone user-create –name Sam –description “Sam”

คำสั่งลิสต์ชื่อ VM images ด้วย Nova

nova image-list

คำสั่งเปิด Python Shell ก็ทำได้ง่ายๆ แค่พิมพ์ Python แล้วตามด้วย

from keystoneclient.v2_0 import client

หรือถ้าใครไม่คล่อง Python CLI (Command Line Interface) จะสลับไปใช้ Dashboard แบบคลิกก็ได้เหมือนกัน

OpenStack พร้อมนำ Liberty มาสู่ Cloud

เมื่อพูดถึง Public Cloud หลายคนคงนึกถึง  Amazon Web Service (AWS) เพราะถือว่าเป็นผู้คลองตลาด Public Cloud แต่ถ้าพูดถึง Private Cloud คงหนีไม่พ้น OpenStack ซึ่งเป็น Open Source ที่รองรับการทำงาน Private Cloud ได้ดีที่สุด

พูดได้เลยว่าไม่มี Cloud Technology Platform ใดๆ ได้รับการสนับสนุนและถูกนำมาใช้งานมากเท่า OpenStack ซึ่ง OpenStack นั้นเกิดจากการร่วมมือของ NASA และ Rackspace ในปี 2010 ก่อนจะเติบโตขึ้นในฐานะ Open Source โดยมีผู้ให้การสนับสนุนมากมาย ทั้ง HP, IBM, Intel, Cisco, Dell, EMC, VMware, Symantec, Huawei, และ Yahoo

ใครใช้ OpenStack บ้าง?

ผู้ให้การสนับสนุนที่กล่าวไปข้างต้นเป็นเพียงแค่ส่วนหนึ่งของจำนวนผู้ใช้งาน OpenStack เท่านั้น เพราะในความเป็นจริง OpenStack ยังเป็นเบื้องหลังความสำเร็จของทั้ง eBay, PayPal, Comcast, Time Warner Cable และ BestBuy ส่วนทาง NASA เองก็เป็นอีกหนึ่งสาวกผู้กำลังใช้ OpenStack เป็นรากฐานพัฒนาเทคโนโลยีพามนุษย์ไปสู่ดาวอังคาร นอกจากนี้ภายในงาน OpenStack Summit ที่ Vancouver ในปี 2015 ที่ผ่านมา ผู้ค้าระดับโลกอย่าง Walmart ยังได้ออกมาพูดถึงการใช้งาน OpenStack กับระบบการจัดการ Ecommerce ว่ามันสามารถสร้างความสำเร็จมหาศาลได้อย่างไร

เมื่อเราพอจะเห็นภาพกว้างๆ แล้วว่า OpenStack ถูกใช้โดยใครและใช้ทำอะไรบ้างแล้ว ก็ต้องมาทำความเข้าใจกันเสียหน่อยว่าแท้จริง OpenStack 

ไม่ใช่ผลิตภัณฑ์ Virtualization Hypervisor, Homogeneous Cloud Product หรือผลิตภัณฑ์ Cloud ที่อยู่ภายใต้ผู้ให้บริการรายเดียวแบบเสร็จสรรพ ตั้งแต่ Hypervisor ยัน Management Layer (* อ้างอิงจาก http://www.bmc.com/blogs/what-price-homogeneity/) แต่อย่างใด

OpenStack เป็นเพียงแพลตฟอร์มผสานการทำงาน หรือ Integration Platform เท่านั้น โดย OpenStack จะเป็น Framework ที่มาพร้อมกับ API และ Tool สำหรับ Cloud Service พวก Product และ Technology ต่างๆ จะถูก Integrate และ Deploy ภายใน Framework นี้ เพื่อสร้าง OpenStack Cloud ขึ้นมา

ผู้ให้บริการบิดเบือนความหมายของ Cloud

      ปัจจุบันนี้ความหมายของ Cloud ผุดขึ้นมาราวกับดอกเห็ด สาเหตุหลักเพราะผู้ให้บริการจงใจบิดเบือนความหมายเพื่อจะขายสินค้าของตน ดังนั้นในบทความนี้จะขอยึดเอาคำจำกัดความจาก Amandeep Singh Juneja ผู้เป็น Senior Director ด้าน Cloud Engineering ที่ Walmart Labs ที่ได้กล่าวไว้ว่า Cloud ของ OpenStack นั้น หมายถึง “การนำมาซึ่งความยืนหยุ่นและการทำงานอย่างต่อเนื่องของระบบ Infrastructure” ทั้งนี้ OpenStack เองก็ได้นำเสนอ Framework ที่จะทำให้ ระบบ Infrastructure ทำงานได้อย่างต่อเนื่องและยืดหยุ่นเช่นเดียวกัน

นิยามใหม่ของ OpenStack Cloud

ในจุดเริ่มต้นของ OpenStack เดิมทีมีอยู่เพียงแค่ 2 โปรเจ็กต์คือ Nova Compute Project และ Swift Storage ซึ่ง Nova จะทำให้ Cloud Operator สามารถเลือกการ Deploy ได้จาก Hypervisor และ Virtualization Technology หลายๆ แบบ ไม่ว่าจะ ESX ของ VMware, Open Source อย่าง KVM และ Xen Hypervisor หรือกระทั้ง Hyper-V ของ Microsoft ก็สามารถนำมา Deploy ใน Nova ได้เช่นกัน

แต่พอหลังจากนั้น OpenStack ก็ได้ขยายการพัฒนา โดยการเพิ่มโปรเจ็กต์ใหม่ๆ เข้าไปภายใต้สิ่งที่รู้จักกันในชื่อ OpenStack Integrated Release สำหรับ OpenStack Kilo ที่ปล่อยออกมาเมื่อเดือนเมษายน ปี 2015 มีการผสานรวมหลายๆ โปรเจ็กต์เข้าด้วยกัน ได้แก่ Nova compute, Swift object storage, Cinder block storage, Keystone identity, Horizon dashboard, Glance image, Neutron networking, Trove database, Sahara Big Data, Heat orchestration, Ceilometer monitoring และ Ironic Bare Metal projects

ความท้าทายของ Integrated Release ก็คือ ในการใช้งาน OpenStack Cloud เราไม่ได้ใช้สิ่งที่อยู่ใน Integrated Release ครบทั้งหมด เริ่มด้วย Liberty Release ที่จะทำให้เกิดนิยามใหม่ขึ้นสำหรับ OpenStack แล้วไหนจะ DefCore Project ส่วนสำคัญที่ต้องเข้าไปอยู่ใน Cloud เพื่อให้สามารถเรียกได้ว่าเป็น OpenStack Cloud นอกจากนี้ยังมี Big Tent ซึ่งเต็มไปด้วยสารพัดโปรเจ็กต์ให้ผู้ใช้หรือผู้ให้บริการ Cloud ได้เลือกสรร

ทั้งนี้ Big Tent ได้เปลี่ยนคำนิยามของ OpenStack Cloud ไปเสียหมด ทั้งเรื่องที่ OpenStack Cloud คืออะไร และสามารถทำอะไรได้บ้าง นั่นหมายความว่า Liberty ที่ปล่อยออกมาก็จะสร้างความแตกต่างมหาศาลให้กับ OpenStack เช่นเดียวกัน อย่างไรก็ตาม DefCore ยังคงเป็นส่วนที่ขาดไม่ได้ ทั้ง Keystone Identity service และ API เพราะ Keystone คือตัวเปิดการทำงานของ Federated Identity หรือ การพิสูจน์ตัวตนแบบรวมศูนย์ ใน OpenStack Cloud ด้วยไอเดียที่จะให้ OpenStack Foundation กลายมาเป็น OpenStack Powered Planet คือ ให้เกิดศูนย์กลางการใช้งาน OpenStack ทั่วโลกนั่นเอง

Containers เปลี่ยนทุกอย่างได้อย่างไร

กลุ่ม DevOps เติบโตมาพร้อมกับ Automation Tools ทั้งหลายในช่วงที่ผ่านมา ทำให้การพัฒนา Application สมัยใหม่ไม่ใช่แค่นั่งเขียน Code แต่ Developer ยังต้องคำนึงถึงการเลือกใช้ Tools และวิธีทำงานร่วมกันเพื่อสร้าง Application

Container เป็นหนึ่งใน Tools ชิ้นสำคัญสำหรับ Workflow โดยเทคโนโลยี Container อย่าง Docker ทำให้เราสามารถจับเอาพวก Key Service จาก Infrastructure ออกมาใช้งานได้ นับว่าฉีกแนวความคิดเรื่องการ Deploy Application และการใช้ประโยชน์จาก Cloud Infrestructure ไปอย่างสิ้นเชิง

เมื่อ Infrastructure ใหม่ถูก Deploy และทดสอบเรียบร้อยแล้ว แค่เปลี่ยน DNS ก็ย้ายมาใช้งานได้ทันที วิธีการนี้จะทำให้สามารถเก็บ Virtual Infrastructure ตัวเก่าไว้เป็น Backup ได้ในช่วงแรก ก่อนจะลบมันทิ้งในภายหลัง

การสร้าง Complete Infrastructre ขึ้นมาเลยอาจฟังดูแปลก แต่เมื่อคำนึงถึงความคุ้มค่าของ Cloud Deployment แล้วก็ไม่แพงไปกว่าการ Deploy Update เฉพาะ Server หรือ Service ที่อาจจะทำงานแค่ระยะหนึ่งเท่านั้น นอกจากนี้การ Deploy ทั้งระบบยังอาจทำให้ OS หรือ ซอฟต์แวร์ได้รับการอัพเดทโดยอัตโนมัติอีกด้วย

การไม่ต้องลงทุนกับ Hardware เราสามารถใช้ Cloud Platform ตัวเดียวกันนี้ในขั้นตอน Dev, Test, และ Production ได้เลย เพียงแค่มี Virtual Network แยกแต่ละ Environment กับ Access Control ยิ่งไปกว่านั้น เรายังสามารถทำงานกับ Production Data ในขั้นตอน Development ได้ด้วยการ Clone Store เมื่อต้องการ Clean Data

Container แหล่งบรรจุทุกอย่าง

การบรรจุ Application ลงใน Docker Container ทำให้จัดการและดึงเอาองค์ประกอบหลักๆ ของ Application จาก Infrastructure มาได้ง่ายขึ้น ทั้งยัง Scale Service ได้อย่างอิสระ

วิธีการนี้นำมาซึ่งรูปแบบใหม่ของ DevOps คือ Idempotent Container โดยแทนที่จะสร้าง Aplication หรือ Service แบบสำเร็จ ก็เปลี่ยนมาเป็นการสร้าง Container ที่เก็บรวม Application, Service, และทุกสิ่งทุกอย่างที่ต้องใช้ในการรัน Application เข้าไว้ด้วยกัน เมื่อไหร่ก็ตามที่นึกอยากจะเปลี่ยนแปลงส่วนใดส่วนหนึ่ง ก็สร้าง Container ขึ้นมาใหม่ ทดสอบ และ Deploy ในฐานะที่เป็นทั้ง Application ไม่ใช่แค่องค์ประกอบชิ้นหนึ่ง การทำแบบนี้ช่วยลดความเสี่ยงของขั้นตอน Development ได้ ต่างจากวิธีการแบบดั้งเดิมที่จะทดสอบแค่ส่วนที่มีการเปลี่ยนแปลง

เมื่อ Container ถูกสร้างและ Deploy ขึ้นมาแล้ว จะไม่มีการเปลี่ยนแปลงอะไรจนกว่า Container อันใหม่จะถูก Deploy เพราะ Container เองก็เป็น Sandbox อย่างหนึ่ง การจะเข้าถึงและจัดการ Content ภายในจึงต้องทำผ่าน API เท่านั้น ส่วนในกรณีของ End-User ก็ต้องใช้บริการ UI ทำให้ Container เป็นรูปแบบในอุดมคติสำหรับ Microservice ที่ใช้ API เป็นแค่สื่อกลางการใช้งาน และด้วยบทบาทของ API ซึ่งเป็นเหมือนข้อตกลงระหว่างทีม DevOps ดังนั้น Container ที่รันบน Server Instance ขนาดเล็ก เช่น CoreOS หรือ Nano Server ของ Microsoft ก็จะกลายมาเป็น Block หนึ่งของ Infrastructure

เป็นไปตามกระแส

ไม่น่าแปลกใจเลยที่ Jenkins กลายเป็น Tool มาตรฐานในขั้นตอนการ Build ได้สร้าง Pipeline Tool ที่รองรับ Docker เพิ่มเข้ามา ลักษณะโครงสร้างที่ปรับแต่งได้ ทำให้สามารถปรับเข้ากับแต่ละ Workflow และทำงานร่วมกับ Source Control Tool รวมทั้ง Development และ Test Platform ได้ง่ายๆ

Kohsuke Kawaguchi ผู้เป็น CTO ของ Cloudbees และ Project Founder ของ Jenkins กล่าวถึงการเพิ่ม Support ของ Docker ว่า “มันช่วยผลักดันความต้องการใช้งาน Jenkins โดยมี Docker ในฐานะ Executable Package Format ให้ Compile และ Package ลงไปใน Binary Blob ที่สามารถนำไปใช้งานได้ทันที และลบทิ้งได้เมื่อไม่ต้องการแล้ว”

เห็นได้ชัดว่า Docker และ Container Format อื่นๆ เข้ากันได้ดีกับวิสัยทัศน์ของ Cloudbee ที่มีต่อ Jenkins “ผู้ใช้สามารถใช้มันสำหรับการ Test หรือ Production ได้ และถ้าล้มเหลว ก็สร้างขึ้นมาใหม่ สามารถ Compile Code ลงใน Module เหมือนกับ Ruby Gem แล้วใส่ลง Container ก่อนจะส่งไปยัง Puppet เพื่ือ Deployment”

ในขณะที่ Docker File Format อยู่ในฐานะภาษาสากลสำหรับโลก Container ทางด้าน Linux Foundation ก็กำลังสนับสนุนการพัฒนา “Open Container Format” ที่มีลักษณะเป็น Common Format ร่วม ดึงเอาเหล่า Container Developer และตัวแทนผู้ให้บริการทั้งหลายมารวมกัน กระทั่งบริษัทอย่าง Microsoft ก็เข้าร่วมด้วย ซึ่ง Common Container Format นี้จะช่วยกระจายการใช้ Container ในกลุ่มผู้ให้บริการ Cloud ทั้ง Public และ Private ให้กว้างขวางยิ่งขึ้น

อย่างไรก็ดี การมี Common Format ของ Container ไม่ได้ช่วยขจัดปัญหาด้านการจัดการ Cloud Infrastructure ที่แตกต่างกันได้ทั้งหมด แต่อย่างน้อยมันก็พอจะช่วยให้การย้าย Service ระหว่าง Cloud สะดวกขึ้น เช่น การย้ายจาก Azure ไปยัง AWS หรือ จาก OpenStack ไปยัง Google Cloud เป็นต้น ส่วน Infrasturcture ที่ถูกจัดการด้วย Puppet หรือ Chef ในระบบคลังของ Git ก็ช่วยให้พัฒนา Translation Layer ที่ใช้ Generic VM และ Network Description สำหรับ Application ได้ และมี Orchestration ที่เหมาะสม ไม่ว่าจะใช้บริการ Cloud แบบไหนอยู่ก็ตาม

Mirantis OpenStack ร่วมกับ Apcera สร้างความปลอดภัยให้ Open Source

ในปัจจุบัน Open Source ได้กลายเป็น Software ตัวเลือกแรกที่หลายองค์กรนำไปใช้ในการปฏิบัติการทางคอมพิวเตอร์ เพราะช่วยทำให้ธุรกิจมีความคล่องตัวสูงขึ้นจากการตอบโจทย์ด้าน IT ได้อย่างรวดเร็ว และยังมีค่าใช้จ่ายที่คุ้มค่ามากกว่า Commercial Software แต่ทั้งนี้ Open Source Solution ก็ถูกวิพากษ์วิจารณ์ในเรื่องความปลอดภัยที่ไม่เป็นไปตามข้อเสนอเชิงพาณิชย์ที่เป็นกรรมสิทธิ์

        ดังนั้นเพื่ออุดช่องว่างนี้ บริษัท Apcera ซึ่งเป็นหนึ่งในผู้สนับสนุน Open Source Solution จึงมุ่งหวังที่จะหาข้อแก้ไขด้วยการพัฒนาระบบคลาวด์ให้มีประสิทธิภาพมากขึ้น จนในที่สุดในงาน OpenStack Summit 2015 ณ. เมือง Vancouver ประเทศแคนาดา บริษัท Apcera ได้ประกาศวางจำหน่าย Hybrid Cloud Operating System สำหรับผู้ใช้ Mirantis OpenStack อย่างเป็นทางการ

        โดย Hybrid Cloud Operating System คือ ระบบที่เกิดจากการร่วมมือระหว่าง Apcera กับ Mirantis ที่เป็นผู้เชี่ยวชาญด้าน Cloud OpenStack ผลิตโครงสร้างพื้นฐานแบบ Open Source ให้แก่องค์กรกว่า 200 แห่ง ซึ่งโดย Hybrid Cloud Operating System จะช่วยให้ผู้ใช้ OpenStack ไม่เพียงแต่สามารถเชื่อมต่อกับ Private Cloud ได้เท่านั้น แต่ยังสามารถเชื่อมต่อกับ Public Cloud อื่นๆ อาทิ Amazon Web Services (AWS), Google Compute Engine (GCE), VMware vSphere ได้อย่างปลอดภัยตามนโยบายชอง Apcera

        และข้อดีของระบบนี้นอกจากจะทำให้ผู้ใช้ควบคุมทรัพยากรทั้งได้ดีขึ้น มองเห็นการโต้ตอบของทรัพยากรได้ชัดเจนขึ้น และที่สำคัญคือมีความปลอดภัยในทุกสภาพแวดล้อม ไม่ว่าจะเชื่อต่อกับ Private Cloud หรือ Public Cloud

อ้างอิง : https://www.apcera.com/blog/bringing-security-open-source

หลักสูตรการเรียนการสอน OpenStack ฉบับ Mirantis ที่คนอยากเป็น OpenStacker ห้ามพลาด

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

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

เพราะความสะดวกสบายเช่นนั้น ส่งผลให้ความต้องการที่จะใช้ระบบ Cloud มีมากขึ้น แต่ติดอยู่ตรงที่ซอฟแวร์สำหรับบริหารจัดการระบบ Cloud Computing ในองค์กรที่มีมาแต่เดิมส่วนใหญ่จะเป็นซอฟแวร์แบบ Proprietary ซึ่งมีราคาแพง ดังนั้นเมื่อ 7 ปีที่ผ่านมา ได้มีการพัฒนาระบบซอฟต์แวร์สำหรับบริหารจัดการ Cloud Computing แบบ Open Source ขึ้นมาภายใต้ชื่อ OpenStack

ซอฟแวร์ระบบ OpenStack คือ Open Source ที่ทำหน้าที่ช่วยในเรื่องการบริหารจัดการทรัพยากรด้าน Compute , Storage , Networking ของ Data Center ให้มีประสิทธิภาพมากขึ้น ซึ่งคุณสมบัติเด่นของ OpenStack มีมากมาย ไม่ว่าจะเป็นในส่วนของ Compute Network หรือ Storage เกิดขึ้นเมื่อ โดยในปัจจุบัน OpenStack ได้รับการยอมรับอย่างกว้างขวางจากกว่า 250 องค์กรใน 130 ประเทศทั่วโลก เรียกได้ว่า OpenStack คือ อีกหนึ่งทางเลือกดี ๆ ขององค์กรขนาดใหญ่ที่ต้องการจัดการ Cloud Computing ให้มีประสิทธิภาพสูงสุด

ดังนั้นการเรียนการสอน OpenStack จึงน่าจะเป็นประโยชน์กับผู้ที่มีความสนใจที่จะใช้งาน Cloud Computing ในองค์กรและผู้ที่ต้องการจะให้บริการ Cloud Computing เป็นอย่างยิ่ง

โดยหลักสูตรการอบรมการสอน OpenStack ที่ได้รับการยอมรับว่าเป็นอันดับหนึ่งของโลก คือ หลักสูตร Mirantis (training.mirantis.com) จากองค์กร Mirantis ผู้ให้บริการ OpenStack และผู้ให้คำปรึกษาในด้านนี้

OpenStack & Kubernetes training from the experts. Mirantis Training helps IT professionals around the globe advance their skills in OpenStack, Kubernetes, Software-Defined Networking (SDN), and other cloud technologies. In addition to teaching a pure vendor-agnostic curriculum, Mirantis Training offers a variety of course levels and formats to fit any education needs. Paired with our industry-recognized certifications, you will be equipped with the knowledge, flexibility, and adaptability to manage cloud technology environment.” – (Mirantis,n.d.)

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

  • คอร์ส OS100: OpenStack Bootcamp เป็นหลักสูตรยอดนิยม ในหลักสูตรนี้จะเจาะลึกในเรื่องการออกแบบ พัฒนา ติดตั้ง บำรุงรักษา และแก้ไขปัญหา Cloud OpenStack ระดับ Professional ซึ่งจะช่วยให้ผู้เรียนสามารถนำความรู้ไปต่อยอดกับองค์กรหรือใช้ในการทำงานได้ทันที

สำหรับตอนนี้หากใครสนใจหลักสูตรการเรียนการสอน OpenStack ฉบับหลักสูตร Mirantis แท้ๆ NIPA.CLOUD ได้จับมือกับ Mirantis (training.mirantis.com) จัดอบรมความรู้เรื่องระบบ Cloud Computing ในไทยและประเทศอาเซียน มีหลักสูตรการสอน OpenStack ที่ครอบคลุมสำหรับนักพัฒนาซอฟแวร์ ผู้เชี่ยวชาญด้านไอที โดยเฉพาะด้าน Cloud OpenStack ผู้ดูแลระบบ และผู้จัดการระบบพร้อม รับประกันเนื้อหาใช้หลักสูตรการสอนทั้งหมดจาก Mirantis ทั้งหมดที่ได้รับการพัฒนาจากวิศวกรมากกว่า 200 ท่าน

สนใจอ่านรายละเอียดเพิ่มเติมได้ที่ training.nipa.cloud

 

สอบ OpenStack Certificate Administrator คืออะไร? ทำไม OpenStacker ต้องสอบ

เรามั่นใจว่าความฝันสูงสุดของ OpenStack Admin หลายคน คือ การมี OpenStack Certificate Administrator หรือที่รู้จักกันในชื่อภาษาไทยว่า “ใบรับรองความสามารถด้านการดูแลระบบ OpenStack” ไว้ในครอบครอง เพราะมันเป็นเสมือนใบเบิกทางที่จะนำพาตัวเองไปสู่หนทางที่ไกลกว่า ซึ่งหลายคนคงรู้วิธีการสมัครสอบ OpenStack Certificate  Administrator  กันอยู่แล้ว ว่าสามารถสมัครสอบได้ที่นี่ และมีค่าใช้จ่ายอยู่ที่ราคา $300 สามารถสอบได้ภายใน 12 เดือนหลังการชำระเงิน ฉะนั้นวันนี้เราจึงจะพาย้อนความกลับไปดูว่าเจ้าใบรับรองที่ใครๆ ก็อยากได้นี่มีความเป็นมาอย่างไร แล้วเมื่อได้มาสามารถนำไปทำอะไรได้บ้าง

ตามเดิม OpenStack Certificate (ใบรับรอง OpenStack) เริ่มต้นมาจากบริษัทยักษ์ใหญ่ อย่าง Mirantis, Red Hat และ Linux ฯลฯ ได้ทำการเปิดคอร์สสอนอบรมความรู้เรื่องการใช้ระบบ OpenStack ขึ้นมาให้บุคคลทั่วไปตลอดจนแอดมินที่ดูแลระบบได้เข้ามาลงทะเบียนเรียนและสอบเอาใบรับรองความเชี่ยวชาญด้าน OpenStack นี้กลับไป แต่มันกลับกลายเป็นมีข้อจำกัดอยู่ตรงที่ว่า เนื้อหาส่วนใหญ่ที่บริษัทเหล่านี้เอามาสอนครอบคลุมอยู่แค่ Platform ของบริษัทนั้นๆ มิใช่แบบ Open Source เพียวๆ ดังนั้นองค์กร OpenStack Foundation ซึ่งเป็นองค์กรหลักผู้พัฒนาซอฟต์แวร์ Cloud Opensource จึงประกาศกลางงาน OpenStack Summit 2016 ณ เมือง Austin นครรัฐ Texas ในเดือนเมษายน ปี 2016 ว่า จะมีการสอบ OpenStack Certificate ของ OpenStack เองอย่างเป็นทางการภายใต้ชื่อ Certified OpenStack Administrator (COA) ด้วยความเล็งเห็นว่า ในปัจจุบันทักษะ OpenStack กำลังเป็นที่ต้องการสูง

“COA is the first professional certification offered by the OpenStack Foundation. It’s designed to help companies identify top talent in the industry, and help job seekers demonstrate their skills.” – (Openstack.org, n.d.)

(COA คือ ครั้งแรกของการรับรองความเป็นผู้เชี่ยวชาญที่ OpenStack Foundation ออกแบบมาเพื่อช่วยให้บริษัทสามารถระบุความสามารถระดับสูงในแวดวงอุตสาหกรรม และช่วยให้ผู้ที่กำลังมองหางานด้าน OpenStack สามารถโชว์ทักษะของตนได้)

นั่นจึงหมายความว่าบุคคลทั่วไปที่สอบ OpenStack Certificate ผ่านจะได้รับรองความเป็นผู้เชี่ยวชาญด้าน OpenStack สามารถนำใบรับรองความสามารถด้านการดูแลระบบ OpenStack นี้ไปใช้ในการสมัครงานตำแหน่งระดับสูงได้ และในทางเดียวกันหาก OpenStack Admin ที่ทำงานอยู่ในองค์กรใดองค์หนึ่งถือครอง OpenStack Certificate Administrator ก็จะช่วยเพิ่มความน่าเชื่อถือให้กับลูกค้าและเป็นตัวการันตีว่าทีมงานมีคุณภาพตามมาตรฐาน ซึ่งการวัดผลคะแนนผ่านหรือไม่ผ่านนั้น ทาง COA ได้กำหนดไว้ในระเบียบการว่า “passing score of 76 or higher” หมายถึงผู้สอบ OpenStack Certificate Administrator  ต้องทำคะแนนให้ได้มากกว่าหรือเท่า 76 คะแนน