DCSIMG
בלוג MSDN ישראל

אנחנו בפייסבוק

פורסם בתאריך 12/05/2013 07:26 על ידי Eran Sharvit

Visual Studio 2012 Small

רוב המשתמשים בכלי   MTM או בשמו המלא Microsoft Test and Lab Management הם הבודקים, אשר מכירים בעיקר את יכולות ביצוע הבדיקות של הכלי. פחות מכירים את יכולות ה – Lab של הכלי ובדיוק על נושא זה אני רוצה להרחיב בפוסט זה.

היכולות עיקריות של ה- Lab Management :

 

מעבדות פיזיות או כפי שהן מכונות ב– TFS 2012:  מעבדות סטנדרטיות.

מעבדות אילו מבוססות על מחשבים פיזיים או מכונות וירטואליות ב- VMware.

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

מעבדות וירטואליות.

מעבדות אילו מבוססות Hyper-V ונשלטות על ידי ה – SCVMM שמחובר ל – TFS, החיסרון בשיטה זו הוא הצורך בחומרה חזקה, היתרון מגיע ביכולות ה – Snapshot ברמת המעבדה. לדוגמא אני רוצה להכין מעבדה, “להקפיא” אותה ולאחר מכן להריץ בדיקות שילכלכו אותה, בסיום הבדיקה כול מה שאני צריך לעשות זה Revert למצב “המוקפא” ואני מוכן להרצת בדיקות מחדש ו\או נוספות.

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

יש להתקין את ה – Test Controller כדי לבנות מעבדה פיזית.

הערה: יש להתקין את ה – Test Controller בלבד.

 

על מנת לייצר מעבדה סטנדרטית/פיזית יש לבצע את הצעדים הבאים:

צעד 1: לאחר התקנת ה – Test Controller יש לבצע קינפוג, נריץ את ה- Test Controller Configuration

Step_4_configure_controller

 

צעד 2: נזין שם משתמש וסיסמה, משתמש זה יריץ את ה – Service של ה – Test Controller (חץ כחול)

צעד 3: נחבר את ה – Test Controller ל – Collection ב – TFS בו נשתמש (חצים אדומים)

צעד 4: נגדיר משתמש שיריץ את ה – Lab service במקרה הזה השתמשתי באותו שם משתמש (חצים ירוקים)

 

Step_5_make_configurations

צעד 5: נלחץ על Apply Settings לסיום הקינפוג

Step_6_Apply_Settings

צעד 6: לאחר סיום הקינפוג יש ללחוץ Close

Step_8_Finish_configuration

צעד 7:  נפעיל את ה - MTM

Step_1_launch_MTM

צעד 8: נעבור ל – Lab Management, יש לשים לב שאנחנו עובדים על ה – Collection הנכון

Step_2_go_to_lab_center

צעד 9: נוודא שיש לנו Test Controller תקין, נעבור לטאב Controllers ונבדוק שה – Test Controller לא מסומן ב – X אדום

Step_3_Check_controller

צעד 10:  נעבור לטאב Lab ונלחץ על New ליצירת מעבדה חדשה

 

Step_9_new_env

צעד 11: נבחר Standard environment, נזין שם למעבדה ונעבור לטאב Machines

Step_10_name_and_type

צעד 12: נלחץ על Add machine להוספת מחשבים חדשים

Step_11_add_machines

צעד 13: נזין את שם המחשב ונבחר לו Role מהרשימה, כמו כן נזין לו שם משתמש שיש לו הרשאות על המחשב

שים לב: תהליך זה יתקין ויקנפג Test Agent על מחשב זה, במידה ויש כבר Test Agent המחובר ל – Test Controller ניתן לבחור מרשימה קיימת של מחשבים, לינק אל הרשימה תופיע בתחתית החלון.

 

Step_12_add_comp_and_user

צעד 14: נעבור ל – Advanced ונסמן את Configure environment to run UI tests

Step_13_config_UI

צעד 15: נבחר על איזה מחשב ירוצו בדיקות ה – GUI, נזין שם משתמש וסיסמה בעלי הרשאות ונעבור לטאב Verification

Step_14_config_UI_details

צעד 16: נלחץ על Verify ונוודא שהכול ירוק

Step_15_verify

Step_16_verify_results

 

צעד 17: כעת המערכת מתקינה ומקנפגת את ה – Test Agent על המחשב שהזנו קודם

 

Step_17_installation

שימו לב שבמהלך ההתקנה המערכת תבצע Restart לבד וגם תבצע Log-in לבד.

 

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

 

 

יש לכם שאלות בנושא Visual Studio ו-ALM? כנסו לפורום שלנו בעברית.

 

 

EranRusotopQהפוסט נכתב על ידי ערן רוסו , מנהל חטיבת ה - ALM & DevOps בחברת TOP Q, המובילה במגוון פתרונות אוטומציה לבדיקת מוצרי תוכנה, ALM ו – DevOps בטכנולוגיה מתקדמת, המיועדים לסביבות מחשוב מרובות מערכות, קונפיגורציות ותהליכים בארגונים בינוניים וגדולים. כנסו לבלוג של ערן וקראו על עוד נושאים מעולם ה- ALM וה- TFS ואתם מוזמנים גם לקבוצת הלינקדאין.

פורסם בתאריך 09/05/2013 15:07 על ידי צביה גיטלין טרוינה

מיקרוסופט מזמינה אתכם לפתח אפליקציות לפלטפורמת Windows Phone, הפלטפורמה השנייה הרווחית בשוק המובייל. אצלנו תוכלו ליהנות מתכניות מענקים, ליווי צמוד וסיוע לכל אורך שלבי הפיתוח, רישום חינם לתכנית Nokia Premium User* וחשיפת האפליקציה בפלטפורמת Windows Phone שמהווה כ-10% מנתח השוק בשווקים ברחבי העולם.

חודשים ספורים לאחר השקתו, הצליח Windows Phone להשאיר פלטפורמות אחרות לדשדש במקום, ואף עקף את iPhone ב-7 מדינות שונות, וביניהן הודו, רוסיה ודר"אפ.Windows Phone עקף את BlackBerry ב-26 שווקים (בריטניה, ארה"ב, סין ועוד), וכיום תופס כ-10% מנתח השוק במספר מדינות ברחבי העולם.

, According to Kevin Restivo, an analyst at IDC (March , 2013, Published in ZDNET )

windows Phone market share - US

Kantar Worldpanel April 2013

אז למה כדאי להתחיל לפתח אפליקציות ל-Windows Phone?

  • מדי רבעון מוכפלת כמות המשתמשים של Windows Phone
  • ל- Windows Phone צמיחה מוגברת בתחום המובייל
  • פלטפורמת Windows Phone כבר הגיעה לארגונים רבים
  • ניצול פוטנציאל מקסימאלי של חוויית הMulti-Screen-

windows Phone market share

Kantar Smartphones sales data, March 2013

הנתונים מדהימים: למעלה ממיליון מפתחים ברחבי העולם כבר התחילו לפתח אפליקציות לWindows Phone-

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

development Trends

Vision Mobile - Developer Economics reports, January 2013

4 צעדים פשוטים בדרך להפוך רעיון טוב למציאות:

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

וזה לא הכל...

מיקרוסופט מעמידה בפניכם מגוון תכניות עידוד שיסייעו לכם בעת תהליך הפיתוח

  • AppCampus - תכנית המציעה מענקים ליזמים ומפתחים בעלי רעיונות חדשניים ומקוריים המובילים את הטכנולוגיה הסלולרית. כמו כן, התכנית מציעה
    שירותי עיצוב ושימוש למפתחי Windows Phone למידע נוסף
    עם למעלה מ-200 הגשות, ישראל מככבת במקום ה-3 (מיד לאחר ארה"ב), בממוצע של 40,000 יורו לאפליקציה. כבר יותר מ-7 זוכים במענקים ומשתתף ראשון בקמפוס של 4 שבועות בפינלנד.*

*נכון לתאריך 1.5.2013

  • BizPark - תכנית המציעה ערך עסקי רב לחברות טכנולוגיה צעירות בארץ ובעולם, ומספקת להן טכנולוגיות בשווי עשרות אלפי דולרים, ותמיכה שיווקית ועסקית בחדירה לשווקים זרים. בתמורה, נהנות החברות משימוש חופשי וחינמי במגוון כלי פיתוח ורישיונות של מוצרי שרתים, כגון: Windows ,Windows Phone ,Windows Azure
    ו-Microsoft SQL Server, תמיכה טכנית, סיוע בפיתוח עסקי והזדמנויות חשיפה בפני משקיעים ולקוחות פוטנציאליים. בנוסף, מציעה מיקרוסופט תכנית מענקים בשווי60k$ לשימוש בפלטפורמת הענן של Azure, המיועדת לסטארט-אפים המשתמשים רבות בענן.

  • Nokia Premium Developer – חבילת פיתוח והטבות בשווי 1,500$, בעלות סמלית של 99$, הכוללת שנת חברות ב-Windows Phone Dev Center, רישיון חינמי ל- Telerik RadControls, תמיכה טכנית, גישה ל-Buddy.com Cloud API's ועוד.

התכנית מעניקה 20 חבילות חינם למפתחים פעילים – מהרו להירשם

הניסיון מוכיח – התמיכה במגוון רחב של פלטפורמות, משתלמת!

שווה לפתח אפליקציות ב-Windows Phone: ככל שאפליקציות נתמכות ביותר פלטפורמות, הרווחיות שלהן עולה בהתאם. מפתחים מרוויחים יותר, והמספרים מדברים בעד עצמם.

Windows Phone revenues

לקראת סוף פברואר 2013 Windows Phone , ממקם עצמו כפלטפורמה הרווחית השנייה בממוצע לאפליקציה. ניתן לראות כי הרווח מפיתוח אפליקציה ל-,Windows Phone
גבוה מהרווח ב-Android.

Windows Phone revenues

Andreas Pappas, Vision Mobile, Developer Economics 2013 April 2013

כל הכלים להצלחה עומדים לרשותכם!

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

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

פורסם בתאריך 06/05/2013 04:44 על ידי Eran Sharvit

אנחנו שמחים להודיע על שחרור גרסת WebMatrix 3, סביבת הפיתוח החינמית והקלה לפיתוח אפליקציות ווב.

את הכלי הצגנו עוד ב- 2010 והוא ממוקד בחווית פיתוח קלה במיוחד בפוקוס על פיתוח אפליקציות ASP.NET, PHP ו- Node.js.

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

clip_image002

כמו כן ממליצים שתראו את הסרטון שמסביר קצת על הכלי.

clip_image004

חלק מן השיפורים כולל אינטגרציה עמוקה יותר עם פלטפורמת הענן Windows Azure, אינטגרציה עם כלי ניהול תצורה כמו Git ו- TFS וחוויה חדשה של remote editing.

 

אינטגרציה עם שירותי הענן של Windows Azure

באמצעות WebMatrix 3 קל הרבה יותר לעבור לענן.

בפעם הראשונה שאתם פותחים את הכלי יש לכם אפשרות לבצע לוגין ל- Windows Azure, עם אותו יוזר שאתם משתמשים לבצע לוגין ל- Azure Management Portal. אין לכם כזה יוזר? אין בעיה, זה הזמן לפתוח וגם את זה תוכלו לעשות מאותו המסך.

image

ברגע שעשיתם לוגין תוכלו מיידית לנצל את 10 האתרים החינמיים שחשבון Azure מציע לכם.

image

תוכלו לערוך אתרים קיימים כבר בענן או ליצור חדשים מאפס או מתוך גלריית האפליקציות של Windows Azure, גלרייה המכילה אפליקציות ווב בקוד פתוח כגון Umbraco CMS, WordPress, Drupal ועוד.

image

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

image

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

image

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

זה פשוט וזה קל! צפו בוידאו הזה של אריק בונה אתר באמצעות WebMatrix 3http://youtu.be/liVozPQaaRY ואז מפבלש אותו.

 

אינטגרציה עם Git ו- TFS

אחד מהפיצ’רים שהכי ביקשתם בגרסה הקודמת של WebMatrix היתה תמיכה ב- source control. כעת העוול תוקן וישנה תמיכה ב- Git ו- TFS! התמיכה בכלי ניהול תצורה בעלת יכולת התרחבות וכבר עתה תומכת בספקים מרכזיים כגון CodePlex ו- GitHub.

clip_image010

התמיכה המובנית בסביבת הפיתוח WebMatrix 3 מכילה את כל היכולות הרלוונטיות כגון branching, commits ועוד:

clip_image012

צפו בוידאו המצויין של ג’סטין מראה לנו כיצד WebMatrix 3 תומך ב- Git וב- TFS.

 

Remote Editing

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

image

אם תרצו “להוריד” את האתר למחשב המקומי ולעבוד על עותק שלו מקומית, תוכלו לבצע download שיבצע התקנה מקומית כולל כל ה- runtime dependencies.

clip_image016

צפו בוידאו של טאו שמראה איך לערוך live site on windows azure באמצעות WebMatrix 3.

 

סיכום

באמצעות WebMatrix 3 תוכלו לעבוד באותה צורה על אתרים מקומיים או אתרים בענן, באמצעות סביבת פיתוח חזקה וחינמית התומכת בכל הפיצ’רים הנדרשים מסביבת פיתוח מודרנית כגון source control, IntelliSense ועוד המון פיצ’רים. כפי שאמרנו, WebMatrix 3 היא סביבת פיתוח מובילה גם לפיתוח אפליקציות PHP ו- Node.js.

clip_image002

 

יש לכם שאלות בנושא פיתוח אפליקציות ווב? כנסו לפורום שלנו בעברית!

פורסם בתאריך 01/05/2013 07:00 על ידי Eran Sharvit

WinAzure_rgb_Blk_Mאתמול שחררו עדכון גרסה חדש ל- Windows Azure SDK for .NET 2.0, עדכון המאפשר לכם לפתח אפליקציות ושירותי ענן בצורה טובה וקלה יותר, היישר מתוך Visual Studio.

העדכון כולל תמיכה משופרת ב- Web Sites, Cloud Services diagnostics, Storage client , Service bus וכולל תמיכה משופרת של Visual Studio 2012 בהתממשקות מול שירותי Azure.

 

להורדה והתקנה של Windows Azure SDK for .NET 2.0

 

מה חדש בבנושא Azure Web Sites?

Visual Studio Server Explorer כעת תומך ב- Azure web sites. אתם יכולים לצפות ברשימת האתרים שלכם בענן ישירות מתוך VS. זה גם אומר שיותר קל לכם כעת לבצע publish לאתר אינטרנט בענן.

מה חדש בנושא Diagnostics?

כבר מזה כמה גרסאות VS תומך בדיאגנוסטיקה. בעדכון זה שיפרנו עוד יותר את התמיכה וכעת תוכלו לקנפג הגדרות דיאגנוסטיקה של שירותי הענן שלכם ישירות מתוך ה- Server Explorer של Visual Studio.

מה חדש בנושא Cloud Services?

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

מה חדש בנושא Visual Studios Tables Explorer?

כעת ישירות מתוך VS אתם יכולים למחוק, לערוך ולבצע פעולות שונות על טבלאות בענן מתוך ה- Server Explorer. זה חוסך זמן ומאפשר לכם להשתמש רק ב- Visual Studio  כדי לבנות אפליקציות ענן שמשתמשות בטבלאות.

מה חדש בתחום Service Bus client library?

הוספנו יכולות חדשות כולל דפדוף בהודעות, Message pump programming moderl ומחיקה אוטומטית ל- idle messaging entities.

מה חדש בנושא Powershell?

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

 

שאלות נוספות בנושא פיתוח אפליקציות בסביבת Windows Azure?
כנסו לפורום שלנו בעברית!

פורסם בתאריך 28/04/2013 17:25 על ידי Eran Sharvit

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

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

WinDevs

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

 

 

משרת פיתוח לסטודנט - צוות Personalization

מיקום: הרצליה

אם את/ה סטודנט/ית האוהבת ללמוד אתגרים חדשים ובעל/ת ניסיון מעשי בשימוש בטכנולוגיות חדשניות, צוות Personalization מחפש אתכם! 

הצטרפו אלינו!

 

משרת UX and Visual Designer

מיקום: הרצליה

מחלקת העיצוב בקבוצת Data Platform מחפשת מעצב/ת UX ו-Visual מוכשר/ת במיוחד!

הצטרפו אלינו!

 

משרת יועץ בכיר - SharePoint

מיקום: רעננה

יש לך ידע במוצרי מיקרוסופט? יודע/ת איך הטכנולוגיה שלנו משפיעה על עסקים? הצטרף אלינו כמומחה SharePoint!

הצטרפו אלינו!

פורסם בתאריך 27/04/2013 18:32 על ידי Eran Sharvit

clip_image002בחודשים האחרונים אני נתקל בלקוחות רבים ששואלים אותי (ויועצים נוספים בקבוצה) "מה זה HTML5?". לעתים השאלה מנוסחת קצת שונה: "האם דפדפן X תומך ב- HTML5?" או "האם כדאי לי לפתח מערכת ב- HTML5?".

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

 

מורה הנבוכים ל- HTML5

ונתחיל מהשאלה הבסיסית ביותר:

מהו HTML5?

ובכן, בניגוד למה שחושבים לעתים, HTML5 זו לא טכנולוגיה חדשה שמחליפה את HTML4 או XHTML 1.1. בנוסף, לא כל אתר שמעוצב בצורה מושכת את העין ובשילוב אנימציות מעניינות הוא בהכרח מבוסס HTML5. קיימות לא מעט דוגמאות המוכיחות בדיוק את ההיפך...

 

אם כך, מהו HTML5?

ההגדרה המדויקת ביותר הינה:

אוסף תגים חדש ב- HTML, בשילוב אלמנטים חדשים ב- CSS3 ויכולות חדשות ב- JavaScript.

אוסף התגים, האלמנטים ויכולות ה- JavaScript החדשות מתרכזים סביב הנושאים הבאים:

  1. ביצועים
  2. Semantic Web
  3. עיצוב
  4. מדיה
  5. גרפיקה
  6. עבודה ב- Offline ואחסון מקומי
  7. קישוריות
  8. גישה לחומרה מקומית

כפי שניתן להתרשם מהרשימה, ה- HTML5 תוכנן בעקבות התובנה כי מערכות ה- Web המודרניות הינן אינטראקטיביות הרבה יותר ממה שהיה בשנת 1999, בה נקבע סטנדרט ה- HTML4, וכי דרושות יכולות חדשות ומשמעותיות על מנת שניתן יהיה להצעיד את האינטרנט לדור הבא של המערכות.

במסגרת פוסט זה לא ניתן יהיה לעבור על כל הנושאים האלו, אך להלן מספר דוגמאות:

HTML5 מכיל תגים חדשים ב- HTML ההופכים את הדף לקריא הרבה יותר. למשל, רובכם וודאי מחלקים את דפי ה- Web שלכם באמצעות תגי Div שונים, כאשר כל Div אחראי לאיזור תוכן מסויים, והגדרת האיזור מתבצעת באמצעות ה- id attribute או class attribute.

לדוגמה:  <div class=’header’></div>, או <div class=’menu’></div>.

באמצעות HTML5 ניתן להחליף את התגים האלו ב: <header></header>, או <menu></menu>

תגים חדשים אלו מאפשרים בניית דף קריא הרבה יותר (מה שמכונה: Semantic Web), המאפשר גם לתוכנות שונות לקרוא את הדף ולהבין את מבנהו. רשימה מלאה של התגים החדשים ב- HTML5 ניתן לראות כאן.

 clip_image003פינות מעוגלות. ב- Word זה קיים כבר שנים...

אם תשאלו כל מעצב Web מתחיל מהו האלמנט העיצובי החסר ביותר בפיתוח אתרי אינטרנט, תקבלו כנראה את אותה התשובה: פינות מעוגלות!. ובכן, (תופים בבקשה...) כחלק מ- CSS3 התווספה, סוף סוף, היכולת להגדיר פינות מעוגלות!
האלמנט border-radius מאפשר להגדיר את רדיוס עיגול הפינה, ובכך הוא עונה על תפילותיהם של מעצבים מתוסכלים ומפתחים מותשים, שנאלצו למצוא פתרונות עוקפים לבעיה הקרדינלית הזו.
אלמנט זה מתווסף לעוד אלמנטים רבים אחרים שהתווספו ב- CSS3, ומרכיבים ביחד אתו את HTML5.

- אחת היכולות המשמעותיות ביותר בעיני ב- HTML5 היא יכולת ה- Local Storage. יכולת זו מאפשרת, לראשונה, לשמור מידע בתחנת הקצה של המשתמש לאורך זמן, גם לאחר שהדפדפן נסגר. למעשה, נפתחת באמצעות יכולת זו האפשרות לממש Cache של נתונים בדפדפן, באופן שעשוי לשפר את הביצועים בצורה משמעותית.
לעתים אני שומע מלקוחות את התגובה הצוננת הבאה: "על מה כל ההתרגשות? אפשר לעשות אותו דבר ב- cookies כבר שנים!".
יש אמנם קווי דמיון מסויימים בין cookies ו- Local Storage, אולם חשוב לשים לב להבדלים:

  • באמצעות Local Storage ניתן לשמור עד 10MB של נתונים, בעוד ש- Cookies מוגבלים ל- KB בודדים.
  • ל- Cookies יש תאריך תפוגה, בעוד של- Local Storage אין.

השימוש ב- Local Storage פשוט ביותר:
localStorage[‘person’]=p

הסבר מקיף על השימוש ב- Storage תוכלו למצוא כאן.

 

זהו, כמובן, רק קצה הקרחון של היכולות החדשות ב- HTML5. מומלץ להתעדכן בשאר היכולות המתקדמות והמסקרנות.

 

HTML5 - סטנדרט שעוד לא נקבע סופית

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

מצב זה מחייב זהירות מסויימת כאשר באים לפתח ב- HTML5, כפי שנראה בהמשך.

סטטוס עדכני של HTML5 ניתן לראות כאן:

http://dev.w3.org/html5/decision-policy/html5-2014-plan.html

אז לאחר שהבנו מהו HTML5, אפשר לעבור לשאלה הבאה, שהיא:

 

אילו דפדפנים תומכים ב- HTML5?

השאלה הזו, למרות שהיא נראית פשוטה, למעשה אינה כזו.

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

לאור זאת ניתן לומר כי השאלה לעיל אינה רלוונטית, והשאלה המעניינת באמת הינה:

 

אילו דפדפנים תומכים ביכולת שמעניינת אותי?

ופה התשובות משתנות מאוד.

לדוגמה, ל- Local Storage שתואר לעיל קיימת תמיכה מ- Internet Explorer 8 ומעלה, ו- Chrome 4 ומעלה.

מצד שני, ה- Application Cache (שמאפשר להפעיל יישומי Web גם כאשר התחנה היא Offline) נתמך ב- Internet Explorer 10 , והתמיכה של Chrome שונה במעט מהסטנדרט הקבוע.

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

וכעת נגיע לשאלה החשובה באמת:

 

האם כדאי לפתח מערכת ב- HTML5?

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

האם כדאי לפתח מערכת שעושה שימוש ביכולת X של HTML5?

הדרך לענות על השאלה הזו, היא באמצעות מענה על השאלות הבאות:

  1. האם שימוש ביכולת X ישפר משמעותית את המערכת שלי? (בין אם מדובר בהוספת גרפיקה, שימוש ב- Cache מקומי או הצגת פינות מעוגלות)
  2. האם הדפדפנים הנמצאים בארגון תומכים ביכולת זו? (שימו לב – לא מעניינת אותנו התמיכה ביכולות שאנו לא משתמשים בהן!)
  3. (שאלה אופציונלית) האם יכולת X כבר הוכרזה כחלק אינטגרלי מהסטנדרט של HTML5?

אם התשובה לשתי השאלות הינה חיובית – קדימה לדרך! אתם יכולים להתחיל לעשות שימוש ביכולות החדשות של HTML5 בביטחון רב יחסית, ולהתחיל להכיר את הדור הבא של יכולות ה- Web.

 

memi_laviהפוסט נכתב על ידי ממי לביא, יועץ בכיר וארכיטקט תוכנה בקבוצת MCS במיקרוסופט ישראל. לממי נסיון של יותר מ- 15 שנה בתכנון ומימוש מערכות גדולות ומורכבות בארגוני Enterprise רבים, הפרושות על פני טכנולוגיות רבות, והוא מרצה מבוקש בארגונים רבים בנושאי ארכיטקטורה ופיתוח.

פורסם בתאריך 24/04/2013 08:22 על ידי Eran Sharvit

Visual Studio 2012 Bigבשני הפרקים הקודמים סקרנו את שתי היכולות העיקריות של ה-Fakes, כלומר ה-Stubs וה-Shims. בפרק הזה ניכנס קצת יותר לעומק ונראה איך תוכל להתאים את ה-Fakes לצרכיך באמצעות קובץ הקונפיגורציה.

כאשר אנו מוסיפים Fakes לספריה (“Add Fakes Assembly” – זוכרים?) נוסף לנו באופן אוטומטי קובץ קונפיגורציה אחד או יותר תחת Fakes. כך, למשל, כאשר הוספנו Fakes ל-System DLL נוספו לנו שני קבצים תחת Fakes, בצורה הבאה:

image

(שים לב שהקוד ב-System מחולק למעשה בין System.dll ו-mscorlib.dll ולכן נוצרים שני קבצי Fakes עם הגדרות מתאימות).

עכשיו נניח שאנחנו מעוניינים ליצור Shim ל-Console. זה יכול להיות שימושי מאד כאשר הקוד שלנו מצפה לקלט מהמשתמש, או שולח פלט למסך. למשל:

public static void MultipyFromConsole()
{
var m = Convert.ToInt32(Console.ReadLine());
var n = Convert.ToInt32(Console.ReadLine());
var result = m * n;
var strResult = result.ToString();

Console.WriteLine(result);
}

(נניח לשם הדוגמא שהמתודה הזו היא חלק מה-Multiplier class שהוצג בפרק הקודם).

כדי לבדוק את הקוד, נצטרך לעשות Fake ל-Console. אולם כאשר ננסה לגשת ל- System.Fakes.ShimConsole נגלה שהאובייקט הזה לא קיים. מה עושים?

הסיבה שלא מצאנו את האובייקט היא שספריית ה-mscorlib מכילה אלפי אובייקטים (מעל 3000 ב-.NET 3.5 – תוכל לוודא זאת בקלות על ידי הביטוי typeof(string).Assembly.GetTypes().Count() ). יישום Fakes לכולם יגדיל מאד את ספריית ה-Fakes הנלווית ויוריד את הביצועים. לכן בחרו במיקרוסופט ליישם, כברירת מחדל, Fakes רק לחלק קטן מן האובייקטים.

ומה נעשה אם אנחנו בכל זאת רוצים לבצע Fake ל-Console? לשם כך בא לעזרתנו קובץ ההגדרות mscorlib.fakes. אם נבחר אותו נגלה שהוא מכיל את התוכן הבא:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
<Assembly Name="mscorlib" Version="4.0.0.0"/>
</Fakes>

הגדרה זו אומרת לקומפיילר ליישם Fakes לאובייקטים שהוגדרו כברירת מחדל. עכשיו אנחנו מעוניינים להוסיף עליהם את Console Shim. לשם כך נוסיף לקובץ הגדרת ShimGeneration בצורה הבאה:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
<Assembly Name="mscorlib" Version="4.0.0.0"/>
<ShimGeneration>
<Add TypeName="Console"/>
</ShimGeneration>
</Fakes>

כעת נכתוב את ה-Unit Test ל- MultipyFromConsole. שימו לב שכעת אנחנו יכולים להשתמש ב- System.Fakes.ShimConsole – שנוצר כתוצאה מההגדרה של ShimGeneration:

[TestMethod]
public void TestMultiplyFromConsole()
{
using (ShimsContext.Create())
{
var numTime = 0;
var multipliers = new string[]{"17", "23"};

System.Fakes.ShimConsole.ReadLine =
() => { return (multipliers[numTime++]);};

int multResult = 0;

System.Fakes.ShimConsole.WriteLineInt32 =
(result) => { multResult = result; };

Multiplier.MultipyFromConsole();
Assert.AreEqual(391, multResult);
}
}

מה עשינו פה?

- בעזרת System.Fakes.ShimConsole.ReadLine החלפנו את מתודת ה-ReadLine במתודה שלנו. כיוון ש-ReadLine נקראת פעמיים מתוך הקוד, כתבנו את המתודה כך שבפעם הראשונה תחזיר "17", ובפעם השניה "23".

- מתודת –WriteLine איננה פונקציה אחת, אלא אוסף של מתודות – לפי הפרמטרים שהיא מסוגלת לקבל. כיוון שבקוד הנבדק אנחנו קוראים ל-WriteLine עם פרמטר מסוג Int32, נצטרך להחליף את המתודה WriteLineInt32, או System.Fakes.ShimConsole.WriteLineInt32. כל מה שאנחנו עושים במתודה התחליפית הוא לשמור את הפרמטר ה"מודפס" כדי שנוכל לבדוק אותו אחר כך.

- כעת כל מה שנשאר לנו הוא להשוות את התוצאה שקיבלנו עם התוצאה המצופה (391)

שימו לב שכעת יש לנו Unit test הבודק קלט ופלט ל-Console, אך יכול לרוץ בכל מקום – כולל Test Agent או Build Server – בלי להזדקק למפעיל אנושי שיימצא באינטראקציה אמתית עם ה-Console.

בעזרת קובץ הקונפיגורציה ניתן להסיר ולהוסיף אובייקטים לייצור Fakes. כך, למשל, התג Clear מורה למערכת לא לייצר אף Fake פרט לאלה שנגדיר במפורש. כך אם נרצה, למשל, להגדיר Fakes רק ל-Console ו-IO. StreamWriter, נגדיר את קובץ הקונפיגורציה mscorlib.fakes בצורה הבאה:

<Fakes xmlns="http://schemas.microsoft.com/fakes/2011/">
<Assembly Name="mscorlib" Version="4.0.0.0"/>
<ShimGeneration>
<Clear/>
<Add TypeName="Console"/>
<Add TypeName="StreamWriter"/>
</ShimGeneration>
</Fakes>

השימוש בתגים Clear ו-Add מומלץ במיוחד כאשר מדובר בספריה גדולה שאינה ספריית מערכת, ולכן ברירת המחדל היא ייצור Fakes לכל האובייקטים בספריה – מה שייקח זמן ויגרום לייצור ספריית Fakes גדולה מאד.

תג נוסף אפשרי הוא Remove – אם נרצה למנוע במפורש ייצור של Fake לאובייקט מסוים.

באותה צורה שניתן להגדיר ShimGeneration ניתן להגדיר StubGeneration כדי לקבוע לאלו אובייקטים ייווצר Stub (ראה הסבר בפרק הראשון בסדרה זו).

 

לסיכום:

 

  • באמצעות קובץ הקונפיגורציה אנחנו יכולים להגדיר במדויק לאלו אובייקטים ייווצרו Shims ו-Stubs
  • כך נוכל לייצר Stubs & Shims לאובייקטים נוספים בספריות המערכת, גם אם לא נוצרים להם Stubs & Shims כברירת מחדל
  • לחילופין, נוכל למנוע יצירת Stubs & Shims לאובייקטים שאיננו מעוניינים להחליף במסגרת הבדיקות, וכך לחסוך זמן ומקום

ולקינוח – חדשות טובות! החל מ-Visual Studio 2012 Update 2 ששוחרר לאחרונה להורדה, יכולת ה-Fakes לא תוגבל רק לבעלי VS2012 Ultimate, וגם מפתחים שרכשו VS2012 Premium יוכלו ליהנות מבדיקות איכותיות באמצעות Fakes!

בברכת בדיקות טובות ואיכותיות!

 

יש לכם שאלות נוספות בנושא VS 2012, ALM  או Testing?
הכנסו עכשיו לפורום העברי שלנו בנושא והתייעצו עם מיטב מומחי הקהילה.

 

 

Photo_5F5B07F8[1]הפוסט נכתב על ידי יואל ארנון, מהנדס תוכנה במיקרוסופט המסייע ללקוחות פרמייר - Premier Field Engineer. בעבר יואל היה יועץ עצמאי וחבר בצוות הפיתוח של MSMQ במיקרוסופט חיפה.

פורסם בתאריך 22/04/2013 06:39 על ידי Eran Sharvit

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

והפעם, סיפורו של טירן חי מחברת ewave

שמי טירן חי, אני בן 35, נשוי, מגדל שלוש בנות ומתגורר ביישוב ברקן. בתפקידי הנוכחי אני מנהל את חטיבת ה-.NET בקבוצת eWave, המתמחה בפתרונות תוכנה ואינטגרציה ל-Web, למובייל ולרשתות החברתיות.

הנגיעה הראשונה שלי לעולם המחשבים הייתה כבר בכיתה ו'. למדתי לתכנת ב-Visual Basic ופיתחתי תוכנה שמציירת כוכבים על מסך ה-CGA הירוק. הדבר הראשון שרכשתי מכספי שלי היה כרטיס קול Sound Blaster שחסכתי לכבודו במשך שנה וחצי. הדבר הבא שקניתי היה כונן קשיח. אני עוד זוכר שהתלבטתי בין נפח של 20 מגה ל-40 מגה, ובסוף בחרתי ב-20 מגה, מכיוון שהמוכר התעקש שאני לא אמלא אותו בחיים. היום הנפח הזה מספיק בקושי לשניים או שלושה שירים... בגיל ההתבגרות שיפרתי את יכולות התכנות שלי ולמדתי 15 יח"ל מחשבים בתיכון מקיף ד' באשדוד.

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

הצטרפתי לקבוצת eWave לפני שמונה שנים בתור מפתח .NET, ובהמשך כראש צוות של מספר פרויקטים, ביניהם הפיתוח של Mutual Art, פורטל אמנות שהיה חדשני לזמנו. הפרוייקט האסטרטגי הראשון שניהלתי היה אפיון ופיתוח התיק הרפואי המרכזי של קופת חולים לאומית (מערכת תמ"ר), שהיה הראשון בארץ שאיפשר שיתוף של כל המידע הרפואי בזמן אמת.

tiran-newהפרויקט התמקד בהסבת סביבת המשתמש של "התיק הירוק" של קופת החולים מסביבת AS/400 לסביבת Web, תוך שימוש בטכנולוגיית .NET של מיקרוסופט. המערכת הרפואית חוללה שינוי של ממש בשירותים שהקופה מספקת, ואיפשרה לרופאים לנהל באופן ממוחשב את תהליכי הביקור של המבוטחים, לבחור תרופות מתאימות, להוציא מרשמים, להפנות לטיפולים אצל אנשי מקצוע אחרים ועוד.

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

בשנה האחרונה נבחרתי להוביל את חטיבת ה-.NET, ומאז אני מתמקד בקידום טכנולוגיות מיקרוסופט בפרויקטים של eWave, ומלווה את כל צוותי הפיתוח של החטיבה (כ-100 תוכניתנים) מבחינה ניהולית וטכנולוגית. בשנה האחרונה ביצענו פרויקטים מאתגרים עבור עשרות לקוחות.

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

image

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

פורסם בתאריך 21/04/2013 06:47 על ידי Eran Sharvit

azureכשאני מדברת על פלטפורמת ושירותי הענן של Windows Azure לקוחות חושבים שמדובר בפתרון לאירוח שרתים ובסיסי נתונים של מיקרוסופט ושפלטפורמת הפיתוח נועדה רק לפיתוח על בסיס כלים של מיקרוסופט. ובכן אני רוצה אחת ולתמיד לשבור את הנחת היסוד הזאת – פתרון ה- Windows Azure הינו פתרון מצויין לפיתוח אירוח של פתרונות קוד פתוח. למעשה Windows Azure הינה פלטפורמה פתוחה לחלוטין ומאפשרת אין ספור אפשרויות להריץ קוד פתוח.

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

 

שכבת מערכת ההפעלה

בתחום זה כמובן שהבשורה היא שאפשר להריץ לינוקס בענן של Windows Azure בעזרת Virtual Machines. הוספת המכונות הוירטואליות, מבוססות לינוקס, מתבצעת בקלות דרך ה- Windows Azure Management Portal באמצעות base images של מערכות ההפעלה המוצעות על-ידי המפיצים הבאים: CentOS, SUSE, ו- Ubuntu. בנוסף, ה- Microsoft Open Technologies VM Depot מאפשר גישה לקטלוג מקיף של מערכות הפעלה מקונפגות, אשר מוצעות ע"י הקהילה. ניתן למצוא שם גם אפליקציות ו- development stacks, אשר ניתנים בקלות ליישום על גבי Windows Azure.

 

שכבת מסדי הנתונים

בשכבה זו ניתן לשלב פתרונות קוד פתוח הן כ- Database-as-a-service והן על ידי פריסה על מכונות וירטואליות ושירותי ענן.

במסגרת ה- Database as a service ניתן להשתמש בפתרונות הבאים:

  • MySQL as a service – ניתן למצוא את הפתרון של Clear DB. הפתרון מוצע בקונפיגורציות שונות ומותאם לשימוש על גבי Windows Azure. לפרטים נוספים על התוכניות השונות המוצעות.
  • MongoDB as a service – תוכלו למצוא מידע על שילוב MongoDB במדריך הבא.
  • זהו גם המקום לציין ולהמליץ על פתרונות של סטארטאפ ישראלי בשם Garantia Data המציע memcached ו- redis כשירות. ניתן להשתמש בו כמובן על גבי Windows Azure.

במסגרת אפשרויות הפריסה על Virtual Machine ו/או Cloud services:

  • ניתן לארח בסיס נתונים MongoDB על גבי התשתית של Windows Azure – למידע נוסף אודות אפשרויות הפריסה.
  • ב- Microsoft Open Technologies VM Depot ניתן למצוא בסיסי נתונים שונים אשר כבר מוכנים לפעולה על גבי מכונות וירטואליות המותאמות ל- Windows Azure. במסגרת זו ניתן למצוא למשל mongodb, neo4j, Cassandra ועוד.

 

שפות פיתוח

Windows Azure מאפשרת בניית סביבה לפיתוח בשפות קוד פתוח. אם ברצונכם לפתח על Java, Python, PHP, או Node.js, תשמחו לדעת ש- Windows Azure מציעה SDK’s ו- Command Line Tools מוכנים עבור שפות אלו. למידע נוסף והורדת החבילות, הקליקו כאן.

עבור שפות פיתוח אחרת שאין SDK יעודי עבורן, ניתן להשתמש ב REST API עבור כל אחד מהשירותים:

Windows Azure Mobile Services REST API Reference

Windows Azure Service Management REST API Reference

Windows Azure Storage Services REST API Reference

 

מובייל ומדיה

גם במסגרת פיתוח למובייל ישנה פתיחות מלאה. Windows Azure תומכת בפיתוח ואירוח של אפליקציות עבור iOS וגם עבור Android ומציעה SDK’s לפלטפורמות אלו. למידע נוסף והורדת החבילות, הקליקו כאן. גם בתחום המדיה ניתן למצוא תמיכה בפורמטים שונים כולל iOS ו- OSMF.

 

לסיכום

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

 

מפתחים אפליקציות ל- Windows Azure? אתם מוזמנים לפורום שלנו בעברית בנושא!

 

 

rachel_yahezkelהפוסט נכתב ע"י רחלי יחזקאל, Technical Evangelist ומומחית בנושא טכנולוגית הענן של מיקרוסופט – Windows Azure.

פורסם בתאריך 20/04/2013 10:15 על ידי Eran Sharvit

FBאנו שמחים להודיע שלפני יומיים פייסבוק הכריזה על שחרור ממשק תכנות המיועד לשלב את פייסבוק בצורה קלה ופשוטה באפליקציות ה- Windows Phone או Windows 8 שאתם מפתחים.

זוהי ספרייה מבוססת #C ו- XAML המשוחררת בקוד פתוח על ידי Outercurve Foundation. באתר שלהם גם תוכלו למצוא מדריכים עבור Windows 8 ועבור Windows Phone וכן קישור ל- GitHub repository בו נמצא קוד המקור.

 

איך משלבים את ה- Facebook SDK באפליקצייה שלכם באמצעות NuGet

אתם יכולים בקלות לשלב את ה- SDK באפליקצייה שלכם על ידי שימוש ב- NuGet אשר מורידה ומתקינה אוטומטית את הספרייה ב- Solution שלכם.

כדי לעשות זאת לכו ל- package manager console שנמצא ב- toolbar:

Tools > Library Package Manager > Package Manager Console

ואז התקינו את ה- facebook sdk כחלק מן האפליקציה שלכם על ידי הרצת הפקודה הבאה:

Install-Package Facebook

 

היתרונות שבשימוש ב- Facebook SDK

סה”כ הספרייה עושה לכם המפתחים חיים קלים ומאפשרת לכם:

  1. מאפשרת לכם בקלות להוסיף אופציה לביצוע לוגין עם חשבון הפייסבוק שלכם. רק החליפו את הפרטים הנחוצים בדוגמת הקוד, וזה עובד.
  2. מאפשרת לכם להתמקד ביכולות פייסבוק החשובות ולא בדרישות low level. בזבזו את זמן הפיתוח על הדברים החשובים באמת.
  3. צורת השימוש מאד דומה בין אפליקציית Windows Phone ובין אפליקציית Windows 8, מה שמקל עליכם לעשות Code Sharing במקרה הצורך.

דוגמא לקוד:

// Instantiate the Facebook client
FacebookClient fb = new FacebookClient("<Supply Access Token here>");

// Make the friends list Open Graph API request
var friendsTaskResult = await fb.GetTaskAsync("/me/friends");

var result = (IDictionary<string, object>)friendsTaskResult;
var data = (IEnumerable<object>)result["data"];
foreach (var item in data)
{
var friend = (IDictionary<string, object>)item;
// Pick out the properties from the dictionary without the need for writing deserializing classes

string name = (string)friend["name"];
string id = (string)friend["id"];
}

אתם יכולים לדווח על באגים ב- GitHub issue tracker ולקרוא עוד תיעוד טכני כאן. אם יש לכם שאלות אתם יכולים לשאול בפורום הייעודי לכך באתר stackoverflow.

פורסם בתאריך 18/04/2013 12:20 על ידי Eran Sharvit

Visual Studio 2012 Bigעל פי המסורת, רוב חברות ההיי-טק בישראל משתמשות בטכנולוגיות של מיקרוסופט. ומסיבה זו, הבחירה הטבעית למערכות ניהול תצורה גם היא מגיעה מאותו הבית. בימים ההם, שרבים כבר הצליחו לשכוח זו הייתה תוכנת Source Safe. מכיוון שיכולותיה לא התאימו לקבוצות גדולות והשוק דרש פתרונות יותר מתוחכמים, לפני מספר שנים מיקרוסופט השיקה פתרון חדש ושמו – Team Foundation Server.

המערכת גדלה, השתפרה פלאים ונכון להיום היא אחת הפתרונות הנפוצים והנוחים לניהול תצורה עבור החברות המסתמכות יום-יום על מיקרוסופט לכל צרכי הפיתוח. פרט חשוב לזכור כאן, הוא ש- TFS, לעומת רוב הכלים האחרים שנמצאים היום בשוק, הוא לא רק כלי ניהול תצורה, אלא גם מערכת לניהול משימות, build server, כולל מודולים להרצת בדיקות אוטומטיות, ועוד לא מעט דברים אחרים, כלומר, נותן פתרון ALM  (ניהול מחזור החיים של פרוייקט תוכנה) מלא מקצה לקצה. ובזאת נמצא הכוח העיקרי של TFS.

 

מדוע לעתים נדרש ניהול תצורה מבוזר

לעומת כל היתרונות שיש ל-TFS, קיימים גם דברים שמערכת זו לא תוכננה להתמודד איתם. אחד הדברים הוא עצם העובדה ש-TFS מבוססת שרת מרכזי ולכן מפתח לא מסוגל לעבוד בצורה חלקה כאשר אין תקשורת קבועה עם השרת. לצוותים מסוימים, שמפתחיהם לא נמצאים באותו אזור גאוגראפי או שמורכבים בחלקם מקבלני משנה - כאשר מחלקת IT, או שלא מעוניינת או שלא מסוגלת לתת פתרון הולם לחשיפת השרת לעולם מחוץ לפיירוול – זו מגבלה אשר, עלולה לגרום לפגיעה בפרודוקטיביות. נוסף על כך, רבים מאיתנו נמצאים לא מעט זמן בנסיעות שבמהלכן ערוצי התקשורת פשוט לא זמינים. גרסת ה-2012 של TFS פותרת חלק מהבעיה ע"י יכולת בשם Local Workspace שהיא תוספת נחמדה מאוד – המפתח מסוגל לערוך את הקוד שלו בלי תקשורת לשרת וכשהתקשורת חוזרת, לעשות check-in כאילו הניתוק לא קרה אף פעם. החיסרון הוא שבזמן שלא הייתה תקשורת עם השרת, השינויים כבר יכלו לגדול למימדים לא קטנים, ובמקום להיות קשורים לפיצ'ר ספציפי אחד, הם נהיים שינויים חובקי-עולם, בלי היסטוריה ואפשרות להבין מה שייך לאן.

כתוצאה, התמונה התקינה הבאה:

clip_image001

הופכת להיות משהו אחר, בלי אפשרות לשייך את השינויים למשימה מסויימת, גם אם המפתח זוכר מה התקוון בכל שינוי ושינוי:

clip_image002

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

 

Git כלי מצוין, אך לניהול תצורה בלבד

כלי לניהול תצורה מבוזר הנפוץ ביותר בעולם הוא, ככל הנראה, git. כמות הפרוייקטים שמשתמשים בו פשוט עצומה: Linux kernel (שעבורו git נכתב), VLC, Ruby on Rails, Android ועוד רבים. אתרי קוד פתוח כמו GitHub ו-CodePlex נותנים שירותי הוסטינג ב-git. משתמשים בו אפילו לצרכי deployment.

האם זה לא מספיק בשביל להתחיל להשתמש בכלי הזה?

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

1. git נבנה ככלי command line עם גישה שונה לגמרי מהסבב של check-out – check-in הרגיל, ולמפתח שמרגיש נוח לעבוד מתוך הסביבה החמימה של Visual Studio די קשה לעשות את המעבר ולהתחיל להשתמש במשהו כל כך שונה, גם בעזרת כלים כמו Git Extensions שנותנים רמת אינטגרציה מסוימת.

2. גם לאחר ההתגברות על הבעיה הראשונה לעיל, די קשה לאמץ git בתוך חברה, במיוחד ארגון המתבסס על מוצרים של מיקרוסופט, מפני ש-git עושה טוב ואפילו טוב מאוד רק את החלק של ניהול תצורה, וזה ממש לא מספיק לכל חברה שמבקשת יותר (רמז – TFS). לכן קיימים פתרונות כמו git-tfs ו- git-tf, אבל הן לוקחות אותנו שוב לעולם ה-command line המאוד זר למפתח העכשווי הממוצע.

 

מיקרוסופט מחבקת את Git

לאור הביקוש הגדול, במיקרוסופט החליטו לאמץ את הבן-דוד החורג של TFS ולתמוך בו בצורה מלאה בגרסאות הבאות של TFS 2012. נכון להיום, התמיכה ניתנת בגרסת 2012.2 CTP של Visual Studio, שנמצאת כאן. לאחר התקנת העדכון, התוסף לעבודה עם git הופך לנגיש בגלריית ההרחבות של Visual Studio תחת השם Visual Studio Tools for Git:

clip_image004

מרגע שהתוסף מותקן, נוכל לפתוח כל פרוייקט של Visual Studio שממופה לרפוזיטורי של git ולראות שאפשרויות ה-git התווספו ללשונית ה-Team Explorer:

clip_image006

מה שמעניין אותנו כעת הוא לפתוח פרוייקט חדש. אז נכון, GitHub הוא אופצייה לגיטימית לגמרי, אבל הוא לא נותן את היכולות של TFS (לפחות לא את הרוב). לכן נשתמש ב-TFS, ולא סתם ב-TFS, אלא בגרסת הענן שלו. נכון להיום, זו גם האופצייה היחידה להשתמש באינטגרציה המלאה בין הכלים. מיקרוסופט מבטיחה כי בעתיד הלא רחוק קונפיגורציה כזו תיתמך גם בגרסת ההתקנה של Visual Studio Team Foundation Server.

 

ללכלך את הידיים

הפתיחה של פרויקט חדש ב-Team Foundation Service היא מחוץ לסקופ של מאמר זה, אך כל המידע הדרוש נמצא באתר שלו. השוני היחיד הוא שבזמן הוספת הפרוייקט צריכים לציין את git כ-version control.

לאחר יצירת פרוייקט חדש נרצה, כמובן, להגדיר משימות. ומיד נתחיל בראשונה מהן:

clip_image008

שהיא יצירת פרויקט.

מכאן נעבור ל-Visual Studio ונחברו לפרוייקט ב-TFS:

clip_image010

בלחיצה על OK יתבצע חיבור לענן וחלון האוטוריזציה יבקש להכניס את שם המשתמש והסיסמא. לאחר הכנסתם וזיהוי מוצלח, השרת יופיע ברשימת שרתי ה-TFS ותתאפשר האופציה להתחבר לפרוייקט:

clip_image012

זה הזמן ללחוץ על Clone:

clip_image014

ולספק את מיקום הפרוייקט החדש:

clip_image016

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

clip_image018

כעת נוכל ליצור פרוייקט חדש בספריה זו. בחרתי את האופציה המתוחכמת ביותר – console application, שבעתיד, לאחר מאמצים רבים, תוכל להדפיס ללא שגיאות את השורה "It works!". הפרוייקט יווצר בספריה הקיימת של git:

clip_image020

מיד עם היווצרות הפרוייקט, השינויים הניתנים להכנסה לרפוזיטורי יופיעו בתוך ה-solution explorer:

clip_image022

ואם נלחץ על ה-Commit… מתוך context menu של solution, נעבור למסך ה-Team Foundation עם הרשימה של השינויים:

clip_image024

בנקודה זו חייבים להבין משהו מאוד חשוב: ההתנהגות של git תחת שליטה של Visual Studio היא לא ההתנהגות הרגילה שלו. למה? מכיוון ש-git מוסיף לרשימה לעיל לא רק את הקבצים המופיעים ב-Included Changes, אלא גם את כל אלה:

clip_image026

הדבר היחיד ש-git מכיר על הפרוייקט, הוא המיקום שלו. כל הקבצים, שלא נמצאים כבר בתוך הבסיס נתונים שלו, הם שינויים להכנסה מבחינתו. ה-Visual Studio מכיר את מבנה הפרוייקט ודואג להכניס רק את הקבצים הרלוונטיים. בכדי לא לשבור את ההתנהגות הטבעית, וזה חשוב בכדי לתמוך באנשים שיעבדו עם git לא דרך Visual Studio, נצטרך להכניס קובץ קונפיגורציה בשם .gitignore. לשם כך נלך ל- Team Explorer – Home à Settings à Git Settings ונלחץ על Add בתוך Repository Settings à Ignore File:

clip_image028

כתוצאה, יופיע הקובץ שמתאים לרוב הפרוייקטים הנוצרים ע"י Visual Studio, הנמצא בספריית השורש של הרפוזיטורי. בנוסף, נראה שרשימת ה-Untracked Files הצטמצמה פלאים:

clip_image030

את שני הקבצים נרצה להוסיף לרשימה שלנו על מנת להכניס אותם לרפוזיטורי.

בדומה ל-.gitignore נרצה להוסיף ובמידת הצורך לערוך את קובץ ה-.gitattributes עבור הפרויקט.

דבר נוסף שנרצה לשנות הוא פרטי המשתמש. הקונפיגורציה נמצאת ב-Global settings:

clip_image032

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

clip_image034

מה שנשאר הוא לכתוב הערה מתאימה ולהכניס את השינויים לרפוזיטורי. נרצה גם לשייך את השינוי ל-work item ספציפי. לשם כך נציין את מספר ה-item בתוך ההערה:

clip_image036

נותר רק ללחוץ על כפתור ה-commit והשינוי ייכנס לרפוזיטורי המקומי.

clip_image038

וכאשר נלחץ על View Commits, נראה את השינוי בהיסטוריה:

clip_image040

כמובן, השינוי עוד לא הופץ לרפוזיטורי המרכזי. בכדי לעשות זאת, נרצה לעשות Push, אבל קודם נלחץ על Fetch מתחת לכותרת Incoming Commits בכדי לוודא שאין שינויים ברפוזיטורי המרכזי ביחס לרפוזיטורי מקומי. במקרה זה לא מצפות לנו הפתעות ובביטחה נוכל להפיץ את השינויים.

לאחר הפעולה נוכל ללכת ל-web interface ולראות שהשינוי מופיע כעת גם בשרת:

clip_image042

וה-task מוכן לסגירה.

 

קדימה, להסתעף!

הגיע הזמן להתקדם ולממש את הפונקציונליות העיקרית של הפרויקט. לשם כך נשתמש ביכולת הבולטת של git – branching. מכיוון שיצירת branch היא זולה מאוד ולא משפיעה כלל על גרסת הקוד בשרת, נרצה להשתמש ביכולת זו עבור כל אחד ואחד מה-features אותם נפתח במהלך הפרויקט. Visual Studio מאפשר לגשת לפעולה מתוך הלשונית ההראשית של Team Explorer:

clip_image044

בלחיצה על Branches נגיע לחלון בו נגיש הקישור New Branch המאפשרת לבצע את הפעולה:

clip_image046

וכתוצאה מאישור ברירות המחדל ולחיצה על Create Branch ניצור branch חדש ומיד נעבור אליו. ה-feature לא היה פשוט, אך בסופו של דבר מומש בהצלחה:

clip_image048

פעולת הכנסת השינויים לרפוזיטורי כבר מוכרת, רק שהפעם היא תתבצע ב-branch נפרד:clip_image050

פעולת ההפצה (Push) תמיד תתבצע מה-branch הראשי, master, לכן נמזג את השינויים בחזרה. הפעולה נגישה מתוך הלשונית Branches:

clip_image052

ולאחר המיזוג נוכל לבצע את ההפצה בצורה הרגילה.

 

לסיכום

ניסיתי כאן בקצרה להציג את היכולות שמספקת אינטגרציית ה-git לתוך האקו-סיסטם של מיקרוסופט. לא נגעתי בתסריטים יותר מתקדמים של מיזוג, בפתרון ההתנגשויות, פעולות נוספות של git, אבל גם לא שמתי כמטרה לכתוב טיוטוריאל ל-git. למרות זאת אני מקווה שכל מי שקורא את המאמר יקבל טעימה מהפונקציונליות החדשה והטעם יהיה טוב. למרות שהכלי נמצא בשלב ה-CTP ולא כל האופציות חשופות דרך הממשק הוויזואלי, הוא מרגיש יציב ומוכן לשימוש. כל מי שחיכה לקבל שילוב טבעי של git בתוך Visual Studio – ההמתנה נגמרה. והפרט החשוב הוא שהשילוב לא נגמר בעוד source provider ל-Visual Studio, יש כאן איחוד של כלי תצורה DVCS נפלא ומערכת ALM המובילה בשוק. האם מישהו יוכל לבקש יותר מזה?

 

 

שאלות נוספות בנושא VIsual Studio ו- Git? כנסו לפורום ALM שלנו בעברית!

 

Michael DonkhinCodeValueהפוסט נכתב ע”י מיכאל דונכין, יועץ בכיר בחברת CodeValue ומומחה בטכנולוגיות מיקרוסופט: #C, ++C, WPF, MEF ועוד. מיכאל הוא בעל וותק ונסיון רב בפיתוח כלים ושירותים לחברות שונות בטכנולוגיות מיקרוסופט ואחרות.
חברת CodeValue מתמחה ביישום והטמעת פתרונות תוכנה מבוססי מיקרוסופט ובכללן פתרונות מבוססי Azure, הענן של מיקרוסופט. החברה מונה כיום כ-60 עובדים בהם מומחי טכנולוגיה בעלי ניסיון רב , הנחשבים מובילים בתחומם ומוכרים כסמכות מקצועית, בקהיליית פיתוח התוכנה.

פורסם בתאריך 17/04/2013 09:17 על ידי Eran Sharvit

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

ההכרזה הראשונה והמשמעותית ביותר היא ההכרזה על גרסת General Availability של Windows Azure Virtual Machines ו- Virtual Network. רבים מכם מכירים את היכולות הללו בשם הכללי של התעשייה Infra-as-a-Service (IaaS). אם לא, קראו על כך בפוסט שכתבנו בדיוק על נושא זה לא מזמן.

 

יכולות ושיפורים חדשים נוספים שהוכרזו:

 

  • ירידת מחירים של מכונות וירטואליות, הן של מכונות וירטואליות ב IaaS והן ב PaaS. ירידת המחירים נעה בין 21%-33%.
  • גדלים חדשים של מכונות וירטואליות, הכוללות מכונות עם זיכרון גדול.
  • טמפלטים חדשים מוכנים של מכונות וירטואליות (VM Images) עם אפליקציות נפוצות ושימושיות של מיקרוסופט. בין הטמפלטים ניתן למצוא מכונות וירטואליות מוכנות לשימוש עם SQL Server, BizTalk Server ו SharePoint.

 

Infra-as-a-Service (IaaS) General Availability

Windows Azure Virtual Machines הוכרז לראשונה כ Preview ביוני 2013, כפי שכתבתי בפוסט קודם. אתמול מיקרוסופט הכריזה על General Availability. משמעות ההכרזה היא שמיקרוסופט מתחייבת ל Enterprise SLA, מגובה ע"י שירותי התמיכה הגלובליים של מיקרוסופט ושמתאים לשימוש כתשתית למערכות production.

ירידת מחירים

בין ההכרזות, מיקרוסופט הכריזה על ירידת מחירים משמעותית על Windows Azure Compute, כלומר ירידת המחירים היא גם עבור Virtual Machines IaaS, וגם עבור Cloud Services PaaS.

ב- Virtual Machines IaaS מדובר בירידת מחירים של 21% שמעתה זהה למחירי on-demand של אמאזון, ב- Cloud Services PaaS מדובר בירידת מחירים של 33%.

בטבלה מטה ניתן לראות את המחירים החדשים של Windows Azure Virtual Machines IaaS:

 

Size Name

# of CPU Cores

Memory

Windows VM Pricing

Linux VM Pricing

ExtraSmall

Shared

768 MB

$0.02 per hour

$0.02 per hour

Small

1

1.75 GB

$0.09 per hour

$0.06 per hour

Medium

2

3.5 GB

$0.18 per hour

$0.12 per hour

Large

4

7 GB

$0.36 per hour

$0.24 per hour

ExtraLarge

8

14 GB

$0.72 per hour

$0.48 per hour

A6

4

28 GB

$1.02 per hour

$0.82 per hour

A7

8

56 GB

$2.04 per hour

$1.64 per hour

חשוב לציין שהטבלה מעלה היא במחירי on-demand כלומר ללא שום התחייבות מראש. למידע מלא על מחירים ב- Windows Azure ניתן לקרוא כאן.

 

הוזלת עלויות בהתחייבות

מיקרוסופט מאפשרת ללקוחותיה ליהנות מתוכניות להוזלת עלויות של Windows Azure בצורה משמעותית ע"י תכניות התחייבות לתקופות של 6 חודשים או 12 חודשים. מהות תכניות אלה היא התחייבות על סכום מסוים ובתמורה ליהנות מירידת מחירים משמעותית מכל שירותי Windows Azure, הכוללים Compute, Storage, CDN, ושירותים רבים נוספים.

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

למידע נוסף על תכניות אלה: 6-Month and 12-Month Plans

 

גדלים חדשים של מכונות וירטואליות

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

הגדלים החדשים הם:

· A6 – מכונה וירטואלית עם 4 core x 28GB RAM

· A7 – מכונה וירטואלית עם 8 core x 56GB RAM

למידע נוסף על גודל המכונות הווירטואליות ניתן לקרוא כאן.


טמפלטים מוכנים של מכונות וירטואליות

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

· SQL Server 2012 – Standard and Enterprise editions

· BizTalk Server 2013 - Including Evaluation, Standard and Enterprise editions

· SharePoint Server 2013

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

 

שיפורים נוספים

ההכרזה היום כוללת גם מספר שיפורים נוספים ל Windows Azure Virtual Machines:

  • הגדלת נפח דיסק ברירת מחדל של מערכת ההפעלה – במהלך תקופת ה Preview נפח דיסק של מערכת ההפעלה היה 30GB . בהתאם למשוב שמיקרוסופט קיבלה מלקוחות מעתה גודל מערכת ההפעלה כברירת מחדל למכונות מתוך הגלריה הוא 127GB.
  • יכולת לשנות את שם המשתמש של האדמיניסטרטור – בעת יצירת מכונה וירטואלית ניתן לקבוע את שם המשתמש של האדמיניסטרטור ולאו דווקא להשתמש בשם Administrator. אנו ממליצים לכל הלקוחות להשתמש ביכולת זו כדי להגדיל לשפר את השמירה על אבטחת המידע.
  • Remote Power Shell למכונה – כאשר מייצרים מכונה וירטואלית בעזרת Power Shell היכולת לשלוט על המכונה ב Power Shell כברירת מחדל תהיה פתוחה, כך שניתן יהיה להקים מכונה ולקנפג אותה לפי הצורך באופן מלא ע"י סקריפט.

 

סיכום

אני יחד עם כל הצוות של Windows Azure בישראל ובעולם מתרגשים מההכרזות הללו. לקוחות רבים ציפו ליכולות אלה ואנחנו שמחים מאוד לענות על צרכי הלקוחות.

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

אני מזמינה אתכם להתנסות עוד היום ב Windows Azure בעזרת חשבון התנסות חינם.

בנוסף, מזמינה אתכם לקרוא את ההכרזות הרשמיות של מיקרוסופט בבלוגים של Scott Guthrie ו Bill Hilf.

ולסיום, כמובן שמידע מלא ניתן למצוא באתר הראשי של Windows Azure.

 

 

מפתחים אפליקציות ל- Windows Azure? אתם מוזמנים לפורום שלנו בעברית בנושא!

 

rachel_yehezkelהפוסט נכתב ע"י רחלי יחזקאל, Technical Evangelist ומומחית בנושא טכנולוגית הענן של מיקרוסופט – Windows Azure.

פורסם בתאריך 10/04/2013 06:30 על ידי Eran Sharvit

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

 

איך מכונות וירטואליות עובדות ב- Azure

 

דיסקים (קבצי vhd) של מכונות וירטואליות נשמרים בחשבון storageכ blob רגיל, כתוצאה מכך אני מקבלים את כל יכולות ה storage כגון high availability (כל blob מגובה ב 3 העתקים בתוך ה data center) ו geo-replication (גיבוי ב data center נוסף ב 3 עותקים) לקבציי ה vhd של המכונות הווירטואליות.

Untitled-1

כל שינוי שנעשה בשרת יישמר כיוון שה vhd עצמו הוא persisted, תכונה זו מאפשרת לנו להוריד את ה VM ולהעלות אותו מחדש מה vhd שנשמר ב storage.

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

לכל VM חייב להיות לפחות דיסק אחד (vhd) המכיל את מערכת ההפעלה (bootable), בנוסף ניתן לקשר לכל מכונה מספר data disks אשר הינם קבצי vhd נוספים המחזיקים מידע בלבד ויכולים להגיע לגודל של עד 1 TB לכל דיסק.

 

מספר הדיסקים שניתן לקשר למכונה תלוי בגודל שלה:

image

מיפוי של דיסק לשרת וירטואלית מבצעים ע"י פעולת attach, ניתן למפות data disk לשרתי windows ו linux.

יש לזכור כי כאשר אנו עובדים על VM, באחריותנו לבצע עדכוני תוכנה למערכת ההפעלה.

 

תקשורת מול VM

כל VM שמוקם מקושר ל cloud service, גישה מהרשת ל VM נעשית דרך Public endpoint הממפה portחיצוני ל port פנימי ב VM (עליו ניתן לשלוט באמצעות ה firewall של ה guest os).

image

 

כאשר מצרפים מספר מכונות וירטואליות לאותו cloud service הן נמצאות באותה virtual network ויכולות לתקשר באופן ישיר ע"י שימוש ב machine name כאשר התקשרות לא עוברת דרך ה Load balancer החיצוני של ה data center.

בנוסף, ניתן להגדיר Load balancing על ה public endpoints כך שה trafic לשרתים שלנו יחולק בין המכונות השונות. ע"י הגדרת probe (דף web לבדיקת זמינות השרתים) ה LB יודע להפנות תנועה רק לשרתים זמינים.

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

 

זמינות שרתים

כדי להקים שירות ענן זמין, כל קבוצת שרתים עם פונקציונליות זהה ניתן לשייך ל Availability set משותף, באופן זה Azure ידע לשייך את השרתים ל Fault domain ו update domain נפרדים כדי שבזמן כשל או עדכון תוכנה לפחות שרת אחד יהיה זמין.

image

 

תזכורת למושגי יסוד לזמינות שרותי ענן:

 

  •  Fault domain – קבוצת שרתים אשר מהווים נקודת כשל משותפת, בדר"כ יהיו פיסית באותו servers rack ב data center.
  • Update domain – קבוצת שרתים שיעברו עדכוני תוכנה באותו פרק זמן, בדר"כ כלל מכונות אשר חולקות שרת host.
  • Availability set – קבוצת שרתים בעלי פונקציונליות משותפת יהיו באותו availability set, באופן זה azure יודע למקם כל שרת ב fault domain נפרד וב update domain נפרד.

 

 

סיכום

שימוש במכונות וירטואליות בענן נותן לנו גמישות מקסימלית בהקמת סביבות עבודה on-demand וחיבור לתהליכי ALM כגון בדיקות אוטומטיות ובדיקות עומסים. שימוש נכון בכלים ש Azure מעמיד לרשותנו יבטיח הקמה של שירותים יציבים ואמינים.

נסו ותיהנו :)

 

מפתחים אפליקציות ל- Windows Azure? אתם מוזמנים לפורום שלנו בעברית בנושא!

 

untitledהפוסט נכתב ע"י גלעד לוי, יועץ בכיר בקבוצת היועצים של מיקרוסופט (MCS ) העוסקת בייעוץ בתחומי ארכיטקטורה, פיתוח, CRM ו- ALM.

פורסם בתאריך 08/04/2013 05:21 על ידי Eran Sharvit

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

 

אודות תוכנית ה- MVP

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

 

MVP’s קיימים שהוענק להם פרס לשנה נוספת

ברבעון זה אין לנו אומנםן MVP חדשים שהצטרפו לתוכנית היוקרתית אבל יש לא מעט MVP’s קיימים שקיבלו פעם נוספת את הפרס: הצטרפו בברכות ואיחולים לכל ה- MVP’s אשר תורמים בצורה עקבית ומתמשכת לקהילת המפתחים בישראל ולכן ראינו לנכון להוקיר אותם ולהעניק להם את ה- MVP לשנה נוספת:

  • שי פרידמן – בתחום Visual #C 
  • שי רייטן – בתחום Visual Studio ALM
  • פבל יוסיפוביץ’ – בתחום Visual #C
  • סשה גולדשטיין – בתחום Visual #C
  • ארז קלר – בתחום Visual #C
  • אייל ורדי – בתחום Visual #C

 

ברכות ואיחולים!

פורסם בתאריך 06/04/2013 18:14 על ידי Eran Sharvit

imageאנו שמחים להודיע שכבר עכשיו עדכון Visual Studio 2012 זמין להורדה!

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

היכולות המרכזיות הכלולות בעדכון זה:

  • Quality enablement – יכולות בתחום בדיקות התוכנה והרצת בדיקות באמצעות פורטל וובי ובאמצעות הענן.
  • Agile Planning – יכולות קסטומיזציה נוספות מאפשרות לכם לעבוד בשיטה הנוחה ביותר לצוות הפיתוח שלכם.
  • Line Of business development – יצירת אפליקציות עסקיות באמצעות LightSwitch ו- HTML5 בקלות.

 

נצלו את כל היכולות החדשות והורידו את Visual Studio 2012 Update 2 עכשיו!

רוצים לדעת עוד על העדכון? כנסו לכאן.

More Posts Next page »