โดยส่วนใหญ่แล้วซอฟต์แวร์ในสมัยก่อนนั้นจะติดตั้งและใช้งานกันบนคอมพิวเตอร์เป็นหลักแต่ในสมัยนี้บริการต่างๆ ถูกยกไปอยู่บนระบบอินเตอร์เน็ตกันแทบทั้งสิ้น เราเรียกเทคโนโลยีนี้ว่า Cloud computing
Cloud computing คืออะไร
นิยามของ cloud computing คือ การส่งมอบบริการด้านคอมพิวเตอร์ไม่ว่าจะเป็นเครื่องแม่ข่าย (servers) พื้นที่จัดเก็บข้อมูล (storage) ฐานข้อมูล (databases) ระบบอินเตอร์เน็ต (networking) ซอฟต์แวร์ (software) หรือแม้กระทั่งการประมวลผลข้อมูลสถิติ (analytics) ผ่านระบบอินเตอร์เนตซึ่งเรานิยามว่า คลาวด์ (the cloud) หรือก้อนเมฆ หากจะพูดอีกอย่างคือการนำบริการด้านคอมพิวเตอร์ทั้งหมดไปไว้บนระบบอินเตอร์เน็ต เพื่อรองรับการเทคโนโลยีที่เปลี่ยนแปลงอย่างรวดเร็ว การขยายทรัพยากร นอกจากนี้แล้วยังลดค่าใช้จ่ายในการบำรุงรักษาระบบอีกทางหนึ่ง
ประเภทของ Cloud computing
1. Public cloud
Public cloud หมายถึง การที่เราไม่ได้เป็นเจ้าของและดูแลระบบคลาวด์เองแต่ผ่านผู้ให้บริการคลาวด์ (cloud service providers) ยกตัวอย่างเช่น Microsoft Azure GMail หรือ Google Cloud ผู้ใช้งานเพียงใช้ซอฟแวร์ผ่านเว็บเบราเซอร์
2. Private cloud
private cloud หมายถึงระบบคลาวด์ที่เป็นของหน่วยงานใดหน่วยงานหนึ่ง ตัวระบบคลาวด์นั้นอาจตั้งอยู่ในห้อง Server ของหน่วยงานนั้นๆ ในบางหน่วยงานอาจใช้วิธีจ่ายเงินเพื่อให้ผู้ให้บริการคลาวด์ดูแลระบบคลาวด์ของหน่วยงานก็ได้
3. Hybrid cloud
hybrid cloud เป็นการผสมผสานกันระหว่าง Public cloud และ private cloud เชื่อมโยงกันด้วยเทคโนโลยีทำให้ข้อมูลนั้นส่งผ่านถึงกันได้
บริการ Cloud computing
1. Infrastructure as a service (IaaS)
Infrastructure as a service (IaaS) ถือเป็นบริการขั้นพื้นฐานในระบบคอมพิวเตอร์ เราสามารถเช่าโครงสร้างพื้นฐานด้านไอที เช่น เครื่องแม่ข่าย (servers) หรือเครื่องแม่ข่ายเสมือน (machines : VMs) พื้นที่จัดเก็บข้อมูล (storage) ฐานข้อมูล (databases) ระบบอินเตอร์เน็ต (networking) หรือแม้แต่ระบบปฏิบัติการคอมพิวเตอร์ (operating systems) จากผู้ให้บริการคลาวด์ (cloud provider) และจ่ายเท่าที่ใช้งานหรือ pay-as-you-go
2. Platform as a service (PaaS)
Platform as a service เป็นบริการที่สร้างสภาวะแวดล้อมเพื่อใช้สำหรับการพัฒนาซอฟต์แวร์ ทดสอบซอฟต์แวร์ หรือใช้สำหรับติดตั้งซอฟต์แวร์ โดยทั่วไปแล้ว Platform as a service ถูกสร้างมาเพื่อผู้พัฒนาซอฟต์แวร์ได้พัฒนาซอฟต์แวร์ทั้งมือถือและเว็บไซต์ได้สะดวกรวดเร็วมากยิ่งขึ้น โดยไม่ต้องคำนึงถึงเรื่องความเข้ากันได้ของตัวซอฟต์แวร์และฮาร์ดแวร์ ยกตัวอย่างเช่น การสร้างสภาพแวดล้อมสำหรับการเขียนเว็บไซต์ด้วย Nginx เป็นต้น
3. Software as a service (SaaS)
Software as a service เป็นบริการสุดท้ายในระบบคลาวด์ โดยเน้นไปที่เรื่องของการให้ซอฟต์แวร์ในระบบอินเตอร์เน็ตในรูปแบบการจ่ายรายเดือน สำหรับ Software as a service ผู้ให้บริการคลาวด์จะติดตั้งซอฟแวร์บนโครงสร้างขั้นพื้นฐาน ส่วนผู้ใช้งานเพียงใช้ซอฟแวร์ผ่านเว็บเบราเซอร์ ตัวอย่างเช่น GMail หรือ Google Cloud เป็นต้น