Domain-Driven Design (DDD) - עקרונות
Amazon מוכרת מאות מיליוני מוצרים, מנהלת מיליוני משתמשים, מעבדת הזמנות בכל שנייה, מריצה מערכת תשלומים, ומפעילה מחסנים בעשרות מדינות. כל אחת מהפונקציות האלה - קטלוג מוצרים, חשבונות משתמשים, הזמנות, תשלומים, אספקה, משלוח - בנויה ומתוחזקת על ידי צוות נפרד לחלוטין. שינוי במערכת התשלומים לא מחייב תיאום עם צוות קטלוג המוצרים. הם לא חולקים database. הם לא חולקים code. זו לא רק החלטה של microservices - זו פילוסופיית עיצוב: כל צוות מחזיק ב-domain שלו.
Domain-Driven Design (DDD) הוא המתודולוגיה שאריק אוונס (Eric Evans) סיסטמטיזציה ב-2003 בספרו "Domain-Driven Design: Tackling Complexity in the Heart of Software". הוא ראה שוב ושוב את אותה בעיה: מפתחים בנו מערכות שפתרו בעיה טכנית מעניינת אבל החמיצו את הצרכים העסקיים. DDD הציע פתרון: תבנו את ה-code כך שישקף את הממשק העסקי, לא את המגבלות הטכניות.