نحوه افزایش MRR ، کاهش شعله ور شدن و اهرم شغلی اشتراکتان با ارائه دهنده خدمات مناسب cloud.
خلاصه معماری
برای درک بهتر استدلال ما در اینجا ، بیایید نگاهی گذرا به این که Voucherify چیست و چیست معماری به نظر می رسد.
Voucherify بلوک های ساختمانی قابل برنامه ریزی را برای ساخت کمپین های کوپن ، ارجاع و وفاداری ارائه می دهد. این اساساً یک بستر API اول است که می تواند از آن برای ساخت کمپین های تبلیغاتی پیچیده و شخصی استفاده کند ، مانند ارسال ایمیل به مشتری با کد کوپن خاص هنگام پیوستن به بخش "حق بیمه". همچنین این امکان را به شرکتها می دهد تا بازخریدهای کوپن را پیگیری کنند تا بفهمند چه تبلیغات بهتر عمل می کنند. سرانجام ، این داشبورد برای بازاریاب ها فراهم می آورد تا بار تعمیر و نگهداری تبلیغات و نظارت بر شانه های توسعه دهندگان را تحمل کنند. 19659007] پشتیبانی از خدمات ریز خدمات برای مشاغل غیر مرتبط با API
وقتی صحبت از ذخیره داده ها می شود ، ما Postgres ، Mongo و tris tris را استخدام می کنیم. ] بار:
ما به بیش از 100 مشتری خدمت می کنیم ، که ماهانه چند میلیون تماس API ارسال می کنند ، از جمله درخواست های عادی و برخی از مصرف کنندگان بیشتر مانند واردات / صادرات فله یا همگام سازی با ادغام های شخص ثالث. [19659014] چرا در وهله اول هرووك؟
هرووك هنگام راه اندازي Voucherify در سال 2015 يك راه حل مناسب بود. اين امر به ما ميزباني مقرون به صرفه و گردش کار استقرار مداوم فوق العاده داد. هرکسی که قبلاً از هرووک استفاده کرده است می داند که ادغام آن با Github چقدر ساده است و چقدر سریع می توانید آن را مستقر کنید. علاوه بر این ، هرووک کاملاً مستند است و جامعه کاملاً پر جنب و جوش است.
همه اینها به شما این امکان را می دهد تا تمرکز خود را روی محصول خود متمرکز کنید بدون اینکه بخواهید یک شخص اختصاصی را به مدت طولانی مدت به وسایل نقلیه اختصاص دهید. این پرونده 16 ماه پوند بود. میزبانی روی هرووک در واقع سرعت دارد. شما بدون ایجاد زحمت در زیرساخت ها (اسکریپت های استقرار ، مقیاس بندی یا امنیت) فقط می سازید ، حمل و نقل می کنید. اما سرعت خود را در تأخیر اندک توسط مراکز داده هرووک واقع در سراسر جهان نشان می دهد. این برای ما بسیار مهم است زیرا اولویت اصلی برای پلت فرم API-اول ما تجربه توسعه دهنده است – و من هیچ طرحی را نمی دانم که از پاسخ های تنبل خوشحال باشد.
نقطه شکست
هرووک خوب بود اما سکوی ما شروع شده است. رشد پویاتر. مشتریان شرکتهای جدید که مایل به خدمت ده ها هزار تماس مکالمه API در روز هستند. رویکرد چریکی ما برای مقیاس دینوس بیشتر و پرهزینهتر شد. ما می دانستیم که در طولانی مدت مقیاس مالی نخواهد بود.
اینگونه صورتحساب ما به نظر می رسد:
- خدمات API – 750 دلار (فقط Dynos برای اداره ترافیک ، بدون پایگاه داده)
- داشبورد وب – 50 دلار
- بعدی Dyno برای حمل و نقل با API اضافی ، حداقل 50 دلار
- در مورد عملیات گسترده (واردات ، صادرات) ، ما به ظروف بزرگتر حتی با حافظه اضافی احتیاج داشتیم. بنابراین ، این هزینه پس از آن به 250 دلار در هر وب Dyno افزایش یافت.
اما قیمت گذاری تنها دلیلی نبود که ما از هرووک دور شدیم.
اولا ، ما شروع به اشکال زدایی عجیب و سخت کردیم. مشکلات زیرساختی چند بار متوجه شدیم که پلتفرم ما دارای مشکلات بوده و به صورت غیر قطعی پاسخ داده است. در خارج از کشور ما برای پیدا کردن این مشکل ، فقط برای فهمیدن (مشکلات بسیار دیرتر) که مشکلات مربوط به هرووک است ، وجود دارد. صفحه وضعیت بلافاصله به روز نشده است. بعضی اوقات آنها به سرعت واکنش نشان می دادند ، بعضی اوقات مجبور می شدیم خودمان به این مشکل بپردازیم زیرا این کار چندین ساعت طول کشید. برنامه های هرووک در مورد ساختار منابع دستگاه دقیق است. به همان اندازه که می دانیم چنین سیاستی برای محدود کردن منابع مهم و توجیه پذیر است ، باید در نظر داشته باشید که هر برنامه متفاوت است و بنابراین به یک پروفایل استفاده از پردازنده / حافظه مناسب نیاز دارد. در واقع ، ما هنگامی که برنامه را برای حافظه بیشتر به روز کردیم ، برای پردازنده اضافی بلااستفاده هزینه پرداخت کردیم. و وقتی نیاز دارید که برنامه خود را ترازو کنید ، بیشتر و بیشتر قابل رویت می شود. بیایید نگاهی به پرونده ما بیندازیم. تام ، مهندس زیرساخت ما ، می گوید:
اکنون ، دقیقاً با همان قیمت ماهانه (فقط 750 دلار خدمات ، بدون دیتابیس) ما در مدیریت عملیات فله مشکلی نداریم زیرا ما از منابع به درستی استفاده می کنیم . علاوه بر این ، ما می توانیم 600٪ ترافیک بیشتری داشته باشیم.
سوم ، عدم وجود آدرس IP خصوصی – – ما اعلان هایی دریافت کردیم که برنامه ما باعث ایجاد ترافیک اسپم می شود. علاوه بر این ، برخی از مشتریان سازمانی ما سیاست های امنیتی را برای کنترل ترافیک برون مرزی دارند و از ما آدرس IP را برای دیواره آتش خود درخواست کردند – با Heroku ما نتوانستیم این نیاز را برآورده کنیم.
و در آخر ، افزونه های محدود – برخی از افزونه های Heroku با نسخه های اخیر نرم افزار Voucherify سازگار نیست. به عنوان مثال ، افزونه کامپوزیت فقط در نسخه 2.6 آن قابل استفاده است.
در کل ، هرووک هم به وقت و هم وقت گیر تر شد.
{{CTA}}
راه اندازی کوپن متنی ، ارجاع ، تخفیف ، و کمپین های وفاداری سریعتر
محاکمه رایگان را آغاز کنید
{{ENDCTA}
AWS برای نجات
چرا AWS؟ خوب ، من حدس می زنم که این یک پاسخ ناامیدکننده است ، اما محبوب ترین ارائه دهنده ابر در خارج از کشور است و ما تجربه قابل توجهی از پروژه های قبلی داریم. ما تحقیق کاملی انجام ندادیم. بعلاوه ، نمونه های پایگاه داده ما قبلاً در AWS در همان مناطق میزبانی شده بودند.
فرآیند مهاجرت – یا چگونگی نگهداری همه سیستم ها 100٪ عملیاتی
API ما صدها هزار درخواست درخواست بازخرید کوپن در سراسر جهان را کنترل می کند. اگر API پایین بیاید ، در جائی از جهان ، تعداد زیادی از افراد خجالت زده می شوند و وقتی تخفیف های Latte آنها در هنگام پرداخت غیرقانونی می شود ، ناامید می شوند. یا ، کسی نمی تواند از کارت هدیه تولد برای پرداخت هزینه آن پهپاد جدیدی که مدتها در آن خواب دیده اند ، استفاده کند. چنین موارد ناخوشایند به سرعت برای مشتریان ما تشدید می شود ، آنها ناامید می شوند و این آخرین چیزی است که ما می خواهیم.
به همین دلیل ما با یک گام استراتژی در دسترس برای اولین بار در دسترس برای اولین بار مهاجرت کردیم. در اینجا نحوه انجام این کار آمده است.
- ما یک برنامه واحد را با یک اسکریپت bash مهاجرت کردیم. اما هنگامی که ما به جزئیات (وابستگی ، تکه های امنیتی و غیره) رسیدیم ، فیلمنامه به سختی تعمیر و نگهداری IT شد. به ظروف روی آوردیم. از آنجا که API ما روی ناوگان سرورها کار می کند و به تعادل بار ، مقیاس خودکار و عدم موفقیت نیاز دارد (هرووک این را از جعبه می دهد) ، ما برای تنظیم این کار به kubernetes ضربه زدیم. به نظر می رسد که آنها نسبت به Mesos و Docker Swarm
- بزرگترین اجتماع دارند
- Kubernetes از Google Cloud Platform خارج از کادر پشتیبانی می کند ، اما این مورد برای AWS به همین دلیل نیست ، به همین دلیل ما از StackPoint استفاده کردیم تا پیکربندی k8s را آسان تر کند. به این ترتیب ، ما لازم نیست وقت زیادی را برای پیکربندی خوشه در AWS اختصاص دهیم. بهترین چیز در مورد StackPoint این است که آنها بدون توجه به تعداد گره ها ، نرخ تختی را ارائه می دهند. مقدار اضافی استفاده از k8s این است که می توانیم در صورت لزوم خوشه را به یک ارائه دهنده ابر دیگر منتقل کنیم. این یک نکته شگفت آور معتبر است زیرا اخیراً از ما خواسته شده است که گزینه ای را بطور ویژه در خارج از AWS میزبانی کند. سرانجام ، با این راه اندازی ، ما همیشه می توانیم ظرف 15 دقیقه یک خوشه را در منطقه دیگری ایجاد کنیم.
- معرفی بستر نظارت k8s – پرومتئوس + گرافانا. ما مقاله ای را برای توصیف این مجموعه در صف قرار داده ایم ، می توانید برای دریافت اطلاعیه در وبلاگ ما عضو شوید.
- با استفاده از منابع فعلی منابع موجود در Heroku ، برای تعیین یک مرجع برای منابع کانتینر و انتخاب گره های مناسب کارگر در EC2
- محاسبه می شود. مسیریابی ترافیک با Route53:
– 10٪ AWS – 90٪ Heroku
– 25٪ – 75٪
– 50٪ – 50٪
– 100٪ AWS
نتیجه
در در پایان ، ما یک سکوی قابل پیش بینی تر دریافت کردیم و آن را در برابر رشد ترافیک برای دو ماه آینده اثبات کردیم. ما هنوز از هرووک برای چند سرویس مانند داشبورد خود استفاده می کنیم ، زیرا استقرار آن ساده تر است و به هیچ وجه به منابع زیادی احتیاج ندارد. Heroku Connect نیز شایان ذکر است. ما آن را دوست داریم زیرا این کار تلاش همگام سازی Salesforce را کاهش می دهد.
سرانجام ، ما نیز به عنوان نمونه پستچی ها را به دور از هرووک کوچ کردیم. انجام این کار بدون توقف تولید ، ما را ملزم به استفاده از ترفندهای جالبی می کند. ما آنها را در پست بعدی شرح خواهیم داد. با ما باشید!
