The image was taken from here.

I’ve been using Kubernetes for about 3 years now, and I was amazed so much by the fact that there is so much versatility from any programming language when using Kubernetes. Any single interface that can make HTTP requests will talk smoothly with any Kubernetes cluster.

One of the problems I faced was to be able to communicate with my Kubernetes clusters in PHP. GO is a still known programming language in which you may find tons of controllers written for Kubernetes, from ingress controllers to new CRDs that enable special features, like Agones or Traefik. …


Not many times have I been in a situation where I had to deal and work with custom forks of AWS’ services that required extra salt and topping for some features to work.

One of the services that require such sprinkles is the Amazon Elasticsearch Service — a fully managed, scalable, and secure Elasticsearch service.

When creating an Amazon Elasticsearch Service cluster, you are given the option to either create it in VPC or expose it as Public. The difference is that in VPC, the cluster is not available from the outside, and won’t require signing the HTTP requests; instead…


“Stolen” from this place.

I honestly think that, as far as I worked with AWS, there is no other thing that is more annoying and kafkaesque than having to comply with the best practices of catching bounces or complaints, and set up a nice environment to catch them, while using AWS’s Simple Email Service.

Not only you cannot get out of the Sandbox if you do not comply with the best practices to avoid spamming and bad reputation when sending mails, but it takes a bit until the support team makes sure you got a nice catching way for bounces or complaints so that…


When it comes to speeding up your application, caching can be the best thing to achieve. Laravel comes up with cache drivers pre-installed so you can enjoy the experience out-of-the-box. Redis, Memcached or just using local files, Laravel comes packed with this.

This time, we will talk about caching Eloquent queries directly from the models, thus making database caching a breeze!

The package can be found on GitHub, where the documentation will approach all of the main points of the app. …


AWS Elastic Beanstalk Logo

For sure, building and maintaining apps with Laravel is a breeze — you got everything you need: migrations for database versioning, MVC pattern, authentication, and even background tasks you can run on separate PHP threads.

When it comes to deploying apps, it’s a bit of a problem. This problem is different than day-to-day development. It no longer includes writing code, you’ll have to deal with hardware that will run your software. Depending on which app you’re building, you’ll have to make a decision.

When things turn bigger than just hundreds of thousands of requests each day, you’ll have to deploy…


Photo by Nick Fewings on Unsplash

Building strong, dominant applications means you should take advantage of every single tool that you can use. Starting from infrastructure — using IOPS SSDs over General-Purpose SSDs or choosing to connect to the nearest location to application structure and how it stores, processes, and reads the data on the hardware. This time, we’ll be looking at the application structure, and to be more specific — why is it important to use indexes when storing data in our database?

In-dex-es

Either it’s NoSQL or SQL, most database engines do have support for indexes. Either they’re hash keys in DynamoDB or auto-increment, unsigned…


Photo by Felix Mittermeier from Pexels

One incident made me rethink why I should use a managed database and why replication across different physical servers or regions is really important.

The following schema is the way the app I’m going to talk about’s infrastructure is:

  • two worker nodes with a load balancer on top of them
  • one MongoDB instance
  • one MySQL instance
  • one Redis instance

Each node communicates using the private network. The only public inbound/outbound is on the LB which distributes the incoming traffic onto worker nodes.

The incident I’m going to talk about is about having a hardware problem on the servers that your…


I’m just enjoying the Vue. Photo by Simon Migaj from Pexels

Don’t blame me for being late for the party. The environment I lived in wasn’t properly configured so I could find this earlier and just shake off from all of the dust that was left off from jQuery during all these years.

I’m obsessed with how the code looks. I simply don’t push code that doesn’t make me proud, that doesn’t represent me. Every time I get the chance to make things better, I do. But for all these years, I struggled to understand something simpler than I thought — how fronted technologies revolutionized the entire way of building frontend.

What’s Vue.js?


This post has an audio version thanks to Miguel Piedrafita’s Blogcast app.

Just a quick note before: if you are afraid to step into some unknown world, just remember what I say — you can never know how easy it can be for you to adapt to it and how much joy you can get from it.

The most struggle I had for a long long time was setting up CI/CD properly for Laravel, and I’m not joking. For the newcomers, there are so many barriers that you must get over to reach the fruit of automation that you have…


Photo by Manuel Geissinger from Pexels

This post has an audio version thanks to Miguel Piedrafita’s Blogcast app.

In case you have followed me for quite a while, I have published this specific article: Setup MongoDB for Laravel on ploi.io. In case you need to deploy your application to production without “hassle”, ploi.io might seem a great choice. This time, I’ll introduce you to MongoDB on Laravel.

NoSQL (MongoDB) seems quite unpopular on Laravel, not because no one cares, but because not many people are going to use Mongo over SQL since SQL is already embedded into Laravel and provides a great experience for newcomers to…

Alex Renoki

Minimalist Laravel developer. Full stacking with AWS and Vue.js. Sometimes I deploy to Kubernetes. 🚢

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store