วันจันทร์ที่ 7 กันยายน พ.ศ. 2552

Cloud Computing

Introduction to Cloud Computing





Definitions

คือ การให้บริการระบบสารสนเทศผ่านเครือข่าย internet(web 2.0) ที่มีการประมวลข้อมูลที่รวดเร็ว โดยที่ผู้ใช้หรือองค์กรเพียงแต่เช่าใช้บริการ Infrastructure (provision over internet, external controlled and stored) , Software or Application(with feature : easy implement , with minimal IT Knowledge), Brandwidths
ภายใต้เงื่อนไขของการบริการ โดยที่ลูกค้าจะเสียค่าใช้จ่ายเท่ากับปริมาณการใช้จริง ซึ่งก็มีความยึดหยุ่น มีความสะดวก และมีระบบรักษาความปลอดภัยที่ดี
เกี่ยวข้องกับ SaaS – Software as a Service;
และ HaaS – Hardware as a Service.

ตัวอย่างที่ประสบความสำเร็จได้แก่
SaaS à Salesforce.com, Google’s Google Reader and Google Docs, youtube ,blogger.
HaaS à Amazon’s Elastic Compute Cloud (EC2)
และความโดดเด่นของ Clound Computing นั้นอยู่ที่ ประสิทธิภาพแบบไร้ขอบเขต สามารถเติบโตไปได้แบบไม่มีขีดจำกัดอีกต่อไป มีผู้ใช้เป็นจำนวนมาก ระบบก็รับไหว ไม่ล่มง่าย

A historical background


Cloud Computing ยังไม่ใช่สิ่งใหม่ (not new technology) แต่เป็นเพียงชื่อใหม่ ( new name ) ซึ่งเราอาจเคยได้ยินกับ Technology เหล่านี้ ได้แก่ HPC- and HA Clustering , Grid-Computing , Utility-Computing , Distributed-Computing มาบ้างแล้ว ซึ่งทั้งหมดที่กล่าวมาเป็นการจัดการกับ large IT infrastructures ด้วยวัตถุประสงค์ที่ต่างกัน









คราวนี้มาดูว่ากว่าจะมาเป็น Cloud Computing
เกิดขึ้นเมื่อ 24 สิงหาคม 2006 โดยที่ Amazon ส่งเวอร์ชั่น Test ของ Elastic Computing Cloud (EC2) อย่างเป็นทางการที่งาน Bussiness Week 2006. โดยที่ครอบคลุมเรื่อง flexible IT resource (computing capacity) และให้คำจำกัดความของธุรกิจระหว่างคน IT กับผู้ให้บริการ Provider โดยเป้าหมายของ Amazon จะเป็นกลุ่มของ developers หรือกลุ่มบุคคลที่เข้าถึงบริการของ Amazon ผ่านทาง Internet
ปี 2007 เป็นที่รู้จักมากขึ้นจากผลงานของ English Wikipedia from March 3, 2007 ที่ให้บริการในแง่ของ utility computing ที่ดี
ปี 2008 ได้รับความนิยมอย่างกว้างขวางมาก โดยดูจากยอด Cloud Computing ที่ generate over 10.3 ล้านชื่อที่ matches on Google. ด้วยแนวคิดที่ใช้ simple infrastructure services เช่น storage และการคำนึงในเรื่องทรัพยากร รวมทั้ง application ด้วย

Architectural layers of Cloud Computing



การให้บริการของ Cloud Provider เสนอการให้บริการไว้หลัก ๆ คือ 3 กลุ่มใหญ่ ได้แก่
Software as a Service(SaaS) è Application จะrun อยู่บน cloud บน server ที่ผ่านทาง Internet-accessible service provider เช่น Salesforce.com และอื่นๆอีกมาก
Attached Service èสำหรับ on-premises application ,end-user สามารถใช้บริการเรื่องของ audio , vido content,cloud-base spam filtering, archiving
Cloud Platforms èถูกกำหนดบน cloud-based service สำหรับ developers เพื่อ creating application และสามารถ building and deployment ได้




Layers of Cloud Computing ประกอบ 5 layers


1. Cloud Application Layer :: ให้บริการด้าน data-center จะอยู่ใกล้กับ end user มากที่สุด
2. Cloud Software Environment layer :: ให้บริการทาง Application’s developer สำหรับการ implement หรือทำการ deploying application program บน cloud
3. Cloud Software Infrastructure layer ::สำหรับการ Building ระบบ software ต่างๆ ประกอบไปด้วย
3.1 Computational Resource : ใช้ Virtual Machines(VMs) เพราะว่ามีการจัดเก็บค่า Address ได้มีประสิทธิภาพ
3.2 Data Storage : มีไม่จำกัด
3.3 Communication : คุณภาพการบริการข้าม network รวมถึง security
4. Software Kernal :: เป็น OS kernel,hypervisor,virtual machine monitor and clustering middlewareและใช้ Grid Computing ทำการ deploy หรือ run ที่ layer นี้
5. Hardware and Firmware ::ให้การบริการด้วยเทคโนโลยีของ HW ที่มีคุณภาพสูง

แสดงตัวอย่างตามตารางข้างล่างนี้

Cloud Layer and Examples of Commercial Cloud Systems






Examples of Commercial Cloud Systems
1. Cloud Application Layer
Google Apps and Salesforce Customer Relation Management (CRM) system
2. Cloud Software Environment
Google App Engine and Salesforce Apex System
3. Cloud Software Infrastructure
Computational Resources: Amazon’s EC2, Enomalism Elastic Cloud.
Storage: Amazon’s S3, EMC Storage Managed Service.
Communication: Microsoft Connected Service Framework (CSF).
4. Kernel
Grid and Cluster Computing Systems like Globus and Condor.
5. Firmware / Hardware
IBM-Morgan Stanley’s Computing Sublease, and IBM’s Kittyhawk Project.



ตัวอย่างประกอบ

Types of Clouds





1. Public Clouds

+ เป็นการบริการที่ไม่แพง เช่น มี free service over the internet, free Amazon Machine Images(AMIs) สำหรับนักพัฒนา หรือเพื่อ test โปรแกรม เพื่อการศึกษา

+ Implement base on ประสิทธิภาพการทำงาน , ระบบรักษาความปลอดภัย , ระบบการจัดเก็บข้อมูล data locality in mind

+ จากรูปเป็นการให้บริการกับหลาย ๆ ลูกค้า Public or External clouds,

2. Private clouds,




+ เป็นการบริการที่มีเจ้าของเป็นผู้ให้บริการ support ลูกค้าของตนผ่านทาง Cloud Provider

+ Implement base ในเรื่องการควบข้อมูล , ระบบรักษาความปลอดภัย ,และคุณภาพของการบริการ

+ จากรูปเป็นการให้บริการกับลูกค้า ของตนเอง

3. Hybrid clouds


+ เป็นตัวผสมการทำงานระหว่าง Public Cloud และ Private Cloud

+ อนุญาตให้มีการ transferred ข้ามกันระหว่าง Application ของ Public Cloud และ Private Cloud เมื่อมีการร้องขอ

+ แสดงให้เห็นความซับซ้อนของDistribute Application across boths.


Benefits of Cloud Computing



1. Reduce run time and response time : การทำงานของ Program ทำได้อย่างรวดเร็ว

2. Reduction in costs: ลดต้นทุนด้านการจัดเก็บข้อมูล , ต้นทุนของ Software Updates ,ต้นทุนการบำรุงรักษา ,ต้นทุนในเรื่องการควบคุมคุณภาพ , ต้นทุนด้าน Hardware

3. Scalability and speed: รองรับการขยายตัว และความรวดเร็วในการประมวลผล เช่นในช่วงเวลาการแข่งขัน หรือช่วงเวลาที่มีคนเข้าถึงข้อมูลพร้อมกัน จำนวนมาก

4. Enabling Innovation: ได้รับบริการที่เป็นนวัตกรรมใหม่เสมอ

5. Ease of Use: ใช้งานได้ง่ายเสมือนเป็นสิ่งอำนวยความสะดวกพื้นฐานทั่วไป

6. Freedom of location: อิสระ ไม่ว่าจะส่วนที่ไหนก็สามารถใช้งานได้ปกติ

7. Better utilization of limited resources: ใช้สิ่งอำนวยความสะดวกที่ดีขึ้น แม้ว่าจะมีความจำกัดในเรื่องทรัพยากร เพราะว่ามีการทำการ sharing all server , storage and network resources

8. Flexibility: User สามารถติดต่อขอความช่วยเหลือ หรือคำแนะนำได้ตลอดเวลา


Minimizing the risks of using a cloud

ในเรื่องของความปลอดภัย ยังคงเป็นประเด็นในเรื่อง Trust เช่น จะมั่นใจได้อย่างไรว่าจะสามารถ Access ข้อมูลได้ตลอดเวลา หรือว่า ถ้ามีการกระทำที่ผิดพลาดเกิดขึ้นแล้วข้อมูลจะไม่หาย หรือว่ามีข้อกำหนดที่เป็นมาตรการภายในว่าต้องมีการเซ็น อนุมัติก่อนจะทำไม่ได้



1 .User access
จะกำหนดให้ใครเป็น Administrator เพื่อทำหน้าที่ กำหนดสิทธิในการเข้าถึงข้อมูล ที่มีขนาดใหญ่

2 .Regulatory compliance
ต้องทำการตรวจสอบภายนอกในเรื่องของ external audits หรือ กำหนดมาตราฐาน Certificate atr available for verification

3 .Data location
ถ้าทำการให้สิทธิให้ end-user control แหล่งที่อยู่ของข้อมูลผ่าน geographical ได้

4 .Data security
ต้องสามารถมั่นใจได้ว่าตลอดเส้นทางของข้อมูล ใช้วิธีการเข้ารหัสข้อมูลอย่างมีประสิทธิภาพ

5 .Recovery
มีวิธีการจัดการความเสียหายของข้อมูล หรือ การกู้ข้อมูล และใช้ระยะสั้นที่สุด

6.Investigative Support
ต้องมีคนคอย support ให้คำแนะนำตลอดเวลา

7 .Long-term viability
ในกรณีที่บางบริษัทเลิกกิจการไปแล้ว แล้วจะเกิดอะไรขึ้นกับข้อมูลเหล่านั้น




ตัวอย่าง Commercial Cloud Formation

























Amazon web Services(EC2)




Amazon Web Services : Elastic Compute Cloud (EC2)
เป็น Utility Computing (UC) คือ ให้บริการทรัพยากรที่ใช้ในการประมวลผล เช่น CPU hour,memory ,network รวมทั้ง Platefotm ที่สามารถให้บริการในการ Run Software ตามความต้องการใช้บริการ เป็นแนวคิดในการให้บริการตามที่คิดค่าใช้จ่ายตามการใช้งานจริง ด้วยการให้บริการด้าน SaaS , การวิเคราะห์และการประมวลผลแบบ Batch Processing
ประโยชน์ของ Utility Computing (UC)
1. ประโยชน์กับผู้ใช้บริการ ได้แก่ การลดต้นทุน
2. ประโยชน์กับผู้ให้บริการ ได้แก่ สร้างรายได้ เพราะการให้บริการที่แตกต่างกัน ด้วยคุณภาพและมีความเชี่ยวชาญกว่า
คราวนี้เข้าเรื่อง Amazon EC2 เลยค่ะ

Amazon EC2

เปิดตัวครั้งแรกในปี 2006
ใช้แนวคิดในเรื่องของ Simple Storage Service(S3)
ซึ่งเป็น Elastic Compute Cloud(EC2)
การคำนวณบน virtual parallel clusters และdestroy on demand.
base on Linux and Xen
มีความหลากหลายของ O/S images ซึ่งAmazon Machine Images (AMIs)
การประมวลผลแบบขนานด้วยเทคโนโลยีการคำนวณขั้นสูง(High-Performance Computing - HPC) –
o โดยจะคำนวณแบบ Batch processing oriented queue based systems.

Characteristics Amazon EC2
Ø Elastic : สามารถเพิ่ม/ลด ความจุได้ภายในเวลาที่รวดเร็ว และสามารถทำการ monitor controll ผ่านทาง EC2 APIs
Ø ทำการควบคุมได้อย่างสมบูรณ์แบบ
Ø สามารถเลือกใช้ OS ได้ตามที่ลูกค้าใช้อยู่แล้วได้เลย
Ø สามารถเลือก Software Package ได้ เช่น Redhat,Ubuntu,openSuse,Windows Server 2003
Ø ระบบ Amazon datacenter มีความน่าเชื่อถือสูงมากๆ
Ø ระบบ Secure ใช้ web interface ในการ configure firewall

ปัจจุบัน EC2 ยังคงไม่หยุดนิ่ง โดยทำการศึกษาวิจัยในเรื่องสำคัญต่อไป ดังนี้
ü EC2 Instance
ü Test with standard HPC benchmarks : I/O performance
ü MPI on EC2
ü Application demonstration
ü Optimized Compiler
ü Queuing System
ü Input/Output and Filessystems
ü Security Issues
ü Interactive Usage with an HPC code





Eucalyptus


เป็นชื่อย่อจากคำว่า Elastic Utility Computing Architecture Linking Your Programs To Useful Systems

เป็น Open-Source Software ที่ให้บริการบน Web services base สำหรับ Implement Elastic/Utility/Cloud Computing infrastructure โดยใช้หลักการกระจายโหลดบนคลัสเตอร์เพื่อประหยัดพลังงาน โดยที่จะมีส่วนที่ใช้ Interface-compatible กับ Amazon.com’s EC2 นอกจากนี้แล้ว

Eucalyptus ได้ถูกออกแบบมาเพื่อให้สามารถใช้บน Linux แล้วทำให้เกิด Web base service ที่มีความง่ายในการติดตั้งและบำรุงรักษา

จุดประสงค์ของ Eucalyptus คือ ทำการสำรวจวิจัยหรือพัฒนา Elastic/Utility/Cloud service ให้ สามารถ Implement เทคโนโลยี เช่น การจองพื้นที่ทรัพยากร การตกลงทำสัญญาการให้บริการในระดับต่าง ๆ โดยการใช้กลไก หรือเงื่อนไขข้อตกลง และการใช้แบบจำลองต่าง ๆ
ปัจจุบันจะประกอบด้วย
o Interface ที่สามารถใช้งานร่วมกันของ EC2 และ S3
o ขั้นตอนในการติดตั้งง่าย
o สนับสนุนการทำงานบน Linux
o ใช้ระบบรักษาความปลอดภัย ของ SOAD with WS-Security
o ใช้ Cloud Administrator tools สำหรับการจัดการกับ user accounting
o สามารถทำการแก้ไขค่าต่าง ๆ ได้ ด้วย private internal network address บน Single Cloud

Eucalyptus Architecture



o เป็น Public Cloud
o ไม่มีค่าใช้จ่าย แต่จำกัดเวลาในการเข้าถึงจากการติดตั้งโปรแกรม

Eucalyptus Architecture ประกอบด้วย 3 ส่วน
1. Eucalyptus-nc :

การทำงานในส่วน front-end services(Cloud Controller) ที่รู้จักกันคือ Walrus storage system.
2. Eucalyptus-cc :
มี Cluster Controller ที่ไว้ support virtual network overlay

3. Cluster Controller
มี Node Controller สำหรับการติดต่อกับ KVM(Kernel-base Virtual Machine) เพื่อจัดการกับ VMs




My Idea

Cloud Computing คือการนำเอาระบบเครือข่ายบน Internet มาใช้งาน ให้เกิดประโยชน์สูงสุด เสียค่าใช้จ่ายน้อย มีคุณภาพ และประสิทธิภาพสูงสุด ในการให้บริการได้ทั้วโลก สนับสนุนแนวคิดการนำเอาเทคโนโลยีมาใช้เสมือนหนึ่งว่าอยู่ในชีวิตประวันทั่วไป เกิดความง่ายต่อการใช้งาน มีความง่ายต่อการพัฒนาต่อยอดแนวคิดจาก Grid Computing แล้วทำให้ values ในทางธุรกิจ คาดว่า Cloud Computing ก็จะยังถูก Implement ขี้นมากเรื่อย ๆ ในเรื่องต่างๆเหล่านี้

¢ Application software:
Cloud & client parts, disconnection tolerance
¢ Infrastructure software:
Resource accounting, VM awareness
¢ Hardware systems:
Containers, energy proportionality










References

1. Full Paper for the UKUUG Spring 2009 Conference “Instant Cloud Computing with openORM” by Mattias Rechenburg

2. “Toward a Unified Ontology of Cloud Computing “ by Lamia Yourseff University of California , Santa Barbara Santa Barbabra, CA 93106 and Maria Butrico, Dilma Da Silva IBM T.J. Watson Research Center Yorktown, New York 10598


3. Spatial Cloud Computing (SC2) White Paper “A New Paradigm for Geographic Information Services” Present by : Hugh Williams SKES Inc., March 2009

4. DavidChappell & Associates “A SHORT INTRODUCTION TO CLOUD PLATFORMS” AN ENTERPRISE-ORIENTED VIEW by DAVID CHAPPELL , AUGUST 2008


5. Amazon web servies “Amazon Web Services: Overview of Security Processes” , September 2008

6. INTRODUCTION TO CLOUD COMPUTING ARCHITECTURE White Paper 1st Edition , June 2009 by Sun Microsystems


7.
https://help.ubuntu.com/community/Eucalyptus

8.
http://aws.amazon.com/ec2



























ไม่มีความคิดเห็น:

แสดงความคิดเห็น