הרוקו (באנגלית: Heroku) היא פלטפורמת מחשוב ענן הפועלת כשירות (PaaS) התומכת במספר שפות תכנות. כאחת מפלטפורמות הענן הראשונות, הרוקו נמצאת בפיתוח מאז יוני 2007, כאשר היא תמכה רק בשפת התכנות Ruby, אך כעת תומכת ב- Java, Node.js, Scala, Clojure, Python, PHP ו-Go.[3] מסיבה זו, הרוקו היא פלטפורמה פוליגלוטית מכיוון שיש לה תכונות המאפשרות למפתח לבנות, להריץ וליהנות מסילומיות יישומים באופן דומה ברוב השפות. הרוקו נרכשה על ידי Salesforce ב-2010 תמורת 212 מיליון דולר.[4]
היסטוריה
הרוקו פותחה בתחילה על ידי ג'יימס לינדנבאום, אדם וויגינס,[5] ואוריון הנרי לצורך תמיכה בפרויקטים שתואמים לפלטפורמת התכנות ב-Ruby הידועה בשם Rack.[6] פיתוח אב הטיפוס נמשך כחצי שנה. בינואר 2009, הושקה פלטפורמה חדשה שנבנתה כמעט מאפס תוך שלושה חודשים. באוקטובר 2009, ביירון סבסטיאן הצטרף להרוקו כמנכ"ל.[7] ב-8 בדצמבר 2010, Salesforce.com רכשה את הרוקו כחברה בת בבעלות מלאה. ב-12 ביולי 2011, יוקיהירו "מאץ" מטסומוטו, המתכנן הראשי של שפת התכנות רובי, הצטרף לחברה כאדריכל ראשי לרובי.[8] באותו חודש, הרוקו הוסיפה תמיכה עבור Node.js ו-Clojure. ב-15 בספטמבר 2011, הרוקו ופייסבוק הציגו את "הרוקו לפייסבוק".[9] נכון לעכשיו הרוקו תומך במסדי נתונים של Redis[10][11] בנוסף ל-PostgreSQL הסטנדרטי שלו.[12]
באוגוסט 2022 הודיעה הרוקו כי התוכניות החינמיות שלה יופסקו, תוך ציון הונאה וניצול לרעה כסיבות למהלך.[13]
אטימולוגיה
השם "הרוקו" הוא הלחם בסיסים של "הרואי" ו"הייקו".[14] האזכור לתרבות היפנית הוא קריצה למץ, היוצר של רובי. השם עצמו מבוטא בדומה למילה היפנית שמשמעותה "בהרחבה" (hiroku), אם כי יוצרי הרוקו לא רצו שלשם הפרויקט שלהם תהיה משמעות מסוימת, ביפנית או בכל שפה אחרת, ולכן בחרו להמציא שם.
ארכיטקטורה
ליישומים הרצים בהרוקו יש בדרך כלל דומיין ייחודי המשמש לניתוב בקשות HTTPלקונטיינר הנכון[15] המכונה גם דיינו (Dyno).[16] כל אחד מהדיינואים פרוס על פני "רשת דיינו" המורכבת ממספר שרתים. שרת גיט של הרוקו מטפל בדחיפות של קוד ממשתמשים מורשים.[17]
כל שירותי הרוקו מתארחים בפלטפורמת מחשוב הענן EC2 של אמזון.[18]
מוצרים
פלטפורמת הרוקו
רשת הרוקו מפעילה את האפליקציות של הלקוחות בקונטיינרים וירטואליים המורצים על סביבת זמן ריצה אמינה. הרוקו קורא לקונטיינרים הללו "דיינו". הדיינואים האלה יכולים להריץ קוד שנכתב ב-Node, Ruby, PHP, Go, Scala, Python, Java או Clojure. הרוקו מספקת גם חבילות בנייה מותאמות אישית שאיתן המפתח יכול לפרוס אפליקציות בכל שפה אחרת. הרוקו מאפשרת סילומיות מיידית על ידי הגדלת מספר הדיינואים או על ידי שינוי סוג הדיינו שבו האפליקציה פועלת.
הרוקו פוסטגרס
הרוקו פוסטגרס הוא שירות מסד נתונים בענן (DBaaS) עבור הרוקו המבוסס על PostgreSQL. הרוקו פוסטגרס מספק תכונות כמו הגנה רציפה, החזרה לאחור וזמינות גבוהה; גם פיצולים, עוקבים וקטעי נתונים.
הרוקו רדיס
הרוקו רדיס הוא Redis מותאם מבית הרוקו כדי לספק חוויית מפתח טובה יותר. הוא מנוהל במלואו וניתן כשירות על ידי הרוקו. זה עוזר בניהול מופעים עם ממשק שורת הפקודה, לשייך נתונים ל-Postgres כדי לקבל תובנות עסקיות באמצעות כלי SQL, ומאפשר ללקוח להשיג נראות ביצועים.
הרוקו צוותים
Heroku Teams הוא כלי לניהול צוות המספק שיתוף פעולה ובקרות כדי להפגיש בין המפתחים, התהליכים והכלים של הלקוח על מנת לבנות תוכנה טובה יותר. עם הרוקו צוותים, צוותים יכולים לארגן בעצמם, להוסיף ולנהל חברים, לקבל שליטה ספציפית עם הרשאות ברמת האפליקציה וגם להשתמש בכלי שיתוף פעולה כמו Heroku Pipelines. הוא גם מספק ניהול מואצל וחיוב כספי מרוכז.
הרוקו אנטרפרייז
Heroku Enterprise מספקת שירותים לחברות גדולות המסייעים להן לשפר את שיתוף הפעולה בין צוותים שונים. הוא מספק אוסף תכונות כמו בקרות גישה ספציפיות, ניהול זהויות ומרחבים פרטיים לניהול תהליך פיתוח היישומים הארגוניים, המשאבים והמשתמשים שלהם.
Heroku Connect
Heroku Connect מאפשר למשתמשים ליצור אפליקציות הרוקו שיכולות להשתלב בקלות עם פריסות של Salesforce בקנה מידה גדול. זה נעשה על ידי סנכרון נתונים חלק בין מסדי הנתונים של Heroku Postgres וארגוני Salesforce.
Heroku Elements
Heroku Elements מספקת למשתמשים תוספים (כלים ושירותים לפיתוח, הרחבה ותפעול האפליקציה), Buildpacks (הממכנים את תהליכי הבנייה עבור השפות ושלדי התוכנה המועדפים) וכפתורים (כלי להקצאה בלחיצה אחת, קביעת תצורה ופריסה של רכיבים, ספריות ותבניות של צד שלישי).