Enviar búsqueda
Cargar
均一Gae甘苦談
•
Descargar como PPTX, PDF
•
18 recomendaciones
•
2,352 vistas
蘇 倚恩
Seguir
Sharing my opinion on GAE as a PaaS.
Leer menos
Leer más
Software
Denunciar
Compartir
Denunciar
Compartir
1 de 37
Descargar ahora
Recomendados
What is Google App Engine
What is Google App Engine
Chris Schalk
AWS Solutions Architect 準備心得
AWS Solutions Architect 準備心得
Cliff Chao-kuan Lu
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
Recomendados
What is Google App Engine
What is Google App Engine
Chris Schalk
AWS Solutions Architect 準備心得
AWS Solutions Architect 準備心得
Cliff Chao-kuan Lu
2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
Skeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
ChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago
Más contenido relacionado
Destacado
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
Introduction to Data Science
Introduction to Data Science
Christy Abraham Joy
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
Vit Horky
The six step guide to practical project management
The six step guide to practical project management
MindGenius
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Applitools
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
GetSmarter
ChatGPT webinar slides
ChatGPT webinar slides
Alireza Esmikhani
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Project for Public Spaces & National Center for Biking and Walking
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
DevGAMM Conference
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
Erica Santiago
Destacado
(20)
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Getting into the tech field. what next
Getting into the tech field. what next
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
How to have difficult conversations
How to have difficult conversations
Introduction to Data Science
Introduction to Data Science
Time Management & Productivity - Best Practices
Time Management & Productivity - Best Practices
The six step guide to practical project management
The six step guide to practical project management
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
ChatGPT webinar slides
ChatGPT webinar slides
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
均一Gae甘苦談
1.
均一的GAE甘苦談 如果當初我有選擇,我”可能”不會選GAE 只是可能而已啦~
2.
均一教育平台,董事長:方新舟 達成了許多工程師(應該是許多年輕人)的夢想:創業 —> 把公司賣 給聯發科
—> 退休... 講到均一教育平台...
3.
–by ??? “如果就這麼退休的話, 故事就結束了...”
4.
• 方大哥希望可以真的為台灣做一些事情,他選擇了 一個相當困難的領域,就是教育。 • 他創立了誠致教育基金會,屬於非營利組織,截至 今年為止,整個基金會都是靠方大哥的
funding在 運作(包含在下的薪水)。 • 他在2012年跑去美國找Khan academy,跟他們拿 了source code並且在同年10月上線。 • ——————發生很多事情的分隔線————— • 他們找來了均一教育平台的第一位工程師:就是我 。
5.
• 在均一當軟體工程師之前,研究所是念光電,前一 份工作的Garmin的硬體工程師,只在CS實驗室寫 了~5 month的c++
(而且還是純演算法的code) • 來均一的第一個禮拜,我就把test 伺服器的資料庫 搞爆了。(而且還跟方大哥講這是個意外,請讓我 直接把code上到live伺服器) • —————發生很多事情的分隔線——————- • 目前均一教育平台有15位工作伙伴,7位軟體工程 師。得Joe了。
6.
1. k12的華文教育平台 —
(k12其實是kindergarten to 高三) 2. 目前註冊人數~18萬人,七天的活躍使用者~4萬多人...一 個月活躍使用者15萬人。 均一教育平台:
7.
Google App Engine (GAE) 架設網路服務的平台(PaaS),
對比於Microsoft的Azure, Amazon的AWS, Heroku…
8.
看看用GAE的大廠怎麼說...
9.
Khan academy 如果不是GAE,我們會花很多時間在處理server setup還有 routers上面,我們可以專注在產品上的原因是因為GAE!!
10.
Rovio (Angry Bird) 一兩個工程師就可以很快地launch一個遊戲,因為google
管 理了整個server,我們幾乎不用任何的maintainance!!!
11.
Feedly 因為GAE在後端的架構設計,我們唯一要擔心的事情就是上 Code!!
12.
Best Buy 在GAE上面開發app,跟全部自己來比較的話,只需要花費 大約1/10 ~
1/4的資源以及1/4的時間!!
13.
GAE最大的好處: 它在server, logging, database,
transaction, scalability … 許多地方都幫你寫好設計好了。yay~~
14.
AWS, GAE架設網站需求比較表 AWS : •
先在AWS上做一堆選擇跟 設定... • webapp2, flask, django… • nginx • uWSGI, gunicorn • superviser… • 喔靠,還有database GAE: • 在GAE上面申請一個 app名稱 • webapp2, flask, django… • 沒了,上完code就可 以跑了。
15.
相對完整的GUI來幫忙 管理網站: 1. Logging/404, 500 Logging 2.
簡單的memory, cache管理 3. Database的管理( 可以針對特定的值 做修改) 4. Database backup 5. 直接做不同版本 code的分流,可以 做簡單的A/B test 6. transaction…. 7. 因為沒有server, scalability so ez~~
16.
GAE最大的壞處: 它在server, logging, database
…許多地方都幫你寫好設計 好了。
17.
GAE 沒有 server!!! 在GAE的開發過程中用一個sandbox把你的code包起來,你不知道你 的code真正跑在什麼樣的環境裡,所以... 1.
你不能在GAE上面安裝package!!! 2. 你可以做的是...把package下載下來,放到你的code /third_party/ 資料夾,然後使用它。 3. 這樣大幅增加package 管理、update …等等等困擾的問題。例如 當你要安裝或升級dependency高的package的時候...另外就是 code裡面多了一大多有的沒的... 小提醒:Github上pull request的時候記得把third_party跟你自己的 code分開上,不然...大家不會恨你,大家會叫你重做。
18.
GAE最大的壞處: 它在server, logging, database
…許多地方都幫你寫好設計 好了。
19.
GAE內建的Database,叫做:High Replication Datastore
(HRD), uses the Paxos algorithm to replicate data across multiple datacenters. 好像很酷!!!但是它不保證always consistent… Case 1: book1 = Book(name=‘book1’, price=100) # 創建一本書 book1.price = 200 # 帳價了 book1.put() # 存入資料庫 query_book_by_name(‘book1’) —> {name=‘book1’, price=100} WHAT???? 解法:一定要query by key key = db.Key(book1’s key) key.get() —> {name=‘book1’, price=200}
20.
真正麻煩困擾的Case 2: # 已經有book1,
book2, book3… book4.put() # query_all_the_books() —> [book1, book2, book3] where is my book4!!!????? 解法: book1.parent = book2.parent = book3.parent = ‘a’ book4.parent = ‘a’ query_all_the_books(parent=‘a’) —> [book1, book2, book3, book4] parent 一定要在entity創造的時候就建好,如果你等到book4的時候才 發現你需要...GG....
21.
我在GAE上吃過最多的苦頭— 拿取在GAE裡面的data base 這不是我自己的Data base嗎?為什麼拿到它我要那麼痛苦 ??
22.
如何獲取我自己的database資 料... • GAE本身provide的方法(Bulk Loader)...非常慢! •
20幾G我下載了一個禮拜才載完!!!
23.
如何獲取我自己的database資 料...formal way… • 即便如此:
從BigQuery Download還是有限制大小 • Table太大,請先把Table存回google cloud storage ,變成好幾個小table,再讓你download App Engine Google Cloud Storage Google BigQuery Backup to Import into Finally Download….
24.
如何獲取我自己的database資 料...not formal way •
一些Database欄位,不是GAE本身提供的資料格式, 是pickle過的Obj... • @(#!$*@#%@! Import 進 BigQuery一片空白 • 還是先把資料 Backup 到GCS,直接download下來, 然後用GAE SDK裡面的一些module來解碼。 (記得, 原本是google自創的noSQL格式,沒有人看得懂。) • 非常重要的文章:http://gbayer.com/big-data/app- engine-datastore-how-to-efficiently-export-your-data/
25.
可能Google也覺得自己這樣不 大應該... • 推出新的資料庫架構 Google
Cloud MySQL. • 雲端的mysql,真是友善多了,也可以直接接 google app engine。 一樣,針對已經架好的資料庫像均一… • 資料庫端的Code要全部重寫... • 聽說資料庫大的時候還是會爆掉...
26.
GAE另一個壞處: 它在server, logging, database
…許多地方都幫你寫好設計 好了,這並不是免費的。 一般來講,GAE還有給人一個印象,就是貴!
27.
最後一個跟GAE本身無關,但是我認為很 重大的缺點...比較少人用(尤其是台灣)。 • 當在選擇一個服務,或甚至只是一個Library的時候... • 只要你做的不是全世界唯一的冷門尖端技術。我認為生 態系很重要... •
在一個豐富的生態系,即便是很困難罕見的問題,你都 很有機會在網站上找到解答。反之,即便是一個很簡單 的問題,你可能都要花很多時間因為你必須要全部自己 來。 • 豐富生態系的服務或是Library,通常與時俱進的速度也 會特別快,反之,一個很簡單的問題可能拖很久都不會 得到改善。
28.
Andy大大的補充 • 因為Google沒有想拿GAE來賺錢,所以客服做得 很糟糕。 • 客服反應會延遲到2個禮拜。 •
一些許多人要求解決的Bug會延遲到半年...
29.
講那麼多,到底為什麼均一要選擇 GAE?
30.
因為Khan用GAE...
31.
Khan Academy為什麼選擇GAE??
32.
Khan 裡面有非常多的高手,例如說... John Resig,
creator of jQuery…
33.
他們選擇GAE一定有他們的理由,如同上述講 的,可以focus在產品本身,節省時間資源...
34.
或是因為Google每年捐給Khan Academy 100萬美金...XD
35.
如果你團隊只有少少人,而且你足 夠了解GAE(其實應該要了解整個 google cloud platform),GAE或許 是個不錯的選擇。 如果你很多東西都喜歡自己來,有 自己的想法和style,並且很討厭被 限制的感覺,我覺得GAE不適合你 。
36.
–謝謝大家~ 希望今天的分享可以幫助各位在選擇PaaS上面 做更正確的選擇。
37.
Q&A
Descargar ahora