course-banner;

קורס פיתוח צד שרת וארכיטקטורת מיקרוסרביסים

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

להרשמה

מה נלמד

עקרונות יתרונות וחסרונות של ארכיטקטורת מיקרוסרביסים

בניה של מערכות מבוססות ארכיטקטורה מונחית אירועים

עבודה עם API וניהול גרסאות

יישום עקרונות DevOps להעברות אוטומטיות לייצור

ניהול נכון של נתונים במערכות מבוזרות

כלים עקרונות הכי נדרשים לפיתוח צד שרת

תרגום דרישות עסקיות לארכיטקטורה טכנית

תהליכי פיתוח אג'יליים בעולמות צד שרת

מתכונת הקורס

אורך כללי של הקורס 21 שעות

מחולק ל 7 מפגשים של 3 שעות כל אחד

מועבר אונליין בזום בשעות הערב בין 19:00 ל 22:00

רמת קושי: בינוני\גבוה

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

הרשמה

עלות הקורס הינה 2,500 שח

לשיחת ייעוץ והרשמה השאר פרטים בטופס הבא או צור קשר באמצעות הודעת וואטסאפ

gmail

מעבר למילוי Google Form

סילבוס

הורדת קובץ סילבוס

- אבולוציית עולם הפיתוח, פער בין הדומיין למימוש
- הצורך בתהליך פיתוח מוסדר
- תהליכי פיתוח אג'יליים, Scrum, XP
- תהליך פיתוח תוכנה איטרטיבי SDLC, אחד הכישורים הנדרשים בימינו

- איסוף דרישות, ניתוח דרישות ותיעוד
- יצירה של High Level Design של המערכת
- אפיון פונקציונאלי של מערכת
- תיעוד ארכיטקטורת מערכת

- עיצוב מונחה דומיינים Domain Driven Design
- עבודה לפי מתודולוגיה Working Backwards של אמזון
- יצירה של Detailed Design לרכיבי תוכנה
- יצירה של אפיון פונקציונאלי לרכיבי תוכנה
- יצירה של אפיון טכני לרכיבי תוכנה

- צורות תקשורת בין רכיבי תוכנה מבוזרים
- תקשורת סינכרונית ואסינכרונית
- עקרונות RESTful API
- עבודה עם API First
- ניהול גרסאות API
- תיעוד חוזה שירות באמצעות Open API Spec
- משילות API

- ארכיטקטורת מיקרוסרביסים
- שכבות ומבנה פנימי של שירות, Cross Cutting Concerns
- לוגים, מטריקות, טרייסים
- מתודולוגיית בדיקות
- בדיקות יחידה
- בדיקות קומפוננטה
- בדיקות אינטגרציה

- אתגרים של ניהול נתונים בעולם מיקרוסרביסים
- עבודה עם בסיסי נתונים SQL ו Document
- עיצוב בסיסי נתונים אבולוציוני
- ניהול טרנזקציות מבוזרות
- ארכיטקטורה מונחית אירועים EDA
- עקרונות CQRS, Event Sourcing

- תיעוד טכני של רכיבי תוכנה
- מתודולוגיית סקירת קוד Code Review בצוות
- מתודולוגיית ניהול קוד עם גיט
- הטמעת תהליכי DevOps
- עבודה עם קונטיינרים ו Docker
- מערכת ניהול קונטיינרים Kubernetes
- ניהול תצורת פריסה עם HELM
- דמואים והצגה אפקטיבית לבעלי עניין

פיתוח בעולם המודרני

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

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

man thinking

מעבר לשפת תכנות

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

הבנה של עקרונות

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

שדרוג כישורים טכניים

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

התפתחות מקצועית

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

יצירת קשרים

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

מתכונת הקורס

7 מפגשים אונליין של 3 שעות

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

סיכום כתוב בסוף כל שיעור

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

חומר מבוסס ניסיון מהתעשיה

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

ארכיטקטורת מיקרוסרביסים

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

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

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

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

microservices
microservices
microservices

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

הכר את המדריך

avatar

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

RSP 2024

058-678-6066

novaross@gmail.com