معرفی
در عصر مدرن، نرمافزار معمولاً به عنوان یک سرویس به نام برنامههای کاربردی تحت وب یا نرمافزار به عنوان سرویس ارائه می شود. برنامهی کاربردی دوازده-سازه روشی برای ساخت برنامههای کاربردی نرمافزاری به عنوان سرویس است که:
- از قالبهای قابل توصیف برای خودکارسازی راهاندازی استفاده میکند تا زمان و هزینه را برای توسعهدهندگان جدیدی که به پروژه می پیوندند به حداقل برساند.
- یک قرارداد تمیز با سیستم عامل میزبان دارد تا حداکثر قابلیت حمل را بین محیطهای اجرا ارائه دهد.
- برای استقرار در سکوهای ابری مدرن، بدون نیاز به سرورها و مدیریت سیستمها مناسب است.
- واگرایی بین توسعه و عملیات را به حداقل میرساند تا استقرار مستمر، حداکثر چابکی را به ارمغان آورد.
- و میتواند بدون تغییر قابل توجه در ابزار، معماری یا شیوههای توسعه، مقیاسپذیر شود.
روش دوازده-سازه را می توان برای برنامههایی که به هر زبان برنامهنویسی نوشته شدهاند و از هر ترکیبی از خدمات پشتیبان (پایگاه داده، صف، کش حافظه و غیره) استفاده میکنند، اعمال کرد.
پسزمینه
مشارکتکنندگان در این نوشتار، به طور مستقیم در توسعه و استقرار صدها برنامهی کاربردی مشارکت داشتهاند و بهطور غیرمستقیم شاهد توسعه، عملیات و مقیاسپذیری صدها هزار برنامهی کاربردی از طریق کار ما در Heroku بودهاند.
این نوشتار، همهی تجربیات و مشاهدههای ما را در مورد طیف گستردهای از برنامههای کاربردی نرم افزاری به عنوان سرویس در صنعت ترکیب میکند. سه ضلعی که بر روی شیوههای ایدهآل برای توسعهی برنامهی کاربردی، توجه ویژه به پویایی رشد ذاتی یک برنامهی کاربردی در طول زمان، پویایی همکاری بین توسعهدهندگانی که روی کدنویسی برنامهی کاربردی کار میکنند، و جلوگیری از هزینهی زوال نرمافزار بنا شده است.
انگیزهی ما افزایش آگاهی از برخی مشکلات سیستمی است که در توسعهی برنامههای کاربردی مدرن دیدهایم، واژگان مشترکی برای بحث در مورد آن مشکلات ارائه می دهیم، و مجموعهای از راهحلهای مفهومی گسترده برای آن مشکلات را همراه با اصطلاحات ارائه میدهیم. این قالب از کتابهای مارتین فاولر به نامهای الگوهای معماری برنامههای کاربردی سازمانی و بازسازی الهام گرفته شده است.