20110821 Web Development on Cloud Platform - PIXNET

2,569 views

Published on

Published in: Technology, Business
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,569
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
56
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

20110821 Web Development on Cloud Platform - PIXNET

  1. 1. WEB DEVELOPMENT ON CLOUD PLATFORM Jui-Nan Lin @COSCUP 2011
  2. 2. About this talk & me <ul><li>URL of this Slide: </li></ul><ul><ul><li>http://0rz.tw/b8bfL </li></ul></ul><ul><li>QRCode: </li></ul><ul><li>About me: </li></ul><ul><ul><li>Jui-Nan Lin (jnlin) </li></ul></ul><ul><ul><li>Developer @ www.pixnet.net </li></ul></ul><ul><ul><li>Twitter: @jnlin </li></ul></ul><ul><ul><li>Google Plus: http://jnlin.org/+ </li></ul></ul><ul><ul><li>Github: jnlin </li></ul></ul>
  3. 3. 很久很久以前… <ul><li>其實也沒那麼久 </li></ul><ul><li>網站 = </li></ul><ul><ul><li>Web Server & </li></ul></ul><ul><ul><li>Database Server & </li></ul></ul><ul><ul><li>File Server </li></ul></ul>
  4. 4. 老闆忽然要一份報表 <ul><li>SELECT * FROM `UserData` WHERE … </li></ul>
  5. 5. 有新的服務要開發 <ul><li>vi /usr/local/etc/apache/httpd.conf </li></ul><ul><ul><li>增加 Virtual Host </li></ul></ul>
  6. 6. 有資料要處理、計算、轉檔… <ul><li>找台辦公室閒置 PC 做? </li></ul><ul><li>一台 PC 跑十天 </li></ul>
  7. 7. 當網站長大… <ul><li>使用者 UP! </li></ul><ul><li>訪客 UP! </li></ul><ul><li>資料 UP! </li></ul><ul><li>所以… </li></ul><ul><li>增加 Web Server </li></ul><ul><ul><li>增加 Load Balancer </li></ul></ul><ul><li>增加 Database Server </li></ul>
  8. 8. 所以… <ul><li>報表跑很久 </li></ul><ul><ul><li>老闆怒氣值 ++ </li></ul></ul><ul><li>資料處理計算時間很久 </li></ul><ul><ul><li>工程師疲勞 ++ </li></ul></ul><ul><ul><li>老闆怒氣值 ++ </li></ul></ul><ul><li>新的服務要考慮 HA 與可擴充性 </li></ul><ul><ul><li>不能新服務倒站導致舊服務一起倒 </li></ul></ul><ul><ul><li>成本 ++ </li></ul></ul><ul><ul><ul><li>老闆怒氣值 ++ </li></ul></ul></ul>
  9. 9. 總是要解決… <ul><li>Cloud Computing </li></ul><ul><ul><li>On demand Self-Service – 有需求時自助服務 </li></ul></ul><ul><ul><li>Broad network access – 廣泛的網路連接 </li></ul></ul><ul><ul><li>Resource pooling – 資源共享池 </li></ul></ul><ul><ul><li>Rapid elasticity – 快速與彈性 </li></ul></ul><ul><ul><li>Measured Service – 被量測的服務 </li></ul></ul><ul><ul><ul><li>包括收費方式與擴展 </li></ul></ul></ul><ul><ul><ul><li>像電力、自來水一樣 </li></ul></ul></ul>
  10. 10. 總是要解決… <ul><li>On demand Self-Service </li></ul><ul><ul><li>減少採購硬體的時間 </li></ul></ul><ul><ul><li>減少人力成本(外包給專業的!) </li></ul></ul><ul><li>Rapid elasticity </li></ul><ul><ul><li>可程式化,使用 API 呼叫即可進行擴展 </li></ul></ul><ul><li>Measured Service </li></ul><ul><ul><li>以真實使用量計費 </li></ul></ul><ul><ul><ul><li>避免閒置資源浪費 </li></ul></ul></ul>
  11. 11. 舉個例子… <ul><li>痞客邦 PIXNET 新版相簿 </li></ul>
  12. 12. 新的相簿功能 <ul><li>100GB Storage </li></ul><ul><li>Geolocation of photography </li></ul><ul><li>文字標籤 </li></ul><ul><li>人臉標記 face tagging </li></ul><ul><li>共同相簿集 </li></ul><ul><li>Please try it!! </li></ul>
  13. 13. 人臉標記 <ul><li>先把人臉找到並且框出來,方便使用者標記 </li></ul><ul><li>Open Source Solution </li></ul><ul><ul><li>OpenCV </li></ul></ul><ul><ul><li>Python binding </li></ul></ul><ul><li>在 Amazon Web Services 上實做成一個 RESTful API (Private) </li></ul>
  14. 14. AWS Infrastructure Data Center in Taiwan Storage (Images, Video, …) RESTful API EC2 insta n ce EC2 insta n ce EC2 insta n ce FaceDetection DB Server Web Server Web Server Users Job Worker Amazon Web Services
  15. 15. 使用狀況 <ul><li>20 天處理完約 187M 張照片 </li></ul><ul><li>最多使用 50 個 Instance </li></ul>
  16. 16. 其他的使用情況… <ul><li>新的 Service </li></ul><ul><li>API Service (Private & Public) </li></ul><ul><li>Data Mining & IR </li></ul><ul><ul><li>有一些需要 Map-Reduce </li></ul></ul><ul><li>Release Build </li></ul><ul><li>Testing, Prototyping </li></ul>
  17. 17. 需要注意的事項 <ul><li>Cloud Computing ≠ High Availability </li></ul><ul><ul><li>google://AWS Judgment Day </li></ul></ul><ul><ul><li>根據雲端的特性,設計適合的架構 </li></ul></ul><ul><ul><li>以所有的 Server 與網路都會出包為前提 </li></ul></ul><ul><li>Cloud Computing ≠ Virtualization </li></ul>
  18. 18. 實際案例? <ul><li>Amazon Web Services (AWS) </li></ul><ul><li>Rackspace </li></ul><ul><li>Linode </li></ul>
  19. 19. Amazon Web Services (AWS) <ul><li>http://aws.amazon.com/ </li></ul><ul><li>From July 2006 </li></ul><ul><li>功能最多也最完整 </li></ul><ul><li>全世界都有機房 </li></ul><ul><ul><li>美國、歐洲、新加坡、日本 </li></ul></ul><ul><li>價錢… </li></ul><ul><ul><li>Reserved & Spot Instance </li></ul></ul><ul><ul><li>以小時計費,流量費用另計 </li></ul></ul><ul><li>有非官方的 iOS App </li></ul>
  20. 20. Rackspace <ul><li>http://www.rackspace.com/cloud / </li></ul><ul><li>GitHub 目前使用 </li></ul><ul><li>品質… </li></ul><ul><li>價格 </li></ul><ul><ul><li>以小時計費或月租費,流量費用另計 </li></ul></ul>
  21. 21. Linode <ul><li>http://www.linode.com/ </li></ul><ul><li>其實是 VPS </li></ul><ul><ul><li>有提供 API - http://www.linode.com/api </li></ul></ul><ul><ul><li>iOS App - http://www.linode.com/iphone/ </li></ul></ul><ul><li>價錢 </li></ul><ul><ul><li>以日計費,內含流量費用 </li></ul></ul><ul><ul><ul><li>預收一個月,中途取消會退還到帳戶內 </li></ul></ul></ul>
  22. 22. Q&A <ul><li>Thank you! </li></ul>

×