Ladder.net Technology Series - The LEMP Stack a Modern Day Version of a Classic

in #ladder7 years ago (edited)

This is the first in a series of posts to help give insight and confidence in the open-source technology powering Ladder.net. I have been web developer for close to 15 years now and have worked on web applications big and small. On my journey from coding small niche e-commerce sites serving hundreds of users to working on robust web applications serving millions, I have learned a few things along the way that I would like to share. For my first article I will start with the ground floor of web development the backend server stack.

LEMP - Linux Nginx MariaDB PHP

Okay, let's point it out right away, Nginx doesn't start with an 'E' but I didn't invent this acronym and Nginx is pronounced as 'engine-x'. LEMP is an update to LAMP (Linux Apache MySQL PHP), one of the most widely used open-source web server stacks out there. Why is it so popular? Well its all free and open-source which means you don't have to worry about licensing fees and can worry about making a great web application instead. Each of the components have massive communities helping build and maintain the software, finding solutions to common problems is as easy as using Google. With these giant collaborative communities working on the software you get a stable and secure server stack that let's you sleep with piece of mind.

There are some alternative web stacks these days like Node.js and they can be great too. I chose to use the LEMP stack for all the benefits listed above and familiarity. After a decade of using LAMP shifting to LEMP is the quickest way for me to develop a secure and reliable web application that can scale into the future.

Linux

Most servers on the internet these days are powered by linux. The virtues of linux go on and on when compared to other operating systems. While many gather under the Linux flag there is still deep almost religious tribes as to which distribution of Linux to use. For Ladder.net I have chosen to go with Ubuntu 16.04 LTS. To me Ubuntu has done a great job in balancing stability, security and up to date libraries. When you are interfacing with bleeding edge technology like Steem the last thing you want is to get stuck in dependency hell while trying to upgrade libraries. After spending a few months interacting with Steem application developers it seems that Ubuntu is the distribution of choice.

Nginx

Prior to Nginx, Apache HTTPD was the free open-source web server standard. It lasted us a great many years but eventually proved to be a memory hog in high volume environments. With a rethink of the needs required for a modern web server sustaining a constant bombardment of requests, Nginx was born. With a much lower memory footprint and superior process forking Nginx has been rapidly replacing Apache across the net. With some of my older projects stressing their servers I was able to breathe new life into those servers by simply migrating from Apache to Nginx and achieving a great cost savings when compared to the hardware required to continue with Apache. If you are still holding on to Apache I urge you to let go and embrace the speed and efficiency that is Nginx.

MariaDB

MariaDB came about after Oracle swallowed up MySQL. Some of MySQL's founders and largest contributors were not all that happy with Oracle's vision for MySQL and went off to start their own version we now know as MariaDB. MariaDB offers a larger open-source community for it's development now and has been bench marked to be faster than MySQL. Personally I have more confidence in the MariaDB team getting a crucial 0day security vulnerability patched than I do in Oracle. MariaDB now offers table encryption for data at rest thanks to Google's latest contribution to the project. This helps keep your private data secure.

PHP

PHP has taken a lot of legitimate criticism for a long time but that is the price of being the top dog. With the latest release of PHP 7.0 though speed and efficiency are no longer major criticisms. PHP has always offered massive community support and all the libraries a web developer could want to quickly solve a problem but it used to come at a cost of being somewhat inefficient and slow when compared to other scripting languages. Much of PHP's latest speed comes from the optimizations of Facebook. For me again the decision was made easy by familiarity. Using a PHP backend is the quickest route to developing reliable features for Ladder.net.

So much more

In further articles I'll go into some of the more nitty gritty software getting things done behind the scenes like Beanstalkd, Letsencrypt, Piston, Redis, MVC Patterns, etc.


Make sure to follow this profile @contentjunkie to stay up to date on more great posts like this one.

Sort:  

Shared on twitter

Steem_Land Steem_Land tweeted @ 08 Dec 2016 - 02:35 UTC

Ladder.net Technology Series - The LEMP Stack a Modern Day Version of a Classic
steemit.com/ladder/@conten…
@SteemitPosts @steemit

Disclaimer: I am just a bot trying to be helpful.

This post has been ranked within the top 25 most undervalued posts in the first half of Dec 08. We estimate that this post is undervalued by $19.73 as compared to a scenario in which every voter had an equal say.

See the full rankings and details in The Daily Tribune: Dec 08 - Part I. You can also read about some of our methodology, data analysis and technical details in our initial post.

If you are the author and would prefer not to receive these comments, simply reply "Stop" to this comment.

jag älskar tack