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

[8 בפברואר 2011] [4 תגובות]

הנה דרך מצויינת לשפר את מהירות טעינת האתר שלכם. מה שנעשה הוא שימוש בשרתים של גוגל כשירות 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.

זה הכל!

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

אם אהבת את הפוסט, אני שולח מדי פעם למייל עוד פוסטים מעניינים שלא תמיד מגיעים להתפרסם באתר. אתה מוזמן להצטרף לרשימה:
(אני שונא ספאם. אני מבטיח לעולם לא לשלוח משהו לא מעניין)

4 תגובות

  1. יקיר. ס. | 2/10/2011 5:59:52 AM

    מאמר מקסים !

    פרסמתי אותו בכמה מקומות, מקווה שיעלו הצפיה כאן. :)

     

    לשאלתי - האם הקבצים בפועל נמצאים על השרת של גוגל או שתאכלס זה רק LINK אליי?

    האם זה אכן יכול לפתור גם בעית תעבורה ואכסון לקבצים סטטים?

    תודה רבה !

  2. טל | 2/10/2011 10:28:59 PM

    תודה רבה יקיר!

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

    מבחינת תעבורה, גוגל מאפשרים תעבורה יומית לקבצים של עד 1GB ללא תשלום. לאחר מכן, הן ידחו בקשות לקבצים.

    לאתרים קטנים-בינוניים התעבורה החינמית היא מעל ומעבר למה שבאמת צריך.

  3. חזקי | 2/12/2011 11:50:34 AM

    האם גוגל מאחסנים קבצים גם בארץ הקודש?

     אם כן, אפשר להאיץ אתרים המאוחסנים בחו"ל ומיועדים לקהל כאן.
    אחרת, באתרים כאלו התועלת לא גדולה כ"כ. 

  4. דנה | 7/20/2011 12:02:20 AM

    היי,

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

     

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

     

    דנה

    http://www.limudi.co.il/לימודי-מדעי-החברה/לימודי-תקשורת/ 

התגובות נעולות