AWS CloudFormation: Memudahkan penyebaran awan
Dalam artikel ini, kami akan meneroka bagaimana AWS CloudFormation memudahkan menubuhkan dan menguruskan infrastruktur awan. Daripada secara manual mencipta sumber seperti pelayan atau pangkalan data, anda boleh menuliskan keperluan anda dalam fail, dan CloudFormation melakukan mengangkat berat untuk anda. Pendekatan ini, yang dikenali sebagai infrastruktur sebagai kod (IAC), menjimatkan masa, mengurangkan kesilapan, dan memastikan semuanya konsisten.
Kami juga akan melihat bagaimana tindakan Docker dan GitHub sesuai dengan proses. Docker memudahkan untuk membungkus dan menjalankan aplikasi anda, sementara tindakan GitHub mengautomasikan tugas seperti ujian dan penempatan. Bersama -sama dengan CloudFormation, alat ini mewujudkan aliran kerja yang kuat untuk membina dan menggunakan aplikasi di awan.
Objektif Pembelajaran
- Ketahui cara memudahkan pengurusan infrastruktur awan dengan AWS CloudFormation menggunakan infrastruktur sebagai kod (IAC).
- fahami bagaimana tindakan Docker dan GitHub diintegrasikan dengan AWS CloudFormation untuk penggunaan aplikasi yang diselaraskan.
- meneroka projek sampel yang mengautomasikan penjanaan dokumentasi Python menggunakan alat AI seperti Langchain dan GPT-4.
- Ketahui cara membekalkan aplikasi dengan Docker, mengautomasikan penggunaan dengan tindakan GitHub, dan digunakan melalui AWS CloudFormation.
- memahami cara menubuhkan dan menguruskan sumber AWS seperti EC2, ECR, dan kumpulan keselamatan menggunakan templat CloudFormation.
Jadual Kandungan Apa itu pembentukan awan AWS? Pengurus Kesimpulan
Soalan -soalan yang sering ditanya
- Apakah pembentukan awan AWS?
- Di dunia pengkomputeran awan, menguruskan infrastruktur dengan cekap adalah penting. Oleh itu, AWS CloudFormation datang ke dalam gambar, yang menjadikannya lebih mudah untuk menubuhkan dan menguruskan sumber awan anda. Ia membolehkan anda menentukan semua yang anda perlukan - pelayan, penyimpanan, dan rangkaian dalam fail mudah.
- AWS CloudFormation adalah perkhidmatan yang membantu anda menentukan dan menguruskan sumber awan anda menggunakan templat yang ditulis dalam YAML atau JSON. Fikirkannya sebagai membuat pelan tindakan untuk infrastruktur anda. Sebaik sahaja anda menyerahkan cetak biru ini, CloudFormation menjaga menetapkan segala -galanya, langkah demi langkah, tepat seperti yang anda nyatakan.
- Infrastruktur sebagai Kod (IAC), seperti mengubah awan anda menjadi sesuatu yang anda boleh bina, membina semula, dan juga memperbaiki dengan hanya beberapa baris kod. Tidak ada lagi manual yang mengklik di sekitar, tidak ada lagi tekaan - hanya konsisten, penyebaran yang boleh dipercayai yang menjimatkan masa dan mengurangkan kesilapan.
Sampel Projek Pelaksanaan: Contoh Projek Hands-On
menyelaraskan dokumentasi kod dengan AI: Projek Penjanaan Dokumen:
Untuk memulakan pembentukan awan, kami memerlukan satu projek sampel untuk menggunakannya dalam AWS.
Saya sudah membuat projek menggunakan Lang-Chain dan membuka AI GPT-4. Mari kita bincangkan mengenai projek itu maka kita akan melihat bagaimana projek itu digunakan dalam AWS menggunakan pembentukan awan.
Pautan kod github:
Berikut adalah pecahan bagaimana kami membina alat ini dan kesannya bertujuan untuk dicipta. Untuk membuat projek ini, kami mengikuti beberapa langkah.
Sebelum memulakan projek baru, kita perlu membuat persekitaran Python untuk memasang semua pakej yang diperlukan. Ini akan membantu kami mengekalkan pakej yang diperlukan.
Saya menulis fungsi untuk menghuraikan fail input, yang biasanya mengambil fail python sebagai input dan mencetak nama semua fungsi.
Menjana dokumentasi dari kod
Setelah butiran fungsi diekstrak, langkah seterusnya adalah untuk memberi makan kepada model GPT-4 OpenAI untuk menghasilkan dokumentasi terperinci. Menggunakan rantaian lang, kami membina satu petikan yang menerangkan tugas yang kami mahu GPT-4 untuk melaksanakan.
Dengan bantuan fungsi Generator Doc ini, ini mengambil butiran yang dihuraikan dan menghasilkan penjelasan yang lengkap dan boleh dibaca manusia untuk setiap fungsi.
prompt_template = PromptTemplate( input_variables=["function_name", "arguments", "docstring"], template=( "Generate detailed documentation for the following Python function:\n\n" "Function Name: {function_name}\n" "Arguments: {arguments}\n" "Docstring: {docstring}\n\n" "Provide a clear description of what the function does, its parameters, and the return value." ) )#import csv
Integrasi API Flask
Untuk membuat alat mesra pengguna, saya membina API Flask di mana pengguna boleh memuat naik fail python. API mengepam fail, menghasilkan dokumentasi menggunakan GPT-4, dan mengembalikannya dalam format JSON.
Kami boleh menguji API Flask ini menggunakan postman untuk memeriksa output kami.
dockerizing aplikasi
Penciptaan Docker Compose
kami akan membuat fail Docker. Fail Docker bertanggungjawab untuk berputar pada bekas masing -masing
prompt_template = PromptTemplate(
input_variables=["function_name", "arguments", "docstring"],
template=(
"Generate detailed documentation for the following Python function:\n\n"
"Function Name: {function_name}\n"
"Arguments: {arguments}\n"
"Docstring: {docstring}\n\n"
"Provide a clear description of what the function does, its parameters, and the return value."
)
)#import csv
Salin selepas log masukSalin selepas log masukSalin selepas log masuk
Docker Compose
prompt_template = PromptTemplate( input_variables=["function_name", "arguments", "docstring"], template=( "Generate detailed documentation for the following Python function:\n\n" "Function Name: {function_name}\n" "Arguments: {arguments}\n" "Docstring: {docstring}\n\n" "Provide a clear description of what the function does, its parameters, and the return value." ) )#import csv
Sebaik sahaja fail Docker dibuat, kami akan membuat fail pengarang Docker yang akan memutar bekas.
# Use the official Python 3.11-slim image as the base image FROM python:3.11-slim # Set environment variables to prevent Python from writing .pyc files and buffering output ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Set the working directory inside the container WORKDIR /app # Install system dependencies required for Python packages and clean up apt cache afterwards RUN apt-get update && apt-get install -y --no-install-recommends \ gcc \ libffi-dev \ libpq-dev \ python3-dev \ build-essential \ && rm -rf /var/lib/apt/lists/* # Copy the requirements file to the working directory COPY requirements.txt /app/ # Upgrade pip and install Python dependencies without cache RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -r requirements.txt # Copy the entire application code to the working directory COPY . /app/ # Expose port 5000 for the application EXPOSE 5000 # Run the application using Python CMD ["python", "app.py"]#import csv
anda boleh menguji ini dengan menjalankan arahan
version: '3.8' services: app: build: context: . dockerfile: Dockerfile ports: - "5000:5000" volumes: - .:/app environment: - PYTHONDONTWRITEBYTECODE=1 - PYTHONUNBUFFERED=1 command: ["python", "app.py"]#import csv
Selepas perintah dijalankan dengan jayanya, kod itu akan berfungsi dengan tepat seperti sebelumnya.
Membuat perkhidmatan AWS untuk timbunan pembentukan awan
Repositori, saya telah mencipta mempunyai nama Repo Cloud_Formation nama Asdemo. Kemudian, saya akan meneruskan dengan TheCloudFormationTemplate, fail YAML yang membantu dalam berputar contoh yang diperlukan, menarik imej dari ECR dan sumber -sumber lain.
Daripada menubuhkan pelayan secara manual dan menghubungkan segala -galanya, AWS CloudFormation digunakan untuk menubuhkan dan menguruskan sumber awan (seperti pelayan atau pangkalan data) secara automatik menggunakan skrip. Ia seperti memberikan cetak biru untuk membina dan mengatur barangan awan anda tanpa melakukannya secara manual!
Fikirkan CloudFormation sebagai menulis manual arahan mudah untuk diikuti. Manual ini, yang dipanggil sebagai 'templat', memberitahu AWS untuk:
Mulakan pelayan yang diperlukan untuk projek.
- Tarik imej kontena projek dari repositori penyimpanan ECR.
- Sediakan semua kebergantungan dan konfigurasi yang diperlukan untuk projek yang dijalankan.
- Dengan menggunakan persediaan automatik ini, saya tidak perlu mengulangi langkah yang sama setiap kali saya menggunakan atau mengemas kini projek - semuanya dilakukan secara automatik oleh AWS.
template pembentukan awan
Templat AWS CloudFormation adalah skrip Deklaratif JSON atau YAML yang menggambarkan sumber dan konfigurasi yang diperlukan untuk menubuhkan infrastruktur anda dalam AWS. Mereka membolehkan anda mengautomasikan dan mengurus infrastruktur anda sebagai kod, memastikan konsistensi dan kebolehulangan merentasi persekitaran.
docker-compose up –build#import csv
Kami menentukan sumber ECR tunggal, yang merupakan repositori di mana imej docker kami disimpan.
Seterusnya, kami membuat contoh EC2. Kami akan melampirkan dasar -dasar penting kepadanya, terutamanya untuk berinteraksi dengan pengurus ECR dan AWS Secrets. Di samping itu, kami melampirkan kumpulan keselamatan untuk mengawal akses rangkaian. Untuk persediaan ini, kami akan membuka:
port 22 untuk akses ssh.
- port 80 untuk akses http.
- port 5000 untuk akses aplikasi backend.
- at2.microinstance akan digunakan, dan di dalam data penumpang, kami mentakrifkan arahan untuk mengkonfigurasi contoh:
- Pasang kebergantungan yang diperlukan seperti Python, Boto3, dan Docker.
- Rahsia akses yang disimpan dalam Pengurus Rahsia AWS dan simpannya ke fail config.py.
- Log masuk ke ECR, tarik imej Docker, dan jalankan menggunakan Docker.
Oleh kerana hanya satu bekas Docker yang digunakan, konfigurasi ini memudahkan proses penempatan, sambil memastikan perkhidmatan backend dapat diakses dan dikonfigurasi dengan betul.
memuat naik dan menyimpan rahsia ke Pengurus Rahsia AWS
hingga sekarang kami telah menyimpan rahsia seperti kunci AI Open dalam fail config.py. Tetapi, kita tidak boleh menolak fail ini ke GitHub, kerana ia mengandungiSecrets. Oleh itu, kami menggunakan Pengurus Rahsia AWS untuk menyimpan rahsia kami dan kemudian mengambilnya melalui template CloudFormation kami.
hingga sekarang kami telah menyimpan rahsia seperti kunci AI Open dalam fail config.py. Tetapi, kita tidak boleh menolak fail ini ke GitHub, kerana ia mengandungiSecrets. Oleh itu, kami menggunakan Pengurus Rahsia AWS untuk menyimpan rahsia kami dan kemudian mengambilnya melalui template CloudFormation kami.
Membuat tindakan github
Tindakan GitHub digunakan untuk mengautomasikan tugas seperti kod ujian, aplikasi bangunan, atau menggunakan projek setiap kali anda membuat perubahan. Ia seperti menubuhkan robot untuk mengendalikan kerja berulang untuk anda!
Menyimpan rahsia di GitHub
masuk ke github anda dan ikuti jalan di bawah:
repositori & gt; Tetapan & gt; Rahsia dan Pembolehubah & GT; Tindakan
maka anda perlu menambah rahsia AWS anda yang diekstrak dari akaun AWS, seperti di bawah imej.
Memulakan aliran kerja
Selepas menyimpan, kami akan membuat folder .github dan, di dalamnya, folder aliran kerja. Di dalam folder aliran kerja, kami akan menambah fail deploy.yaml.
Berikut adalah penjelasan yang mudah mengenai aliran:
Kami menarik kod dari repositori dan menubuhkan kelayakan AWS menggunakan rahsia yang disimpan di GitHub.
prompt_template = PromptTemplate( input_variables=["function_name", "arguments", "docstring"], template=( "Generate detailed documentation for the following Python function:\n\n" "Function Name: {function_name}\n" "Arguments: {arguments}\n" "Docstring: {docstring}\n\n" "Provide a clear description of what the function does, its parameters, and the return value." ) )#import csv
Kemudian, kami log masuk ke ECR dan membina/menolak imej docker aplikasi.
- Kami periksa sama ada terdapat timbunan CloudFormation yang sedia ada dengan nama yang sama. Jika ya, padamkannya.
- Akhirnya, kami menggunakan templat CloudFormation untuk melancarkan sumber dan menetapkan semuanya.
- ujian
- Sebaik sahaja semuanya digunakan, perhatikan alamat IP contohnya dan kemudian panggilnya menggunakan Postman untuk memeriksa semuanya berfungsi dengan baik.
- bekas Docker menyelaraskan penggunaan aplikasi pada infrastruktur yang diuruskan AWS.
- Tindakan GitHub mengautomasikan saluran paip membina dan penempatan untuk integrasi lancar.
- Langchain dan GPT-4 meningkatkan automasi dokumentasi Python dalam projek.
- Menggabungkan IAC, Docker, dan CI/CD mencipta aliran kerja berskala, cekap, dan moden.
Dalam artikel ini, kami meneroka cara menggunakan AWS CloudFormation untuk memudahkan pengurusan infrastruktur awan. Kami belajar bagaimana untuk membuat repositori ECR, menggunakan aplikasi dockerized pada contoh EC2, dan mengautomasikan keseluruhan proses menggunakan tindakan GitHub untuk CI/CD. Pendekatan ini bukan sahaja menjimatkan masa tetapi juga memastikan konsistensi dan kebolehpercayaan dalam penyebaran.
Takeaways Key
- AWS CloudFormation memudahkan pengurusan sumber awan dengan infrastruktur sebagai kod.
Q1. Apakah AWS CloudFormation?
a. Aplikasi pakej Docker ke dalam bekas, yang boleh digunakan pada sumber AWS yang diuruskan oleh CloudFormation.
Q4. Bolehkah saya mengautomasikan penjanaan dokumentasi python dengan langku?
a. IAC memastikan pengurusan sumber yang konsisten, berulang, dan berskala merentasi infrastruktur anda.
Atas ialah kandungan terperinci AWS CloudFormation: Memudahkan penyebaran awan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Pengekodan Vibe membentuk semula dunia pembangunan perisian dengan membiarkan kami membuat aplikasi menggunakan bahasa semulajadi dan bukannya kod yang tidak berkesudahan. Diilhamkan oleh penglihatan seperti Andrej Karpathy, pendekatan inovatif ini membolehkan Dev

Februari 2025 telah menjadi satu lagi bulan yang berubah-ubah untuk AI generatif, membawa kita beberapa peningkatan model yang paling dinanti-nantikan dan ciri-ciri baru yang hebat. Dari Xai's Grok 3 dan Anthropic's Claude 3.7 Sonnet, ke Openai's G

Yolo (anda hanya melihat sekali) telah menjadi kerangka pengesanan objek masa nyata yang terkemuka, dengan setiap lelaran bertambah baik pada versi sebelumnya. Versi terbaru Yolo V12 memperkenalkan kemajuan yang meningkatkan ketepatan

Artikel ini mengkaji semula penjana seni AI atas, membincangkan ciri -ciri mereka, kesesuaian untuk projek kreatif, dan nilai. Ia menyerlahkan Midjourney sebagai nilai terbaik untuk profesional dan mengesyorkan Dall-E 2 untuk seni berkualiti tinggi dan disesuaikan.

CHATGPT 4 kini tersedia dan digunakan secara meluas, menunjukkan penambahbaikan yang ketara dalam memahami konteks dan menjana tindak balas yang koheren berbanding dengan pendahulunya seperti ChATGPT 3.5. Perkembangan masa depan mungkin merangkumi lebih banyak Inter yang diperibadikan

Artikel ini membincangkan model AI yang melampaui chatgpt, seperti Lamda, Llama, dan Grok, menonjolkan kelebihan mereka dalam ketepatan, pemahaman, dan kesan industri. (159 aksara)

Mistral OCR: Merevolusi Generasi Pengambilan Pengambilan semula dengan Pemahaman Dokumen Multimodal Sistem Generasi Pengambilan Retrieval (RAG) mempunyai keupayaan AI yang ketara, membolehkan akses ke kedai data yang luas untuk mendapatkan respons yang lebih tepat

Artikel ini membincangkan pembantu penulisan AI terkemuka seperti Grammarly, Jasper, Copy.ai, WriteSonic, dan Rytr, yang memberi tumpuan kepada ciri -ciri unik mereka untuk penciptaan kandungan. Ia berpendapat bahawa Jasper cemerlang dalam pengoptimuman SEO, sementara alat AI membantu mengekalkan nada terdiri
