להאיץ את האתר בעזרת Google App Engine / מדריך

הנה דרך מצויינת לשפר את מהירות טעינת האתר שלכם. שימוש בשרתים של גוגל כשירות CDN

צילום: יח"צ, עיבוד תמונה

שירות האירוח של האתר שלכם נמצא במקום מסוים בעולם, נניח בישראל. זה טוב לישראלים, אך מעט פחות טוב לגולשים מחו”ל.

נניח וג’ון האמריקאי מבקש לראות עמוד מהאתר שלכם, הבקשה שלו צריכה לבצע מסע “עליה” לישראל ולאחר מכן המידע מהאתר שלכם צריך לעזוב את הארץ ולהגיע עד ארה”ב, אל מחשבו של ג’ון. זאת דרך די ארוכה שלוקחת זמן.

זה היה יכול להיות נחמד אם היה אפשר לפתוח “סניפים” לאתר שלכם ברחבי העולם, לא? כך גולשים ישראלים היו מקבלים את המידע מה-“סניף” הישראלי של האתר שלכם, והאמריקאים מה-“סניף” האמריקאי שלכם. למעשה הכי טוב יהיה לפתוח סניפים במקומות חשובים ברחבי העולם.

זה בדיוק מה שנעשה! נפתח סניפים של האתר שלנו בכל העולם.

מהו CDN?

הרעיון שתיארתי למעלה הוא פחות או יותר הרעיון של CDN.

CDN הם ראשי תיבות של Content Delivery Network. זוהי רשת מחשבים שמכילה העתקים של מידע מסוים בנקודות שונות ברשת. צורך המידע ניגש להעתקים של המידע המקורי שהכי קרובים אליו.

אנחנו נשתמש בשירותים החינמיים של גוגל כ-CDN.

האם השירות החינמי של גוגל באמת מהיר כמו CDN בתשלום?

לא. השימוש בשירותים של גוגל לא יבצעו עבודה טובה כמו חברות המספקות פיתרונות CDN. אבל עם גוגל זה בחינם ועדיין תקבלו האצה משמעותית לאתר שלכם.

מהו Google App Engine?

ה-Google App Engine שמעתה נקרא לו רק GAE היא פלטפורמה להרצת אפליקציות אינטרנט על התשתית של גוגל.

נוכל לנצל פיצ’ר אחד של התשתית הזאת על מנת להפיץ העתקים של האתר שלנו ברחבי העולם. למעשה לא נפיץ העתקים של כל האתר שלנו ברחבי העולם, אלא רק של הנתונים הסטאטים שלנו:

  • תמונות
  • סקריפטים של Javascript
  • דפי HTML סטאטים
  • קבצי CSS
  • כל תוכן סטאטי אחר

מוכנים להתחיל?

מדריך לפעולה

המדריך אינו מסובך אך דורש ידע בסיסי בתפעול המחשב, ידע בסיסי ב-HTML וכדומה. תקראו את כל השלבים ותחליטו אם אתם “בנויים לזה”.

1. התקנת Python

Python היא שפת תיכנות ש-GAE משתמש בה. הורידו את Python מהאתר הרשמי והתקינו.

2. התקנת Google App Engine SDK

הורידו את חבילת ההתקנה מהאתר הרשמי והתקינו אותה. לאחר ההתקנה תתווסף תוכנה בשם Google App Engine Launcher בה נשתמש בהמשך בשלב 5.

3. הרשמה ל-Google App Engine

היכנסו לעמוד ההרשמה והירשמו לשירות.

4. יצירת אפליקציה

אחרי ההרשמה וכניסה לשירות, כעת עלינו ליצור אפליקציה. בחרו בכפתור Create Application ויפתח עמוד חדש הנראה כך:

Create an application

בשדה ה-Application Identifier בחרו שם ייחודי לאפליקציה שלכם. נסו כל מיני שמות עד שתמצאו אחד שאינו בשימוש. לשם הדוגמה נבחר בשם israel עבור האפליקציה שלנו.

בשדה ה-Application Title כיתבו שם כלשהו, הוא איננו חייב להיות יחודי.

כעת לחצו על כפתור ה-Create Application בתחתית העמוד.

אם זאת האפליקציה הראשונה שאתם יוצרים תתבקשו לספק את מספר המכשיר הנייד שלכם על מנת לודא שאתם אכן בעלי החשבון. גוגל ישלחו מספר אישור לנייד זה (תוך שניות) ויבקשו אותו ממכם כעת.

5. יצירת האפליקציה על המחשב שלנו

פיתחו את התוכנה Google App Engine Launcher שהתקנו בשלב 2. היא נראית כך:

Google App Engine Launcher

בחרו ב-File מהתפריט ואחר כך ב-Create New Application. יפתח חלון חדש:

New Application

בשדה ה-Application name הכניסו את השם שבחרתם בשלב 4. במקרה של הדוגמה שלנו נכתוב israel.

כמו כן, בחרו סיפרייה על המחשב שלכם בו ישמרו קבצים של האפליקציה. לשם הדוגמה נבחר בסיפרייה c:\israel

6. הכנת האפליקציה לפעולה

אחרי יצירת האפליקציה, תמצאו בסיפריה של האפליקציה את הקובץ app.yaml – ערכו אותו בעזרת עורך טקסט כלשהו כדי שהוא יראה כך:


application: israel
version: 1
runtime: python
api_version: 1
handlers:
- url: /static
static_dir: static

שימו לב לשנות את השם israel בשורה הראשונה לשם המדוייק שבחרתם בשלב 2. שימרו את השינויים.

כעת כנסו לסיפרייה c:\israel וצרו בה תת-סיפריה בשם static.

העתיקו לסיפרייה זו (c:\israel\static) את כל הקבצים שאתם רוצים להפיץ ב-“סניפים” השונים בעולם.

לשם הדוגמה נניח והעתקתי לשם קובץ אחד בשם mypicture.png

7. שליחת האפליקציה לגוגל

בתוכנת ה-Google App Engine Launcher, בחרו באופציה של Deploy משורת הפעולות. בשלב זה יפתחו מספר חלונות ברקע ויבצעו פעולות, חכו בין דקה למספר דקות עד שתקבלו אישור כי הכל הצליח ותוכלו לסגור את החלונות.

8. בדיקה שהכל עובד ושינוי האתר שלנו

כעת אם נגלוש לכתובת http://israel.appspot.com/static/mypicture.png נקבל את התמונה ששלחנו היישר מהשרתים של גוגל.

עכשיו כדי להאיץ את האתר שלנו, בכל מקום שמקשר לתמונה שלנו, כעת נפנה אותה לכתובת http://israel.appspot.com/static/mypicture.png

כמובן שזה נכון עבור כל תמונה\מסמך\סקריפט שנשלח לגוגל. תוכלו תמיד לעדכן את גוגל על ידי העתקת קבצים חדשים לסיפריה c:\israel\static וביצוע Deploy כמו בשלב 7.

זה הכל!

אני מקווה שהכל עובד גם לכם! אם לא, אתם מוזמנים להשאיר תגובה ואני אשתדל לעזור.

הפוסט פורסם לראשונה בבלוג קטע קוד

טל ברזניצקי

בעל הבלוג KetaCode, מתכנת מגיל 6 ועובד היום בחברת הייטק בפיתוח תוכנה.

הגב

5 תגובות על "להאיץ את האתר בעזרת Google App Engine / מדריך"

avatar
Photo and Image Files
 
 
 

* היי, אנחנו אוהבים תגובות!
תיקונים, תגובות קוטלות וכמובן תגובות מפרגנות - בכיף.
חופש הביטוי הוא ערך עליון, אבל לא נוכל להשלים עם תגובות שכוללות הסתה, הוצאת דיבה, תגובות שכוללות מידע המפר את תנאי השימוש של Geektime, תגובות שחורגות מהטעם הטוב ותגובות שהן בניגוד לדין. תגובות כאלו יימחקו מייד.

סידור לפי:   חדש | ישן | הכי מדורגים
רפאל
Guest

מאמר יפה.

האם הם תומכים ב SSL ?

טל
Guest

כן, התיעוד מסביר ששימוש ב-HTTPS אפשרי:
(https://code.google.com/appengine/kb/general.html#https)

VirtualFlavius
Guest

מאמר חשוב ומצוין.

לא הצלחתי לגשת ישירות לקבצים מפיירפוקס מסיבה כלשהי, רק מתוך קובץ HTML. באקספלורר כן.

בברכה,
VirtualFlavius

שי
Guest

בהחלט מאמר יפה, יש לי 2 שאלות…
כאשר האתר מאוכסן בחו”ל והאתר כן מיועד לגלישה מישראל.
מה יהיה יותר מהיר:
1. שימוש בענן של אמזון לתוכן(שהקרוב ביותר נמצא באירופה) או שימוש בשירות של גוגל?
2. האם בגוגל אפשר להגדיר META לקבצים(תמונות) כמו CACHE וETAG?

טל
Guest

לצערי אני לא יודע את התשובות לשתי אלו.

אם אתה מתעניין במבחני ביצועים שנעשו ל-CDN שונים לעומת GAE, אתה מוזמן לקרוא את התשובות המצוינות שניתנו לשאלה הבאה:
http://serverfault.com/questions/133157/using-googles-app-engine-as-cdn-for-static-files

wpDiscuz

תגיות לכתבה: