Cloud Computing – Những điều bạn “nên” biết

cloudcomputing-FI

Bài viết này sẽ nói về “điện toán đám mây” – một thuật ngữ không thật sự là mới, nhưng chắc hẳn nhiều bạn, nhất là các bạn sinh viên vẫn muốn biết đến.

Bài thuyết trình này cũng là bài thuyết trình có số vote cao thứ nhì tại Barcamp Saigon 2013. Sau bài thuyết trình nói về Marketing Secrets for Tech Entrepreneurs của Chris Forrest Harvey

Như đã nói trong trang 2 của slide. Đối tượng chính mà bài viết muốn hướng tới là newbies. Các bạn có thể thảo luận thông qua hệ thống Disqus ở bên dưới.

Cloud Computing

Nói đến điện toán đám mây thì mình chia ra làm 3 tầng. Tầng Software, Tầng Platform, Tầng Infrastructure. Và thuật ngữ của 3 tầng này là SaaS, PaaS, IaaS.

Đã gọi là mây, tức là hầu hết mọi thứ các bạn sử dụng đều được thiết lập, cài đặt và cấu hình từ xa. Và thường phân tán ra rất nhiều nơi trên thế giới.

Mình đi theo hướng từ dưới lên, từ tầng IaaS. Tầng này nói đến cơ sở hạ tầng bên dưới nhằm phục vụ hầu hết các như cầu của doanh nghiệp, tổ chức. Nổi tiếng nhất hiện này và AWS (Amazon Web Service) được thành lập từ năm 2006 bởi tập đoàn Amazon.

Tiếp đến là tầng PaaS. Nơi mà sẽ cung cấp cho các bạn các nền tảng phần mềm, chủ yếu là hệ thống quản lý để các bạn có thể xây dựng, thiết lập, cài đặt các phần mềm của các bạn. Mình thì thường hay sử dụng Heroku, vì nó đơn giản, dễ sử dụng, nhiều add-on rất hữu ích.

Tầng SaaS. Đây là tầng mà các bạn trực tiếp sử dụng nhiều nhất. Hầu hết những gì bạn đang sử dụng như Google Drive, Dropbox, Evernote, Gmail, WordPress.com… đều là những SaaS. Chỉ có điều là cách họ kiếm tiền từ bạn có thể khác nhau mà thôi.

Tiếp đến mình xin giới thiệu các công cụ cho những bạn mới làm quen với Cloud Computing để dễ dàng tiếp cận nó hơn.

Tools

tmux: Một terminal multiplexer nổi tiếng nhất hiện nay. Đơn giản là nếu bạn muốn chia đôi một của sổ SSH khi đã đăng nhập vào server. Bạn phải đăng nhập lại vì nếu các bạn new tab cho một terminal, xem như các bạn đã thiết lập một session mới. Còn nếu sử dụng tmux thì đều đó không còn nữa. Vì tmux đã chạy trên chính server đó rồi.

fish : Một shell thú vị. Nó có thể nhắc lệnh và làm cho cái shell của bạn dễ dùng hơn vì các tính năng hightlight.

zsh : Tương tự như fish nhưng mạnh mẽ hơn và nhiều theme. Hỗ trợ tốt hiển thị thông tin branch trong một git repository

vim : Là một text editor chạy trên môi trường terminal. Rất mạnh mẽ.

keepass : Tại sao mình liệt kê nó vào đây vì nó là một ứng dụng giúp bạn nhớ password. Điểm hay của nó là database được xuất ra một file. Các bạn có thể sử dụng nó mọi nơi mà không phụ thuộc vào internet như lastpass

Ngoài ra mình còn giới thiệu trong slide về Amazon S3, Amazon EC2 và cách hoạt động của Heroku.

Và còn nhiều tools khác nữa.

Lưu ý

Những điều các bạn cần lưu ý

Khi muốn sử dụng một ngôn ngữ nào hay một hệ thống cloud nào. Các bạn cần lưu ý những điều sau.

1. Programing Language

Đây là phần rất quan trọng và cốt lõi cho một hệ thống, Nó tương tự như hệ thống cơ bắp trong cơ thể chúng ta vậy. Ứng dụng của bạn chạy nhanh hay chậm, tính ổn định của hệ thống cũng phụ thuộc rất nhiều vào đặc tính này.

Mình chia ngôn ngữ lập trình thành hai nhóm.

Nhóm cho frontend và nhóm cho backend

Backend

  • Ruby with Rails, Sinatra…
  • Python with Django…
  • Node.js with Express…
  • PHP with Slim, Yii, Codeiginter
  • Java with Playframework or Grovy
  • .NET with C# or F#

Frontend

  • HTML5/CSS3
  • SASS
  • Ruby with HAML
  • Twitter Bootstrap
  • Backbone.js… more here http://todomvc.com

2. Database

Đây là hệ thống chứa toàn bộ CSDL của ứng dụng. Có thể một ứng dụng sử dụng nhiều hệ database khác nhau tùy thuộc vào nhưu cầu và đặc điểm của từng module cần sử dụng. Nhưng nó cũng ảnh hưởng rất nhiều tới tính nhanh nhẹn, mức độ bảo mật, đáp ứng của hệ thống.

Có hai phân hệ quản trị cơ sở dữ liệu hiện nay gồm NoSQLRelations Database

NoSQL (Not only SQL)

  • Key – Value
  • Document
  • Graph
  • Big-Table

Relations Database

  • Postgres
  • MariaDb
  • MySQL

3. Protocol

Có thể đây là phần mà ít ai nghĩ tới. Nhưng với sự phát triển của công nghệ như hiện nay, khi mà những thiết bị cầm tay xuất hiện ngày càng nhiều và càng mạnh mẽ. Thì các bạn cũng nên chú ý tìm hiểu thêm về từ khóa này.

Để giao tiếp với các thiết bị thông qua Internet. Có rất nhiều cách. Nhưng cách vẫn đang được sử dụng rộng rãi và nhiều nhất là qua giao thức HTTP sử dụng RESTful

4. Logging

Khi còn là sinh viên, mình cũng thường rất hay bỏ quên điều này khi viết một ứng dụng. Nhưng nó chính là thứ giúp bạn kiểm soát tốt nhất hệ thống của bạn nhằm phát hiện lỗi, Phát hiện những lỗi logic dù có thể rất nhỏ nhưng sẽ ảnh hưởng nhiều đến ứng dụng của bạn. Các bạn có thể tự viết một module quản lý Logging cho hệ thống kết hợp với sử dụng các Logging SaaS

5. Monitoring

Sẽ nhiều người nhầm lẫn giữa Montoring và Logging. Monitoring là công việc nhằm giát sát, theo dõi hệ thống. Nó mang tính quản lý các con số và đáp ứng kịp thời để đảm bảo cho ứng dụng chạy tốt hơn. Hiện tại thì mình vẫn chỉ và chuyên dùng NewRelic.

Tổng kết

Tại sao mình đặt tựa đề là Some keyword you must know. Vì slide này mình focus vào các bạn mới làm quen với điện toán đám mây. Bằng cách xây dựng slide từ các keyword. Giúp các bạn có thể hệ thống hóa lại, và dùng các từ khóa này nhằm tìm kiếm, mở mang sự hiểu biết, kiến thức công việc cho các bạn.

 

SSS Full-stack Engineer

Love Silicon Straits and want to know more about our company culture, working environment or job vacancies?
Find out more at careers.siliconstraits.vn.

Silicon Straits
Be Challenged. Be Inspired. Be Different.




Posted by

on October 15, 2013

in , ,

Comments

Follow us for more later

or subscribe with