PHP

Using AWS Lambda Layers for PHP

Until recently AWS Lambda did not support PHP, but with the advent of the runtime API and layers, now we able to implement an AWS Lambda runtime in any programming language including PHP. Each layer can contain libraries, a custom runtime, or other dependencies. You can create layers, or use layers published by AWS and other AWS customers.

There is a great practical example of creating a Custom Runtime for PHP if you want to build a PHP runtime layer by yourself. In this article, we'll use partner supported PHP layer for Lambda from stackery for a quick understanding of its use.

What Are PHP Workers?

What is a worker?

PHP is a single-threaded interpreter by design at the core language level, though using threads is made possible by the "pthreads" PECL extension.

Suppose that you have 5 requests that come to your site at the exact same time. Will requests wait in a queue until the previous script completes its work due single-threaded php interpreter?

Docker for PHP

Today Docker became an important part of the development process. Docker creates an isolated environment in containers within the operating system. This allows to get a transferable environment - everything in the container can be saved, copied and deployed to another system.

We'll prepare our own local docker environment for PHP development with components:

PHP 7.3
Nginx
MySQL 8
Redis

Using PHP with Apache Kafka

Apache Kafka is a fast, real-time, distributed, fault-tolerant message broker.

Using Kafka, you can transfer streaming data to the cluster, which is generated continuously, for example, history of website visits, financial transactions, online shopping orders, application logs, etc. This information can help to understand what is happening with the data right now, create recommendations, use machine learning or aggregate data for further analysis. All this takes seconds or minutes, instead of hours and days.