قابل اجرا از طریق رایانه: چرا AWX/Tower بهتر است

قابل اجرا از طریق رایانه: چرا AWX/Tower بهتر است

این مجموعه وبلاگ بر ارائه پروژه های پیچیده DevOps به عنوان ساده و قابل دسترسی از طریق زبان ساده و تصاویر زیاد تمرکز دارد. شما می توانید این کار را انجام دهید!

Ansible یک ابزار انعطاف پذیر و قدرتمند است که اجازه می دهد وظایف به زبان ساده YAML نوشته شوند و می تواند کارهای شگفت انگیزی انجام دهد.

شما می توانید Ansible را از هر یونیکس اجرا کنید مانند کامپیوتر ، از جمله macOS ، اما نه Windows (متأسفانه کاربران ویندوز). با این حال ، برخی از محدودیت های عمده برای اجرای رایانه شخصی شما در مقایسه با اجرای از یک پلت فرم مرکزی متصل به CI/CD وجود دارد.

بیایید مدتی را در مورد مشکلاتی که باید با Ansible برای مقابله با آنها صحبت کنید صحبت کنیم. بر روی رایانه محلی شما و نحوه عملکرد بهتر AWX/Tower.

موجودی میزبان: هدفگذاری

Ansible ورودی وظایف و نقش های YAML را می گیرد و این را به SSH (لینوکس- مانند) یا دستورات WinRM (windows). با میزبانهایی که مشخص کرده اید تماس می گیرد و مشاغل idempotent (قابل تکرار ، حالت دار) را اجرا می کند و سپس وضعیت را گزارش می دهد.

گذشته از همه چیزهای جالب قابل پاسخگویی ، وظیفه ای برای شما وجود دارد - میزبان ها چه کاری انجام می دهند شما هدف دارید؟ اگر فقط چند (یا حتی چند ده) میزبان دارید ، می توانید با یک لیست ثابت از موجودی کار کنید - نام و IP آنها ذکر شده است و از آنجا خارج می شوید.

موجودی های استاتیک به نظر می رسد این:

 [DataCenterHosts]
میزبان 1 ansible_host = 10.10.10.1
Host2 ansible_host = 10.10.10.2
Host3 ansible_host = 10.10.10.3 

و این برای زیرساخت های قدیمی-جایی که میزبان شما حیوانات خانگی هستند-بسیار ثابت ، نامدار ، تغییرپذیر و طولانی مدت بسیار مفید است.

اما در مورد این دنیای جدیدی که با آن روبرو هستیم؟ خدمات خرد ، میزبانهای تغییر ناپذیر که به طور مداوم بازسازی می شوند ، محیط های ابری که بر اساس مشاغل پویا بالا یا پایین می چرخند یا برنامه ها؟ خوب ، پس از آن این لیست میزبان ثابت جذابیت کمتری پیدا می کند و بیشتر شبیه کارهای زیادی است که حتی به آرامی به روز می شوند.

با این حال ، راه بهتری وجود دارد! موجودی های پویا (در واقع فقط موجودی با منابع داده پویا) هنگامی که شغلی آنها را هدف قرار می دهد به طور خودکار به روز می شوند. آنها با ارائه دهنده ابرداده ابر صحبت می کنند تا میزبانهایی را انتخاب کند که: ارائه دهنده ابر در مورد

این موجودی های پویا از قابلیت Ansible بومی استفاده می کند ، اما مدیریت اطلاعات و انتخاب ها در رایانه محلی شما دشوار است ، اما می تواند به راحتی در سرور AWX/Tower پیکربندی و خودکار شود. < /p>

اعتبارنامه: چگونه وارد می شویم؟

پس از مشخص شدن میزبان های هدف ، باید انتخاب کنیم که از کدام احراز هویت برای ورود به میزبان استفاده کنیم. به یاد داشته باشید ، Ansible ، چه به صورت محلی در ایستگاه کاری خود و چه از سرور AWX/Tower اجرا شود ، مستقیماً به میزبان احراز هویت می شود.

اگر این کار Ansible را به صورت محلی اجرا می کنید ، باید به احراز هویت اشاره کنید. گذرواژه ها را وارد کرده یا تایپ کنید ، که هر دو به راحتی به شما اجازه می دهند رمز عبور مورد استفاده برای احراز هویت را بدانید و مشاهده کنید. این بدان معناست که حقوق اداری به احتمال زیاد در معرض هر کسی است که این ابزارها را اجرا می کند.

اشکالی ندارد ، اما بهتر است استفاده از اتوماسیون را در اختیار کاربرانی قرار دهیم که شاید واجد شرایط مهندس کامل نیستند با حقوق سرپرست در این سیستم ها ، درست است؟

در این صورت ، AWX راه حل بهتری دارد. اعتبارنامه ها را می توان ایجاد و افشا کردبرای کاربر بدون به اشتراک گذاری در متن ساده ، چیزی که در صورت استفاده صحیح بسیار قدرتمند است.

تصور کنید که یک گردش کار یا شغلی ایجاد کنید که یک مرکز عملیات امنیتی (SOC) بتواند اجرا کند که IP را در چندین فایروال مسدود کند ، یا به روزرسانی ها را به صورت موج در سرور اجرا می کند ، بدون اینکه تیم SOC/NOC قادر به ورود به سیستم و ایجاد تغییرات دستی در میزبان شما باشد.

واقعا قدرتمند است. در زمانبندی

در نهایت ، ما باید واقعاً ansible را اجرا کنیم. همانطور که در بالا توضیح دادیم ، Ansible فقط از یک میزبان شبیه یونیکس قابل اجرا است. میزبان های ویندوز (در حال حاضر) قادر به اجرای Ansible نیستند. مهندسان البته می توانند یک ماشین مجازی بسازند و Ansible را از آنجا اجرا کنند ، اما در حال حاضر پیچیدگی قابل توجهی در حفظ یک ایستگاه کاری به ازای هر کارمند وجود دارد و در حال حاضر انتظار می رود که مهندسین دو دستگاه را حفظ کرده و نسخه ها را با دیگر مهندسان DevOps همگام نگه دارند؟

این دستورالعمل شکست است.

با این حال ، روش بهتری با AWX وجود دارد. این میزبان دونده خود ، میزبان کوچک مبتنی بر لینوکس را در یک ظرف می چرخاند. این میزبان همیشه در سمت سرور در دسترس است تا Ansible را اجرا کند. این مزایای کمی دارد.

مزایای 1: همیشه در دسترس

می توان برنامه ریزی کرد که مشاغل سالها در هر دقیقه یا شب هنگام که همه در خواب هستند اجرا شوند. از آنجا که این دونده همیشه در دسترس است ، برنامه های کاربردی cron سمت سرور می توانند به طور موثری مشاغل را بدون در نظر گرفتن اینکه دستگاه های کارمند در کجا هستند ، روشن یا خاموش اجرا می کنند. مبالغه نکنید - میزبانهای ویندوز نمی توانند Ansible را اجرا کنند. مهندسان شما باید یا در میزبانهای مبتنی بر مک یا لینوکس باشند یا یک ماشین مجازی را اجرا کنند.

داشتن یک دونده لینوکس همیشه در دسترس که دارای نرم افزار و سیستم عامل مناسب است ، میزان تخصص مورد نیاز یک مهندس را کاهش می دهد. برای بهره مندی از ابزارهای DevOps و کارآیی های اتوماسیون.

مزیت 3: دسترسی به شبکه

بسته به پیچیدگی مورد نیاز شبکه شما ، برخی از کارکنان ممکن است نتوانند به همه میزبان ها دسترسی پیدا کنند بنادر مورد نیاز آنها برای کارکردن Ansible به جای اجازه دادن به کارکنان یا تیم های جداگانه برای دسترسی ، می توانید فقط به محفظه "task" AWX که این مشاغل را اجرا می کند ، اجازه دهید.

این می تواند به استانداردسازی و محدود کردن دسترسی به شبکه کمک کند ، یک مزیت امنیتی بیشتر. < /p>

فروخته شد؟ بیایید آن را بسازیم

امیدوارم که من روشن کرده باشم که AWX چقدر می تواند قدرتمند باشد و چرا مفید است. بنابراین ، اکنون ، بیایید به ساخت آن بپردازیم!

من در حال حاضر مقالاتی می نویسم که در مورد نحوه استقرار و نگهداری AWX ، نحوه ایجاد موجودی های پویا و نحوه ایجاد اعتبار مدولار و مقیاس پذیر است. < /p>

اجازه دهید به آن برسیم. موفق باشید بیرون! kyler

today امروز به FAUN بپیوندید و هر هفته داستانهای مشابه دریافت کنید در صندوق ورودی شما! ️ دوز هفتگی خود را از داستانها ، اخبار و آموزشهای فنی ضروری مطالعه کنید.

ما را در توییتر Facebook و فیس بوک

شبیه سازی یک کامپیوتر کوانتومی با Qiskit

شبیه سازی یک کامپیوتر کوانتومی با Qiskit

شبیه سازهای کوانتومی Qiskit-نحوه استفاده از آنها و کاربرد آنها

آیا می خواهید یادگیری ماشین کوانتومی را شروع کنید؟ نگاهی به یادگیری ماشینهای کوانتومی دستی با پایتون بیندازید.

در محاسبات کوانتومی ، ما از ویژگیهای اساسی فیزیک کوانتومی برای انجام محاسبات استفاده می کنیم: برهم نهی و درهم تنیدگی. به پدیده کوانتومی که در آن یک سیستم کوانتومی در ترکیب خطی پیچیده ای از حالات کوانتومی | 0⟩ و | 1⟩ وجود دارد. درهم تنیدگی یک رابطه بسیار قوی بین ذرات کوانتومی است. ذرات درهم تنیده حتی اگر با فواصل زیاد از هم جدا شده باشند کاملاً در ارتباط هستند.

صرف این واقعیت که ما قادر به استفاده از این پدیده ها برای انجام یک محاسبه هستیم ، حیرت انگیز است. اما این واقعیت که این نوع محاسبات ما را قادر می سازد تا مشکلات ظاهراً حل نشدنی را حل کنیم ، قابل تصور نیست.

شگفت آور اینکه ما حتی به رایانه های کوانتومی نیز احتیاج نداریم. ما می توانیم آنها را با استفاده از یک دفترچه روزمره شبیه سازی کنیم.

فرض کنید ما مدار کوانتومی زیر را داریم.

تصویر نویسنده

دروازه Hadamard را بر روی یک کیوبیت در حالت پایه | 0⟩ برای قرار دادن آن در حالت |+apply اعمال می کنیم. در این حالت ، ما 50٪ احتمال داریم که کیوبیت را 0 و 50٪ شانس آن را 1 داریم.

فهرست زیر این مدار را در Qiskit - SDK محاسبه کوانتومی IBM نشان می دهد.

Qiskit بسته Aer را ارائه می دهد. این پشتوانه های مختلفی را برای شبیه سازی مدارهای کوانتومی ارائه می دهد. بیایید با اولین مورد ، یعنی qasm_simulator شروع کنیم.

هنگامی که مدار کوانتومی (qc) خود را با پسوند qasm_simulator (یا هر باطن دیگر) اجرا کردیم ، می توانیم با استفاده از متد job.result () نتیجه را بدست آوریم. به ما می توانیم این نتیجه را به اعداد (get_counts ()) تبدیل کنیم که به هیستوگرام توزیع حاصله وارد می کنیم.

حتی اگر مدار کوانتومی ما کیوبیت تولید کند که با احتمال 50٪ آن را 0 می سنجیم ، نتیجه توزیع کمی متفاوت را نشان می دهد.

تصویر نویسنده

به این دلیل است که شبیه ساز qasm_simulator شمارش اندازه گیری را به صورت تجربی بازیابی می کند. پارامتر Shots به Qiskit می گوید که چند بار مدار را اجرا کرده و نتیجه اندازه گیری شده را بدست آورد. بنابراین نتیجه کاملاً دقیق نیست. اما هر چه تعداد شلیک ها بیشتر باشد ، نتیجه دقیق تر می شود.

شبیه ساز qasm فقط بیت های کلاسیکی را که هنگام اندازه گیری کیوبیت های خود استفاده می کنیم در نظر می گیرد. مطابق با مکانیک کوانتومی ، ما نمی توانیم وضعیت واقعی کیوبیت را ببینیم. فقط می توانیم آن را مکررا اندازه گیری کنیم تا وضعیت آن به دست آید.

البته دانستن وضعیت دقیق مفید خواهد بود یک کیوبیت - به خصوص در حین توسعه یک مدار کوانتومی.

خوشبختانه ، Qiskit باطن دیگری را ارائه می دهد ، شبیه ساز statevector_simulator. این شبیه ساز حالت دقیق کیوبیت را محاسبه می کند. هنگامی که از این شبیه ساز استفاده می کنیم ، مهم است که همه اندازه گیری ها را حذف کنیم زیرا اندازه گیری روی هم قرار گرفتن کوانتوم را از بین می برد و ناگزیر منجر به حالت قطعی سیستم می شود. اما ما علاقه مند هستیم برهم نهی کوانتومی قبل از فروپاشی.

کد زیر مدار کوانتومی به روز شده را نشان می دهد. توجه داشته باشید ، statevector_simulator پارامتر عکس ها را نمی گیرد.

مشابه با شبیه ساز qasm_s ، ما می توانیم شمارش را از نتیجه اجرا دریافت کنیم.

تصویر نویسنده

نتیجه احتمالات دقیق اندازه گیری را نشان می دهد.

اما چگونهاین کار را انجام می دهد؟

برای درک اینکه چگونه یک کامپیوتر کلاسیک می تواند مدار کوانتومی را محاسبه کند ، باید در نظر بگیریم که حالت کوانتومی (اینجا | 0⟩) ​​و عملگر کوانتومی (اینجا H) واقعاً چیست.

در مکانیک کوانتومی ، از علامت Dirac استفاده می کنیم که شبیه | 0⟩ است. این چیزی جز یک بردار ساده نیست.

عملگرهای کوانتومی معمولاً با حروف بزرگ مانند H. نشان داده می شوند ، اما آنها نیز چیز جالبی نیستند. عملگر کوانتومی یک ماتریس است.

در نهایت مدار کوانتومی اصلاً چیز جالبی نیست ضرب ماتریسی است. آره. کل مدار ماتریس H را با بردار | 0⟩ ضرب می کند و بردار دیگری تولید می کند ، همانطور که در معادله زیر نشان داده شده است.

بردار حاصله دامنه های اندازه گیری را نشان می دهد که مربعات آنها احتمالات اندازه گیری هستند. مربع 1/sqrt (2) 1/2 است.

از شیء results ، می توانیم بردار حاصله را با استفاده از متد get_statevector () بدست آوریم. خروجی آرایه ای از بردارهای حالت است. در مثال ما ، آرایه: .

باطن statevector_simulator وضعیت سیستم کوانتومی داده شده را محاسبه می کند. برای بررسی کیوبیت ها در حالت برهم نهی ایده آل است.

مدار کوانتومی ما از یک عملگر واحد تشکیل شده است - دروازه هادامارد. فرض کنید ، ما به جای آن یک دنباله کامل از دروازه ها را اعمال می کنیم. به عنوان مثال ، می توانیم سه دروازه HZH را اعمال کنیم (در این پست در مورد توالی HZH بیشتر بدانید).

تصویر نویسنده

وقتی مدار را اجرا می کنیم ، می بینیم که نتیجه آن 1 است (اگر کیوبیت در حالت | 0⟩ باشد). اگر می خواهید این نتیجه را به صورت ریاضی تأیید کنید ، باید سه ماتریس ضرب کنیم.

حتی برای ماتریس های کوچک ، ضرب آنها دست و پا گیر است. شما باید چندین ضرب را انجام دهید و باید اطمینان حاصل کنید که سطرها و ستون ها را با هم مخلوط نکنید.

بنابراین ، من همیشه از کامپیوتر برای ضرب ماتریس ها استفاده می کنم. هزاران ماشین حساب برای انجام این کار وجود دارد. اما راحت ترین آن داخل Qiskit است. این شبیه ساز واحد است.

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

کد زیر ماتریس مدار H-Z-H را خروجی می دهد. همانطور که می بینیم ، شبیه ماتریس NOT-gate است. بنابراین ، جای تعجب نیست که وقتی روی یک کیوبیت در حالت | 0⟩ اعمال می شود ، نتیجه یک کیوبیت در حالت | 1⟩ است که ما همیشه آن را به عنوان یک آرایه 1.

 ([
  [2.22044605e-16+6.1232340e-17j ، 1.00000000e+00-1.8369702e-16j] ،
  [1.00000000e+00-6.1232340e-17j ، -2.22044605e-16+6.1232340e-17j]
]) 

اگر محاسبات کوانتومی ضرب ماتریسی باشد ، موضوع مهم چیست؟

ضرب ماتریس چیز جالبی نیست. مشکل این است که به محاسبات زیادی نیاز دارد. هرچه ماتریس بزرگتر باشد ، (به صورت نمایی) تعداد عملیات ضرب مورد نیاز بیشتر است. بنابراین ، هرچه زمان ضرب ماتریس بیشتر طول بکشد. ما می توانیم ماتریس هایی با اندازه دلخواه را با یک کامپیوتر کلاسیک ضرب کنیم. تنها مشکل این است که (تقریبا) برای همیشه طول می کشد تا بزرگ (بیایید بگوییم بزرگ)ماتریس ها اکثر رایانه های کلاسیک قادر نخواهند بود با ماتریس های بزرگتر از 30x30 (م effectivelyثر) کار کنند.

اینجاست که رایانه های کوانتومی مطرح می شوند. آنها ماتریس های زیادی را در یک مرحله ضرب می کنند. اندازه ماتریس مهم نیست بنابراین ، آنها می توانند محاسباتی را انجام دهند که کامپیوترهای کلاسیک نمی توانند (در یک زمان معقول) انجام دهند. چگونه آنها از مکانیک کوانتومی برای انجام محاسبات استفاده می کنند. این بسیار فراتر از آن چیزی است که اکثر افراد (از جمله من) قادر به درک آن هستند.

اما محاسبه کوانتومی چندان پیچیده نیست. در اصل ضرب ماتریس است. در مقیاس کوچک ، کامپیوترهای کلاسیک در ضرب ماتریس بسیار خوب (و دقیق) هستند. بنابراین ، رایانه های کلاسیک می توانند آنچه را که یک کامپیوتر کوانتومی انجام می دهد شبیه سازی کنند.

اما با افزایش اندازه ماتریس ها ، رایانه های کلاسیک به مرزهای خود می رسند. سپس ، دیگر هیچ شبیه ساز به شما کمک نمی کند.

آیا می خواهید یادگیری ماشین کوانتومی را شروع کنید؟ نگاهی به یادگیری ماشینهای کوانتومی دستی با پایتون بیندازید.

سه فصل اول را به صورت رایگان در اینجا دریافت کنید.

چرا رایانه های مدرن برای مطابقت با تاخیر ورودی یک Apple IIe

چرا رایانه های مدرن برای مطابقت با تاخیر ورودی یک Apple IIe

توسط جوئل هروسکا

مقایسه تأخیر ورودی یک رایانه مدرن با سیستمی که 30-40 سال سن دارد در ظاهر مضحک به نظر می رسد. حتی اگر رایانه روی میز یا نوار شما چندان جدید یا سریع نباشد ، با این حال هزار یا بیشتر سریعتر از فناوری پیشرفته دهه 1980 با چندین هسته CPU ، تخصصی ...

شما می توانید این کامپیوتر فوق العاده تمشک پای سبک یکپارچهسازی با سیستمعامل

شما می توانید این کامپیوتر فوق العاده تمشک پای سبک یکپارچهسازی با سیستمعامل

قبل از جعبه های سیاه عمومی 00s و جعبه های بژ عمومی 90s ، تولید کنندگان رایانه در واقع سعی کردند ماشین هایی بسازند که ظاهر منحصر به فردی دارند به برخی از آنها ، مانند ZX Spectrum و Commodore 64 ، اکنون به دلیل طرح های شیک بسیار ارزشمند هستند. اما اگر می خواهید یک رایانه مدرن داشته باشید ، تنها انتخاب واقعی شما این است که رومیزی خود را بسازید یا یک لپ تاپ شبیه به یک تخته آلومینیوم خریداری کنید. خوشبختانه ، یک گزینه دیگر نیز وجود دارد و آن این است که برای ساختن رایانه رزبری پای خود به سبک یکپارچهسازی با سیستم ، آموزش Lewisb42 را دنبال کنید.

طراحی رایانه FLIPT-BIT lewisb42 از رایانه ای ساخته شده است که سونی در سال 1984 به نام HIT-BIT HB-101 ساخته است. مانند بسیاری از رایانه های دیگر در دهه 80 ، HB-101 دارای صفحه کلید داخلی و حتی جوی استیک بود. FLIPT-BIT از همان مفهوم پیروی می کند ، اما جوی استیک را با یک صفحه لمسی کوچک عوض می کند و یک صفحه نمایش TFT 7 اینچی اضافه می کند. lewisb42 برای ساخت خود از Raspberry Pi 3 Model B+ استفاده کرد ، اما شما باید بتوانید از تمشک تمام اندازه استفاده کنید مدل Pi ، از جمله Raspberry Pi 4 Model B.

برای ساختن FLIPT-BIT خود ، به صفحه نمایش رزبری پای 7 اینچی ، منبع تغذیه 12 ولت 5 آمپر ، تنظیم کننده ولتاژ 12 ولت تا 5 ولت و صفحه کلید USB و صفحه ترکیبی فشرده (هر دو از Perixx) نیاز دارید. محفظه از ترکیبی از قطعات چاپ سه بعدی ، ورق اکریلیک و ورق PVC فوم ساخته شده است. بعد از اینکه همه اجزای خود را با هم جمع کردید و محفظه به پایان رسید ، مونتاژ نهایی به سادگی اتصال همه کابل ها ساده است. فضای زیادی در داخل کیس وجود دارد ، بنابراین نباید در مرتب کردن همه چیز مشکلی داشته باشید. نتیجه یک کامپیوتر مدرن است که به نظر می رسد مانند نسخه های کلاسیک دهه 80!

از بیوشیمی تا علوم کامپیوتر تا اخترفیزیک تا نویسنده

از بیوشیمی تا علوم کامپیوتر تا اخترفیزیک تا نویسنده

یافتن مسیر شما همیشه آسان نیست ، اما حداقل باید از این سفر لذت ببرید. اینجا ماجراجویی من است.

عکس توسط JOSHUA COLEMAN در Unsplash

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