Cloud computing - h t ng và ng d ngạ ầ ứ ụ Tính toán và l u tr d ng “đám mây” chuy n các tài nguyên v t lý (nh b vi x lý vàư ữ ạ ể ậ ư ộ ử thi t b l u tr ) thành các tài nguyên m r ng đ c và chia s đ c trên Internet (tínhế ị ư ữ ở ộ ượ ẻ ượ toán và l u tr d i d ng các “d ch v ”). M c dù không ph i là m t khái ni m m iư ữ ướ ạ ị ụ ặ ả ộ ệ ớ nh ng o hóa (virtualization) khi n cloud computing tr nên d m r ng và hi u quư ả ế ở ễ ở ộ ệ ả h n nhi u thông qua vi c chia s các h v t lý v i s o hóa server. Cloud computingơ ề ệ ẻ ệ ậ ớ ự ả cho phép ng i dùng ti p c n đ n các tài nguyên tính toán và l u tr kh ng l màườ ế ậ ế ư ữ ổ ồ không c n bi t chúng đâu và đ c c u hình nh th nào. Trong cloud computingầ ế ở ượ ấ ư ế Linux đóng m t vai trò to l n.ộ ớ Ngày nay b n khó có th đ c m t Website k thu t nào mà l i không nh c đ n cloudạ ể ọ ộ ỹ ậ ạ ắ ế computing. Cloud computing không gì khác chính là vi c cung c p các tài nguyên tínhệ ấ toán (máy tính và ph ng ti n l u tr ) nh là m t d ch v . Cùng v i đó là kh năng mươ ệ ư ữ ư ộ ị ụ ớ ả ở r ng các máy tính và ph ng ti n l u tr theo m t cách đ n gi n và “trong su t”. T tộ ươ ệ ư ữ ộ ơ ả ố ấ c các đi u này t ng t nh ý t ng c a utility computing , trong đó các tài nguyênả ề ươ ự ư ưở ủ tính toán đ c xem nh các d ch v “đo” đ c, ch ng h n nh trong các ti n ích truy nượ ư ị ụ ượ ẳ ạ ư ệ ề th ng (đi n, n c). Đi u khác bi t chính là các công ngh đã có s k t h p cùng nhauố ệ ướ ề ệ ệ ẽ ế ợ đ bi n cloud computing thành hi n th c.ể ế ệ ự M t trong nh ng xý t ng quan tr ng nh t c a cloud computing là kh năng m r ngộ ư ưở ọ ấ ủ ả ở ộ và công ngh ch ch t là công ngh o hóa. o hóa cho phép s d ng t t h n m tệ ủ ố ệ ả Ả ử ụ ố ơ ộ server b ng cách k t h p các h đi u hành và các ng d ng trên m t máy tính chia sằ ế ợ ệ ề ứ ụ ộ ẻ đ n l . o hóa cũng cho phép di trú tr c tuy n (online migration) đ khi m t server quáơ ẻ Ả ự ế ể ộ t i, m t instance c a h đi u hành (và các ng d ng trên đó) có th di trú đ n m tả ộ ủ ệ ề ứ ụ ể ế ộ server m i,ít t i h n.ớ ả ơ T góc nhìn bên ngoài, cloud computing đ n gi n ch là vi c di trú tài nguyên tính toánừ ơ ả ỉ ệ và l u tr t doanh nghi p vào “đám mây”. Ng i dùng ch đ nh yêu c u tài nguyên vàư ữ ừ ệ ườ ỉ ị ầ cloud provider h u nh t p h p các thành ph n o này trong h t ng c a nó. (xem hìnhầ ư ậ ợ ầ ả ạ ầ ủ 1) H1 : Tính toán “đám mây” di trú tài nguyên trên Internet Nh ng t i sao b n l i s n sàng t b quy n ki m soát tài nguyên c a mình và choư ạ ạ ạ ẵ ừ ỏ ề ể ủ phép chúng t n t i o trong “đám mây” ? Có nhi u lý do nh ng theo tôi quan tr ng nh tồ ạ ả ề ư ọ ấ là tính d m r ng và chi phí.ễ ở ộ u đi m m i c a cloud computing là kh năng o hóa và chia s tài nguyên gi a cácƯ ể ớ ủ ả ả ẻ ữ ng d ng. Hình 2 cho th y m t ví d . ứ ụ ấ ộ ụ H2 : o hóa và s d ng tài nguyênẢ ử ụ [/b] đây 3 n n t ng đ c l p t n t i cho các ng d ng khác nhau , m i ng d ngỞ ề ả ộ ậ ồ ạ ứ ụ ỗ ứ ụ ch y trên server c a nó. Trong “đám mây”, server có th đ c chia s (đ c o hóa)ạ ủ ể ượ ẻ ượ ả gi a các h đi u hành và các ng d ng đ s d ng server t t h n. Càng ít server thìữ ệ ề ứ ụ ể ử ụ ố ơ càng c n ít không gian (gi m vùng bao ph c a các data center) và càng ít năng l ngầ ả ủ ủ ượ làm mát (gi m tiêu hao nhiên li u).ả ệ Nh ng v n có các tr giá và cloud computing có nh c đi m c a nó (s nói đ n sau)ư ẫ ả ượ ể ủ ẽ ế Bên trong cloud computing Bên trong “đám mây” không ch có m t d ch v mà là m t t p các d ch v . Các t ngỉ ộ ị ụ ộ ậ ị ụ ầ đ nh nghĩa m c d ch v đ c cung c pị ứ ị ụ ượ ấ H3 : Các t ng c a tính toán “đám mây”ầ ủ T ng th p nh t là H t ng (H t ng nh m t d ch v - IaaS). IaaS là vi c cho thuêầ ấ ấ ạ ầ ạ ầ ư ộ ị ụ ệ h t ng nh m t d ch v bao g m các máy tính o hóa và băng thông dành riêng cho l uạ ầ ư ộ ị ụ ồ ả ư tr và truy c p Internet. V c b n, đó là kh năng cho thuê máy tính hay data center v iữ ậ ề ơ ả ả ớ ràng bu c v QoS sao cho ng i dùng có kh năng ch y ph n m m hay h đi u hànhộ ề ườ ả ạ ầ ề ệ ề bào đó tùy ý. Lên m c ti p theo là N n t ng (N n t ng n h m t d ch v - PaaS). PaaS gi ng nhứ ế ề ả ề ả ư ộ ị ụ ố ư IaaS nh ng g m c h đi u hành và các d ch v c n thi t cho m t ng d ng chuyênư ồ ả ệ ề ị ụ ầ ế ộ ứ ụ bi t. Ví d PaaS ngoài server và l u tr o hóaệ ụ ư ữ ả cung h đi u hành đ c bi t và t p cácệ ề ặ ệ ậ ng d ng (nh m t máy o) cùng các d ch v c n thi t nh MySQL…Nói cách khác,ứ ụ ư ộ ả ị ụ ầ ế ư PaaS là IaaS v i m t software stack dành cho m t ng d ng.ớ ộ ộ ứ ụ Trên cùng c a hình 3 là d ch v đ n gi n nh t đ c cung c p : ng d ng. T ng nàyủ ị ụ ơ ả ấ ượ ấ ứ ụ ầ đ c g i là Ph n m m nh m t d ch v (SaaS) và nó là mô hình tri n khai ph n m mượ ọ ầ ề ư ộ ị ụ ể ầ ề t m t h t p trung sang ch y trên máy tính c c b . D i d ng d ch v “đo” đ c,ừ ộ ệ ậ ạ ụ ộ ướ ạ ị ụ ượ SaaS cho phép b n thuê m t ng d ng và ch tr ti n cho th i gian s d ng.ạ ộ ứ ụ ỉ ả ề ờ ử ụ Trên đây là cái nhìn s l c v cloud computing , b qua m t s khía c nh nh là Dơ ượ ề ỏ ộ ố ạ ư ữ li u nh m t d ch v (DaaS ) cho phép ng i dùng tr ti n cho dung l ng l u tr vàệ ư ộ ị ụ ườ ả ề ượ ư ữ băng thông truy c p. Các d ch v “đám mây” cũng đang n i lên, chúng v a có c chậ ị ụ ố ừ ơ ế n i đ t ng k t (interoperability) v a cung c p các API cho bên ngoài.ộ ể ươ ế ừ ấ Toàn c nh v cloud computingả ề Trong m y tháng g n đây, có s bùng n v đ u t cho cloud computing và các hấ ầ ự ổ ề ầ ư ạ t ng liên quan. Các đ u t l n cho th y nhu c u o hóa các tài nguyên trong “đám mây”.ầ ầ ư ớ ấ ầ ả Năm v a qua ch ng ki n nhi u d ch v m i (nh hình 4)ừ ứ ế ề ị ụ ớ ư Vai trò Linux và mã ngu n m trong “đám mây”ồ ở Software-as-a-Service SaaS là kh năng ti p c n ph n m m trên Intenet nh m t d ch v . Cách ti p c nả ế ậ ầ ề ư ộ ị ụ ế ậ tr c đây c a SaaS là ASP (Nhà cung c p d ch v ng d ng). Các ASP cung c p cácướ ủ ấ ị ụ ứ ụ ấ thuê bao đ i v i ph n m m đ c l u tr và phân ph i trên m ng. ASP tính phí theoố ớ ầ ề ượ ư ữ ố ạ theo th i gian s d ng. Theo cách này ,b n không ph i mua ph n m m mà ch thuê nóờ ử ụ ạ ả ầ ề ỉ khi c n.ầ Góc đ khác v SaaS là vi c s d ng ph n m m ch y t xa trên m ng. Ph n m mộ ề ệ ử ụ ầ ề ạ ừ ạ ầ ề này có th d ng Web services (các d ch v dùng b i ng d ng c c b ) hay các ngể ở ạ ị ụ ở ứ ụ ụ ộ ứ d ng t xa mà có th theo dõi k t qu thông qua trình duy t web. M t ví d đó làụ ừ ể ế ả ệ ộ ụ Google Apps. Còn vi c ch y ng d ng t xa th ng d a trên các application server (làệ ạ ứ ụ ừ ườ ự m t software framework cung c p các API – nh qu n lý giao d ch hay truy c p CSDL).ộ ấ ư ả ị ậ L y ví d nh Red Hat JBoss Application Server, Apache Geronimo, và IBM®ấ ụ ư WebSphere® Application Server. Platform-as-a-Service PaaS có th mô t nh là m t n n t ng đ c o hóa toàn b g m m t hay nhi uể ả ư ộ ề ả ượ ả ộ ồ ộ ề Server ( o hóa trên m t t p các server v t lý), các h đi u hành và các ng d ng chuyênả ộ ậ ậ ệ ề ứ ụ bi t (nh là Apache và MySQL cho ng d ng web). Trong m t vài tr ng h p, các n nệ ư ứ ụ ộ ườ ợ ề t ng này có th đ c đ nh nghĩa và ch n tr c. Trong tr ng h p còn l i, b n có thả ể ượ ị ọ ướ ườ ợ ạ ạ ể cung c p file hình nh máy o (VM image) ch a t t c các ng d ng theo yêu c uấ ả ả ứ ấ ả ứ ụ ầ ng i dùng.ườ M t ví d thú v c a PaaS là Google App Engine. App Engine là m t d ch v cho phépộ ụ ị ủ ộ ị ụ b n tri n khai ng d ng web c a mình trên ki n trúc r t kh m c a Google. Appạ ể ứ ụ ủ ế ấ ả ở ủ Engine cung c p m t sandbox cho ng d ng Python c a b n (các ngôn ng khác s hấ ộ ứ ụ ủ ạ ữ ẽ ỗ tr sau) nh là các API Python đ l u tr và qu n lý d li u (dùng Google Queryợ ư ể ư ữ ả ữ ệ Language) bên c nh các h tr v xác th c ng i dùng, thao tác hình nh và g i email.ạ ỗ ợ ề ự ườ ả ử M t ví d khác v PaaS là 10gen, nó v a là m t n n t ng “đám mây” v a là m t góiộ ụ ề ừ ộ ề ả ừ ộ ph n m m ngu n m cho phép b n download đ t o ra “đám mây” c a riêng mình.ầ ề ồ ở ạ ể ạ ủ Software stack c a nó cũng gi ng nh App Engine nh ng cũng có vài đi m khác : h trủ ố ư ư ể ỗ ợ các ngôn ng Java,Python, Ruby. N n t ng c a nó cũng dùng khái ni m sandbox đ côữ ề ả ủ ệ ể l p các ng d ng và cung c p m t môi tr ng đáng tin c y trên nhi u máy tính (sậ ứ ụ ấ ộ ườ ậ ề ử d ng Linux).ụ Infrastructure-as-a-Service IaaS là vi c phân ph i h t ng máy tính nh m t d ch v . T ng này khác v i PaaS ệ ố ạ ầ ư ộ ị ụ ầ ớ ở ch : ph n c ng o đ c cung c p không kèm theo software stack. Thay vào đó, ng iỗ ầ ứ ả ượ ấ ườ dùng t đ a ra VM image c a mình. IaaS là d ng “thô” nh t c a “computing as aự ư ủ ạ ấ ủ service”. Nhà cung c p IaaS th ng m i n i ti ng nh t là Amazon Elastic Computeấ ươ ạ ố ế ấ Cloud (EC2). Trong EC2 , b n có th ch đ nh máy o (VM) đ c bi t c a mình và tri nạ ể ỉ ị ả ặ ệ ủ ể khai các ng d ng trên đó hay là cung c p VM iamge c a b n và ch y nó trên server.ứ ụ ấ ủ ạ ạ B n ch ph i tr ti n cho th i gian tính toán, dung l ng l u tr và băng thông m ng.ạ ỉ ả ả ề ờ ượ ư ữ ạ D án Eucalyptus (Elastic Utility Computing Architecture for Linking Your Programsự To Useful Systems) là m t b n th c thi mã ngu n m c a EC2, trong đó t ng thích vộ ả ự ồ ở ủ ươ ề giao di n v i d ch v th ng m i. Gi ng nh EC2, Eucalyptus d a trên Linux v i Xenệ ớ ị ụ ươ ạ ố ư ự ớ dùng cho o hóa h đi u hành. Eucalyptus đ c phát tri n t i đ i h c California choả ệ ề ượ ể ạ ạ ọ m c đích nghiên c u cloud computing. B n có th download v hay th nghi m nóụ ứ ạ ể ề ử ệ thông qua Eucalyptus Public Cloud (v i m t s h n ch ). ớ ộ ố ạ ế M t th c thi khác theo ki u c a EC2 là n n t ng tính toán đám mây Enomalism (cũngộ ự ể ủ ề ả là ngu n m ).ồ ở Enomalism d a trên Linux v i h tr cho c Xen và Kernel Virtualự ớ ỗ ợ ả Machine (KVM). Nh ng không gi ng các gi i pháp IaaS thu n túy khác, Enomalismư ố ả ầ cung c p m t software stackấ ộ d a trên TurboGears Web application framework và Python.ự Các phát tri n “đám mây” khác ể Nói thêm m t vài gói ngu n m d a trên Linux khác. Hadoop là m t Java™ softwareộ ồ ở ự ộ framework ngu n m t ng t nh PaaS nh ng t p trung vào thao tác các t p d li uồ ở ươ ự ư ư ậ ậ ữ ệ l n trên các serverớ n i m ng v i nhau (l y ý t ng t Google MapReduce cho phép xố ạ ớ ấ ưở ừ ử lý song song trên các t p d li u l n). Nh th thì nó s tìm đ c các ng d ng trongậ ữ ệ ớ ư ế ẽ ượ ứ ụ tìm ki m và qu ng cáo. Hadoop cũng cung c p các d án con ph ng theo các ng d ngế ả ấ ự ỏ ứ ụ c a Google. Ví d Hbase đ a ra ch c năng gi ng nh CSDL Google BigTable vàủ ụ ư ứ ố ư Hadoop Distributed File System (HDFS) đ a ra ch c năng gi ng nh Google File Systemư ứ ố ư (GFS) Các v n đ và th tháchấ ề ử Các v n đ c a tính toán “đám mây” tr nên rõ ràng khi mà tính riêng t và b o m t làấ ề ủ ở ư ả ậ 2 trong s nh ng v n đ quan tr ng nh t. Tính riêng t có th d a và mã hóa nh ngố ữ ấ ề ọ ấ ư ể ự ư v n c n đ c chú ýẫ ầ ượ khi ch n d ch v tính toán đám mây. Ngay c e-Commerce cũng bọ ị ụ ả ị hoài nghi khi Web b t đ u phát tri n. Trên quy mô toàn c u, hàng nghìn tắ ầ ể ầ ỉ đôla c a cácủ giao d ch th ng m i đi n t di n ra h ng năm vì th tính toán “đám mây” h ng l iị ươ ạ ệ ử ễ ằ ế ưở ợ t m i công ngh đã có (nh SSL) đ khi n cho Web ngày nay tr nên an toàn.ừ ọ ệ ư ể ế ở . Trong cloud computing ế ở ượ ấ ư ế Linux đóng m t vai trò to l n.ộ ớ Ngày nay b n khó có th đ c m t Website k thu t nào mà l i không nh c đ n cloud ể ọ ộ ỹ ậ ạ ắ ế computing. Cloud computing. o hóa (virtualization) khi n cloud computing tr nên d m r ng và hi u quư ả ế ở ễ ở ộ ệ ả h n nhi u thông qua vi c chia s các h v t lý v i s o hóa server. Cloud computing ề ệ ẻ ệ ậ ớ ự ả cho. đã có s k t h p cùng nhauố ệ ướ ề ệ ệ ẽ ế ợ đ bi n cloud computing thành hi n th c.ể ế ệ ự M t trong nh ng xý t ng quan tr ng nh t c a cloud computing là kh năng m r ngộ ư ưở ọ ấ ủ ả ở ộ và