דילוג לתוכן הראשי

על עלויות ב SQL Azure

זהו נושא מעניין ומיוחד רק לענן בניגוד ל SQL Server רגיל שאתה משלם על חומר ורישיון, פה אתה משלם על תעבורה ועל זיכרון.

חיוב ברמת ה SQL Azure מתחלק ל2 רמות של חיוב:
1.      עלות בסיסי נתונים שנרכשים.
2.      עלות תעבורה אל בסיס הנתונים וממנו (כאשר ממנו אל ה windows azure לא מחושב).

1.      עלות בסיסי נתונים שנרכשים.
ישנן 2 סוגי שרתים שאפשר לרכוש Web addition and Business addition כאשר השוני בניהם זה גודל הדיסק שאתה רוכש  (ניתן בכל רגע נתון לשדרג את הגודל של בסיס הנתונים – אם יגיע לקצה גבול הגודל ולא תדאגו להגדיל הוא פשוט יתקעלהלן טבלת העלויות:
  • Web Edition
    • $9.99 per database up to 1GB per month
    • $49.95 per database up to 5GB per month
  • Business Edition
    • $99.99 per database up to 10GB per month
    • $199.98 per database up to 20GB per month
    • $299.97 per database up to 30GB per month
    • $399.96 per database up to 40GB per month
    • $499.95 per database up to 50GB per month
רואים ברשימה שמה שקובע זה גודל בסיס הנתונים כך שאם כמשל לקחת גירסה של 1GB הרי ברמה יומית מדובר על 0.33$ וכך זה יחושב, לפי הימים שהיו לך בחודש. אם יש לך 2 בסיס נתונים זה יחושב לפי 0.66$.
כמה בסיסי נתונים יש לך כל יום?
select time,sku,quantity   from sys.database_usage 

דוגמא לתוצאת ריצה:
2.      לחישוב זה של עלות שרת מצטרפת עלות תעבורה אל בסיס הנתונים וממנו:
נתחיל מהשאילתא הבסיסית:
SELECT *
  FROM sys.bandwidth_usage
  WHERE time >= '20110501' 
המחזירה תוצאות מדהימות אלו:
Time – עמודה זו יש שעה למשל רשום 8:00:00:000 זה מסכם מידע מ 8 עד 9 לפי שעון שרת – תלוי באיזה מרכז נמצא השרת (על מיקום ואופי חוות השרתים – זה כבר נשאיר למאיר לדבר....)
Database_name – קשה לנחש... שם בסיס הנתונים עליו התבצע איסוף הנתונים
Direction – גם כאן קשה לנחש... הערכים האפשריים Egress/Ingress – המייצגים  Output\Input כלומר data הנכנס או יוצא מבסיס הנתונים ואליו.
Class – הערכים האפשריים Internal\External . כאשר זהו מידע פנימי (Internal) הוא לא נושא בעלויות... (יללה כולם למסור מידע פנימי). מידע פנימי פירושו מידע היוצא או הנכנס מה windows azure ל SQL Azure  ולא אל שאר העולם.
Time_period – הערכים האפשריים OffPeak\Peak – ופירושו הוא מתי אירע האירוע האם בשעות העומס או לא למשל אם זה שרת שיושב בצפון ארה"ב שעות העומס הן בין 10 בבוקר ל 6 בערב
Quantity – סכום של כמות מידע שעברה ב KB

עכשיו לשוס – איך מחשבים – יום לימודים ארוך – אבל לכן אני כותב כדי להקל....
מידע Internal לא מחוייב.

מידע הזורם פנימה Ingress בזמן OffPeak גם לא מחושב – וזה נכון עד סוף יוני 2011
עלויות תלויות היכן המרכז מחשבים שאתה מתחבר אליו :

בצפון אמריקה או אירופה למשל  -  $0.10 per GB in / $0.15 per GB out
אסיה -  $0.10 per GB in / $0.20 per GB out

נריץ את זה:

select direction,
    time_period,   
    sum(
        case when sys.bandwidth_usage.direction = 'Egress'
                then (0.15 * quantity/ (1024*1024) )    
            when sys.bandwidth_usage.direction = 'Ingress'
                then (0.10 * quantity/ (1024*1024))
        end ) as "cost"
        from sys.bandwidth_usage
        where datepart(yy,time) = datepart(yy, getutcdate()) and    
        datepart(mm,time) = datepart(mm, getutcdate()) and
        class = 'external'
        group by direction, time_period
נקבל את זה:

direction  time_period  cost
---------- ------------ ---------
Egress     OffPeak      0.000006
Ingress    OffPeak      0.000000
Egress     Peak         0.000575
Ingress    Peak         0.010554

מעולה – כל המידע לפנינו
ניסכום ונוריד מה שלא משלמים   (מה לא משלים - משתנה אחת לכמה זמן למשל היה שינוי בראשון ליולי) אפשר כמובן להוסיף פילטר לפי חודש...

select sum(
    case when sys.bandwidth_usage.direction = 'Egress'
            then (0.15 * quantity/ (1024*1024) ) 
        when sys.bandwidth_usage.direction = 'Ingress'
            then (0.10 * quantity/ (1024*1024)) 
    end
    ) as "cost"
 from sys.bandwidth_usage
 where
 class = 'external' and
(direction!='Ingress' and time_period!='offpeak')

והנה עלות התעבורה....

צרפו את עלות התעבורה לעלות השרת ויש לנו עלות ה SQL Azure, יש לזכור שהתנאים והעלויות יכולים להשתנות אולם זה מה שיש כרגע.


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


תגובות

פוסטים פופולריים מהבלוג הזה

על בעיות של ניהול פיתוח לענן

על ניהול סביבת פיתוח מול הענן:   הבעיה המרכזית בניהול פיתוח לענן שייכת לתחום הבדיקות  - שום ענן מקומי ושם אימולטור אינו מדמה במאה אחוזים את מה שקורה בענן עצמו. בכל רכיבי הבדיקות, על בעיה זו ניתן להתגבר בשיטת עבודה טובה והקמת מערכת בדיקות בענן עצמו. על ניהול גרסאות מול הענן:    במידה ואתם עובדים מול לקוחות רגילים ומול לקוחות הרוצים מוצרים בענן  - מהי הדרך הטובה ביותר לנהל את הפיתוח כך שאפשר יהיה לתחזק את שתי המערכות ואת שתי סביבות הבדיקות? אפשר לומר כי מטרת מנהל הפיתוח היא להקים סביבת פיתוח אחת - אם הדבר לא אפשרי צריך למצוא את הפתרון לסינכרון 2 הסביבות. Check List -   למנהל המבולבל - מה הצוות צריך לבצע לפני העלאה לענן: על הפרוייקט להיות מקומפל בסביבת VS2010 - רצוי 64 Bits ולא 32. יש להריץ בענן מקומי (אימולטור) ולראות שהכול עובד כהלכה במידה ואתה משתמש ב Registery או ב Event Log עליך ליצור קובץ StartUp command שבעצם ירוץ בעליית ה Role וייצור את מה שצריך במחשב המיועד לך בענן. יש ליצור חבילה להעלאה - רצוי לשמור חבילה זו עם מספר ותיאור כללי. יש להעלות את החבילה ולבדוק שהכול רץ ועו

ועוד קצת על ניהול פיתוח לענן

היום עקב תקלה קטנה מול מיקרוסופט בוצע disable לחשבון. הדבר גרם לאתר לא לעבוד וכמובן 3 רולים נוטרלו. כשחזרו לחיים נדרשנו לעשות מחדש deploy ל 3 הרולים. (רוצים הסבר קטן לעבודה על הענן? ובכן תמצית הדבר הוא שכשאנו עוקפים נהלים שאנו יצרנו בשרתים שלנו מיקרוסופט - לא מרשים לעקוף וכך הכל חייב להתנהל לפי הספר... מה שתעלה לענן זה מה שירוץ ואם תשנה - השינויים יימחקו...) הבעיה החלה כאשר הסתבר שלא כל קבצי ה deploy נשמרו על מכונת הגירסה וכי אחד הקבצים שודרג לגירסא חדשה שטרם עלתה לענן.... הדבר גזל 4 שעות בנסיון להחזיר את הגירסה... מסקנתי היא כי חייב להיות נוהל שמירת קבצי deploy מיד אחרי העלתם לענן - ובכך לשמור גיבוי לעת צרה - נכון - אל תצעקו עליי - בוצע לייבל ב TFS - ואפשר למשוך ולקמפל - אבל תראו לי עובד אחד שעשה את זה תוך חמש דקות....? יש לציין לטובה את ה SQL Azure - שלו - לא קרה כלום כל העת... כל הכבוד ל SQL... ובנימה יותצר רצינית - אל תשכחו לגבות כל מה שעולה ... - במיוחד אצלך . אגב בענן עצמו - זה כבר יגובה אל דאגה... ערב טוב

Azure SQL DB tiers comparison

Hi All In the last few month Brent Ozar gae us 2 masterpiece blogs related to Azure SQL DB:   How fast can a $21,468/mo Azure SQL DB load data?     In this blog Brent compared the abilities of Azure SQL DBs to load Data - he compared all combinations of vCors tiers. (When I asked him about comparing the Standard\Premium tiers, he told me to do it.... :-) )   There’s a bottleneck in Azure SQL DB storage throughput.   In this blog Brent showed us that in the vCors world the storage throughput has limit and there is not need to pay so much money when you need to upload lots of data.   So I took have taken up his challenge and done a comparison in Azure SQL DB in Standard\Premium tiers. I have created a new DB with 1 Table. I have generated 7 GB of DATA, and created the file in my local on premise drive (Yes, do not kill me, I did not had the time to put it on azure), and uploaded it via BCP command.   bcp "TableName" in "T:\MyTable.bcp"