Bagaimana untuk menjalankan PHP pada seni bina AWS ServerLess? Bahagian Apa yang tanpa pelayan?

Linda Hamilton
Lepaskan: 2024-10-07 22:09:02
asal
444 orang telah melayarinya

Lambda, perkhidmatan tanpa pelayan utama AWS, membenarkan untuk menjalankan kod pada pelbagai masa jalan. Walau bagaimanapun PHP tidak secara eksplisit dalam penerangan produk rasmi. Adakah ini bermakna anda tidak boleh menjalankan kod PHP pada Lambdas? Tidak, tidak!

Dalam siri ini (dihasilkan daripada ceramah yang saya berikan kepada AWS User Group Poitiers), kita akan membincangkan apa itu tanpa pelayan dan cara untuk mendapatkan PHP (jika itu bahasa kegemaran anda) untuk dijalankan pada Lambda.

Apa itu tanpa pelayan?

Serverless ialah paradigma pengehosan di mana penyedia awan secara dinamik menskalakan sumber yang diperuntukkan kepada beban kerja pelanggan, sambil menguruskan bukan sahaja infrastruktur fizikal (pelayan, penyejukan kuasa) tetapi juga sehingga masa jalan pelaksanaan (menampal, ..).

How to run PHP on AWS ServerLess architecture ? Part  What

Dalam erti kata yang ketat, pengiraan diperuntukkan untuk setiap permintaan, yang membawa kepada model harga "skala-ke-sifar" (tiada sumber dibayar mengikut jam, tetapi hanya berkadar dengan permintaan sebenar), sambil menyediakan terbina dalam tinggi -ketersediaan.

Itu menambah manfaat Cloud yang lain, terutamanya fakta bahawa segala-galanya disertakan dengan API, menjadikan automasi mungkin.

Jumlah manfaat ini memungkinkan untuk memiliki persekitaran fana cawangan ciri yang hampir percuma, meningkatkan produktiviti pembangun dan masa pendahuluan.

How to run PHP on AWS ServerLess architecture ? Part  What

Tanpa pelayan bukan sahaja tentang pengiraan!

Terdapat banyak penyelesaian dalam ekosistem tanpa pelayan. Apabila pengiraan Tanpa Pelayan (Lambda) muncul, pada tahun 2014, baris gilir terurus (SQS) telah wujud selama sedekad dan S3 selama 8 tahun.

How to run PHP on AWS ServerLess architecture ? Part  What

Perhatikan bahawa dalam slaid di atas, Aurora tidak sepadan dengan definisi ketat Tanpa Pelayan kami kerana ia tidak berskala kepada sifar (v1 berskala kepada sifar tetapi kemudian boleh mengambil masa beberapa minit untuk bermula, dengan v2 yang anda perlukan pada sekurang-kurangnya 0.5 ACU pada kedua-dua contoh penulis dan pembaca anda untuk pangkalan data bersedia untuk menyampaikan pertanyaan.

Anda akan dapati di bawah seni bina biasa untuk mengehos aplikasi web yang melibatkan perkhidmatan tanpa pelayan sahaja. Mengehos aplikasi sedemikian mungkin berharga kurang daripada $1/tahun untuk bilangan pengguna yang terhad.

How to run PHP on AWS ServerLess architecture ? Part  What

Adakah Tanpa Pelayan hanya untuk perkhidmatan mikro?

Ya.. dan tidak. Ia direka bentuk dengan mengambil kira perkhidmatan mikro tetapi anda masih boleh menggunakan seni bina monolitik (selagi anda tidak mempunyai urutan permulaan yang berpanjangan setiap kali persekitaran baharu dilancarkan).

How to run PHP on AWS ServerLess architecture ? Part  What

Pilihan tanpa pelayan untuk menyelesaikan cabaran biasa dengan perkhidmatan mikro: Orkestrasi dan Koreografi

Seni bina perkhidmatan mikro memungkinkan untuk mengurangkan gandingan antara komponen aplikasi (menggunakan bahasa berbeza, melalui corak tak segerak, meningkatkan kebolehskalaan dengan mengalih keluar gandingan peringkat infrastruktur).

Walau bagaimanapun, apabila kita mempunyai berbilang fungsi satu guna, melaksanakan logik perniagaan mungkin memerlukan penyelarasan antara fungsi. Penyelarasan ini boleh dilaksanakan menggunakan dua corak asas.

  • Orkestrasi: dalam corak ini, kami mengawal seruan fungsi dengan cara yang penting. Ini sering digunakan dalam domain perniagaan, apabila fungsi disampaikan oleh satu pasukan perkhidmatan. Pendekatan tanpa pelayan untuk ini ialah AWS StepFunction, aliran kerja / mesin keadaan. Terdapat tutorial yang bagus tentang cara menyelaraskan fungsi Lambda menggunakan StepFunction di sini.
  • Koreografi: corak ini lebih relevan dalam senario merentas perniagaan domain, dengan pasukan perkhidmatan yang berasingan, untuk mengekalkan gandingan yang sangat terhad. Bas acara membolehkan aplikasi untuk menolak acara dan melanggan acara. Berbilang pengguna boleh melanggan acara yang sama dan setiap pengguna boleh menapis apa sahaja acara yang mereka perlukan. Perkhidmatan AWS teras untuk ini ialah EventBridge. Anda akan menghantar catatan blog yang saya tulis mengenainya di sini.

Mengenali Lambda

Lambda ialah penyelesaian Fungsi-sebagai-Perkhidmatan AWS. Dengan Lambda, anda boleh menggunakan kod anda dan mendapatkan ketersediaan tinggi serta kebolehskalaan serta-merta, tanpa perlu risau tentang penggunaan instance dan tampalan OS atau masa jalan.

Lambda boleh digunakan dengan invokasi segerak (melalui Gerbang API, Pengimbang Beban Aplikasi atau url fungsi Lambda) atau invokaton tak segerak (bertindak balas kepada peristiwa yang dijana AWS atau dijana pengguna).

Apabila anda menggunakan Lambda, anda memilih jumlah memori yang diperlukan untuk dijalankan. CPU yang diperuntukkan adalah berkadar. Anda kemudian membayar berdasarkan bilangan milisaat yang digunakan. Sebagai contoh, Lambda 128Mb berharga 1.7*10^-9$/ms. Itulah 164 jam pengiraan sebelum anda membelanjakan dolar pertama anda.

How to run PHP on AWS ServerLess architecture ? Part  What

Dan penimbang Lambda. Cepat. Jauh lebih pantas daripada yang lain. Tiada lagi ralat 429s (atau 500 jika beban kerja anda tidak dilindungi dengan baik) disebabkan oleh variasi trafik yang tinggi.

How to run PHP on AWS ServerLess architecture ? Part  What

Menyelesaikan cabaran utama dengan LambdaLiths: sejuk bermula

Persekitaran pelaksanaan Lambda hanya memproses satu permintaan pada masa tertentu dan digunakan semula untuk permintaan seterusnya. Ini bermakna, untuk menskalakan fungsi Lambda atau apabila fungsi Lambda tidak digunakan untuk seketika, Lambda perlu memulakan persekitaran pelaksanaan baharu : itu permulaan yang sejuk.

Jika permulaan sejuk memudaratkan permohonan anda (sekali lagi, itu mungkin lebih baik daripada semua trafik menjadi perlahan atau mencecah 429s), maka terdapat beberapa pilihan. AWS mempunyai artikel bagus tentang menggunakan pemanas Lambda atau menetapkan konkurensi yang diperuntukkan untuk menanganinya. Selain itu, untuk pengguna Java, ciri Lambda SnapStart memungkinkan untuk menyampaikan prestasi permulaan sejuk yang baik, dengan merakam gambar mikroVM selepas JVM bermula.

Bagaimana pula dengan sokongan PHP?

Soalan Lazim produk rasmi menyatakan ia "menyokong Java, Go, PowerShell, Node.js, C#, Python dan kod Ruby secara asli, serta menyediakan API Runtime yang membolehkan anda menggunakan sebarang bahasa pengaturcaraan tambahan untuk mengarang fungsi anda."

Dalam catatan blog seterusnya dalam siri ini, kami akan menerangkan cara anda boleh menjalankan PHP pada Lambda dengan memanfaatkan dua rangka kerja yang berbeza, Bref dan Penyesuai Web Lambda, serta membandingkan kemungkinan yang ditawarkan oleh setiap satu daripadanya.

Atas ialah kandungan terperinci Bagaimana untuk menjalankan PHP pada seni bina AWS ServerLess? Bahagian Apa yang tanpa pelayan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan