רשומות

מציג פוסטים מתאריך אפריל, 2022

שרת FastApi על דוקר ב10 דקות

תמונה
דרישות: היכרות עם פייתון, עם web frameworks (כקונספט) והיכרות בסיסית עם דוקר. שתי השחקניות החזקות ביותר כיום בתחום ה web frameworks לפייתון הן django ו flask . הפוסט של היום מתעסק בשחקנית החדשה והסקסית בתחום שנכתבה על ידי tiangolo  ובעיני מסמלת את כל מה שטוב ויפה ב open source software. FastApi הוא web framework פייתוני מודרני וחדשני אשר נועד ליצירת APIs. הוא נבנה בעיקרו על הענקיות starlette (לניהול העבודה ב web) ועל pydantic (לולידציית data). הפיצ׳רים העיקריים בהם הכלי מתגאה הם - מהירות (ביצועים), מהירות קידוד , הפחתת באגים (כתוצאה מהפיכת תהליכים שהיו נכתבים ידנית לאוטומטיים), אינטואיטיביות , פשטות , רובסטיות , וסטנדרטיות (עבודה עם JSON schemas ו OpenApi). לכלי קיימות יכולות רבות אותן אני ממליץ לכם לקרוא בעיון בדוקונטציה הרשמית   (דרך אגב, אחת הדוקומנטציות הטובות שיצא לי לראות). בפוסט הזה אתמקד ביצירת API פשוט באמצעות הכלי (מעין hello-world) ובהמשך אגע באיזורים קצת יותר מתקדמים כמו חיבור DB, בדיקות, א-סינכרוניות, authorization ועוד טיפים ויכולות מגניבות בהן יצא לי להתקל. יצירת AP

Azure Functions עם פייתון בקלות

תמונה
יכולת מאוד חזקה ומגניבה שקיימת ב Azure (ובשאר ספקי הענן) היא functions. בפוסט הזה נדבר על מה זה functions, למה זה טוב, מתי נרצה להשתמש בזה, ובנוסף נראה דוגמה פשוטה של functions ב Azure. יש כל מיני דרכים ליצור function ב azure, היום אני אסביר על הקלה והגנרית בעיני - ה CLI. azure cli הוא כלי עוצמתי מאוד שנותן לעשות עם api די אחיד ונוח כמעט כל פעולה שאנחנו רוצים לעשות על סביבת הענן שלנו. מה זה Azure Functions? Azure functions זה שירות ענן שמאפשר לנו הרצה on demand של קטע קוד שנבחר (פונקציה) בעוד שהוא מתחזק עבורנו את כל מה שנדרש על מנת להריץ את הפונקציה הזו. כלומר, איננו צריכים לדאוג לתשתית או לגרסאות מעודכנות של התלויות שלנו. כל שעלינו צריכים לעשות זה לספק את הקונפיגורציה הנדרשת לנו ואת הקוד אותו אנחנו רוצים שירוץ, ו Azure דואג לכל השאר עבורנו.  באמצעות functions ניתן לבנות web APIs, להריץ קוד בעת שינויים בבסיס נתונים, להרשם תורי הודעות ועוד... יתרון נוסף שיש לפונקציות ענן הוא auto-scaling. באופן מובנה, כאשר יגיעו פניות רבות לפונקציה שלנו, מופעים נוספים של הפונקציה יקומו וכשירד הצורך המו