«همه چیز به عنوان کد» چیست و چرا اهمیت دارد


جلسات درخواستی از اجلاس Low-Code/No-Code را بررسی کنید تا بیاموزید چگونه با ارتقاء مهارت و مقیاس‌بندی توسعه‌دهندگان شهروند، نوآوری موفقیت‌آمیز و دستیابی به کارایی داشته باشید. الان ببین.


به زبان ساده، «همه چیز به عنوان کد» (EaC) راهی برای مدیریت زیرساخت فناوری اطلاعات و ساختن سیستم‌ها و ابزارهایی است که از برنامه‌های نرم‌افزاری مدرن پشتیبانی می‌کنند. فرآیندها و فعالیت‌های دستی که افراد انجام می‌دهند را می‌گیرد و آنها را به کد نرم‌افزاری تبدیل می‌کند تا ماشین‌ها بتوانند آن کارها را به جای آن انجام دهند. هر چیزی که تیم ها باید بفهمند، توافق کنند و کنترل کنند، مستند شده و به عنوان یک فایل پیکربندی که انسان ها می توانند آن را بخوانند، «رمد» می شود و سپس ماشین ها می توانند اجرا کنند.

تصور کنید که آشپزخانه شما بتواند به نحوی دستور پخت مورد علاقه شما را بفهمد و سپس به طور خودکار ابزار مناسب برای آماده کردن آن، فرآیند درست برای پخت آن، و حتی ترکیب مناسب شراب و دسر را انتخاب کند و سپس آن وعده غذایی را بارها و بارها برای شما سرو کند. ، هر بار که آن را خواستید. غیر ممکن به نظر می رسد؟ …این است. اما اگر آشپزخانه شما یک ارائه دهنده ابر عمومی بود و غذای شما یک برنامه نرم افزاری بود، تقریباً دقیقاً همان چیزی است که در اینجا در مورد آن صحبت می کنیم.

همه چیز به عنوان کد به توسعه دهندگان این امکان را می دهد که به ارائه دهندگان ابری خود (یا سیستم های محلی خود) دقیقاً به آنچه برای “ارائه” برنامه عالی نیاز دارند، بگویند و سپس سیستم ها و ابزارها و فرآیندها همگی آن برنامه را اجرا کنند تا آن را انجام دهند.

استفاده از بهترین شیوه های توسعه برای تسریع زمان ورود به بازار

EaC به همان اندازه که یک تغییر تکنولوژیک است، یک تغییر فرهنگی بوده است، زیرا روش توسعه دهندگان را کاملاً متحول کرد فکر در مورد ساخت، استقرار و به روز رسانی نرم افزار. به عنوان مثال، قبل از «به عنوان کد»، اگر مثلاً یک کسب و کار کوچک نیاز به اجرای یک برنامه داشته باشد، باید اقدامات زیادی را انجام دهد. یک مدیر فناوری اطلاعات یک سرور فیزیکی با مقدار مناسب دیسک داخلی، پردازنده و حافظه فیزیکی سفارش می دهد. چند هفته بعد می رسد و ادمین باید سیستم عامل را نصب می کند، هسته را برای حداکثر کارایی پیکربندی می کند و سپس سرور را به یک شبکه فیزیکی متصل می کند. همه این مراحل زمان‌بر بودند، مستعد خطاهای انسانی بودند و به راحتی مقیاس‌پذیر نبودند – و فقط چند مورد از کارهایی که باید انجام می‌شد تا توسعه‌دهندگان نرم‌افزار بتوانند واقعاً برنامه‌های خود را اجرا کنند.

رویداد

اجلاس امنیت هوشمند

نقش حیاتی AI و ML در امنیت سایبری و مطالعات موردی خاص صنعت را در 8 دسامبر بیاموزید. امروز برای پاس رایگان خود ثبت نام کنید.

اکنون ثبت نام کنید

با رویکرد «به‌عنوان کد»، یک توسعه‌دهنده می‌تواند زیرساخت مشابهی را در یک فایل پیکربندی خط مشی توصیف کند، که به ارائه‌دهنده ابر انتخابی خود دقیقاً نوع مناسب محیط سرور را برای «چرخش» می‌گوید. ارائه‌دهنده ابر می‌تواند آن را در چند ثانیه راه‌اندازی کند و توسعه می‌تواند بلافاصله شروع شود. بعداً، اگر توسعه‌دهنده نیاز به ایجاد تغییر یا انتقال از یک محیط آزمایشی به یک محیط تولید داشته باشد، می‌تواند فقط فایل را در کد تغییر دهد، آن را دوباره ارسال کند و ارائه‌دهنده ابر آن را در عرض چند ثانیه به‌روزرسانی می‌کند. این امر سرعت و مقیاس را به طور تصاعدی افزایش می دهد زیرا ماشین ها می توانند کد را بسیار سریعتر از انجام وظایف توسط انسان ها اجرا کنند و اگر به درستی انجام شود، می تواند خطاهای انسانی و کارهای تکراری را نیز از بین ببرد.

نمونه های محبوب “به عنوان کد”.

دو نمونه از محبوب‌ترین نمونه‌های «as code» که بخشی از جنبش Everything as Code هستند، زیرساخت به‌عنوان کد و خط‌مشی به‌عنوان کد هستند:

زیرساخت به عنوان کد

نرم افزار مدرن در یک محیط بیش از حد مجازی اجرا می شود که پیچیدگی را اضافه می کند اما سطح بی نظیری از کنترل را نیز امکان پذیر می کند. کد برنامه در کانتینرهای مجازی اجرا می‌شود که خود بر روی ماشین‌های مجازی اجرا می‌شوند و همگی به شبکه‌های مجازی متصل هستند – همه اینها را می‌توان با کد نرم‌افزاری کنترل کرد. امروزه، توسعه‌دهندگان به‌جای سفارش سرور، می‌توانند به سادگی نیازهای برنامه‌شان را تعریف کنند و سپس آن درخواست را به عنوان کد نرم‌افزار ارسال کنند. پلتفرم های ابری آن کد را اجرا می کنند و به طور خودکار محیطی را که درخواست شده است می سازند. چیزی که واقعاً در این مورد مهم است این است که به شرکت‌ها اجازه می‌دهد تا «مقیاس بر اساس تقاضا» را انجام دهند – آنها برای استفاده واقعی در هر زمان معینی پرداخت می‌کنند، و می‌توانند در صورت نیاز مقیاس را افزایش یا کاهش دهند.

خط مشی به عنوان کد

این زمانی است که خط‌مشی‌ها مجموعه‌ای از قوانین هستند که در سیستم‌های مختلف مدون و اجرا می‌شوند. به «سیاست به‌عنوان کد» به‌عنوان مجموعه‌ای از نرده‌های محافظ فکر کنید که تعیین می‌کنند چه چیزی مجاز است اتفاق بیفتد و چه چیزی هرگز نمی‌تواند اتفاق بیفتد. خط مشی از برنامه یا زیرساخت جدا شده است – یا جدا شده است. به این ترتیب، اگر یک خط‌مشی نیاز به تغییر داشته باشد، توسعه‌دهنده مجبور نیست بقیه برنامه یا زیرساخت را به‌روزرسانی کند – یا نگران تغییر یا خرابی آن باشد. این بدان معناست که می توانید کدگذاری خط مشی را بدون تغییر کدگذاری برنامه تغییر دهید. عامل سیاست باز (OPA) یک نمونه عالی از خط مشی به عنوان کد است – OPA یک موتور سیاست همه منظوره است که استاندارد واحدی را برای خط مشی ارائه می دهد که می تواند در هر جایی اجرا شود.

سه مزیت برتر رویکرد همه چیز به عنوان کد

وقتی به انسان ها اجازه می دهید خلاق باشند و به مشکلات سخت فکر کنند، و به آنها اجازه دهید با هم همکاری کنند، به اشتراک بگذارند و تصور کنند، همه ما می دانیم که جادو می تواند اتفاق بیفتد. همه چیز به‌عنوان کد به انسان‌ها اجازه می‌دهد تصمیم بگیرند که چه چیزی درست است، و سپس ماشین‌ها را موظف می‌کند تا آن را درست کنند. این بدان معناست که شما از همه چیز بهترین نتیجه را می گیرید، از جمله:

  • تکرارپذیری: تمامی فرآیندها، خط مشی ها و توضیحات در کد نوشته شده اند، بنابراین به راحتی قابل تکرار هستند. فرض کنید توسعه‌دهنده‌ای که برای یک بانک جهانی کار می‌کند می‌خواهد خط‌مشی را تنظیم کند که می‌گوید: «فقط کاربرانی که در مرکز ایالات متحده هستند می‌توانند بین ساعت‌های ۹ صبح تا ۵ بعدازظهر CT به حساب‌های تجاری دسترسی داشته باشند». اگر توسعه دهنده دیگری واقع در اروپا بخواهد همان سیاست را اجرا کند، اما با منطقه زمانی به روز شده، به راحتی می تواند این خط مشی را برای انجام این کار تکرار کند. این باعث صرفه جویی در زمان توسعه دهنده دوم می شود، آنها را از اختراع مجدد چرخ رها می کند و همچنین به معنای فضای کمتری برای خطا است.
  • مقیاس‌پذیری: تعریف پیکربندی به‌عنوان کد به این معنی است که سیستم‌ها می‌توانند در صورت تقاضا با کمی خطر خطا، افزایش یا کاهش پیدا کنند. و از آنجایی که محیط‌ها به معنای واقعی کلمه در کد تعریف شده‌اند و می‌توان آن‌ها را در هر جایی چرخاند، آزمایش نیز آسان‌تر می‌شود. محیط‌های توسعه، آزمایش و تولید می‌توانند تا حد امکان نزدیک به یکسان باشند و درس‌های آموخته‌شده در یکی را می‌توان به تنهایی با تغییر خط‌مشی برای دیگران اعمال کرد. با رویکرد «به عنوان کد»، توسعه‌دهندگان می‌توانند تغییرات خود را قبل از تولید آزمایش کنند و خطر خطاها و خطرات امنیتی را کاهش دهند. اتوماسیون همچنین زمان توسعه دهندگان را آزاد می کند و به آنها اجازه می دهد تا روی کارهای متفاوت تری تمرکز کنند.
  • امنیت: وقتی خط‌مشی امنیتی و پیکربندی از جعبه‌های سیاه اختصاصی، فایل‌های PDF و جلسات تیم خارج می‌شوند و در عوض در فایل‌های خط‌مشی کدگذاری می‌شوند، تیم‌ها می‌توانند با آن فایل‌های خط‌مشی مانند هر فایل نرم‌افزار دیگری رفتار کنند. این بدان معناست که آنها آن را بررسی می کنند و آن را بررسی می کنند. آنها بر روی آن تکرار می کنند و آن امنیت را در همه جا پیاده می کنند. در صورت نیاز می توان آن را به جلو یا عقب غلت داد. و هنگامی که تیم ها نیاز دارند به حسابرسان ثابت کنند که خط مشی آنها مطابقت دارد، آنها به راحتی می توانند به کد اشاره کنند.

وقتی به درستی انجام شود، «همه چیز به عنوان کد» به تیم‌ها اجازه می‌دهد آنچه را که درست است تعریف کنند و سپس به سیستم‌ها اجازه می‌دهد آن را از آنجا بگیرند. توانایی ساخت برنامه‌ها و حل مشکلات را دموکراتیک می‌کند، به این معنی که افراد بیشتری می‌توانند به محصول نهایی بهتر کمک کنند.

و البته همه چیز به عنوان کد فقط مربوط به کنترل سیستم ها نیست. همچنین از فرهنگ کاری که توسعه دهندگان نرم افزار ساخته اند برای به حداقل رساندن خطاها و به حداکثر رساندن رضایت و بهره وری بهره می برد. با حذف خودکار تکرار و تقویت همکاری، همه چیز به عنوان کد به انسان اجازه می‌دهد روی چالش‌های جدید و کار معنادار تمرکز کند و به ماشین‌ها اجازه می‌دهد بقیه را مدیریت کنند.

تیم Hinrichs CTO و یکی از بنیانگذاران Styra است.

DataDecisionMakers

به انجمن VentureBeat خوش آمدید!

DataDecisionMakers جایی است که کارشناسان، از جمله افراد فنی که کار داده را انجام می دهند، می توانند بینش ها و نوآوری های مرتبط با داده را به اشتراک بگذارند.

اگر می‌خواهید درباره ایده‌های پیشرفته و اطلاعات به‌روز، بهترین شیوه‌ها و آینده فناوری داده و داده مطالعه کنید، به ما در DataDecisionMakers بپیوندید.

شما حتی ممکن است در نظر داشته باشید که مقاله ای از خودتان ارائه دهید!

از DataDecisionMakers بیشتر بخوانید