Nitropack review

Those of you who are running some sort of a content management system (CMS) for your websites would be familiar with the problem of improving the site loading speed through different methods. From the age old caching methods of using op cache module, to using an application specific caching method such as WP-Supercache for your WordPress installations, the sheer variety of solutions out there is a lot.

For a non-tech webmaster (these days, this term seems like a conundrum!), it becomes difficult to choose. At the end of the day, what one ends up going for is how fast the website is loading and more importantly how is the web performance of the site.

Let’s take a look at what are some of the common factors that any webmaster would like at for their caching solution.

Server site rendering time

This is effectively how fast is your server giving the response on the browser. Let’s say that you are running a blog on a small instance or a shared hosting solution. This would usually have limited resources associated with it, be it computing or memory. For instance, currently, these pages are being served off a 512 MB droplet.

Needless to say as your traffic increases, these limited resources are then not enough to address the entire traffic and thus, the response time for all your visitors starts to increase. A simple solution for these problems could be to bump up the hardware and increase the computing and memory being made available for the server. The computing speed is obvious, but why the memory you might ask? Well, since most web servers are softwares running on servers (for e.g Apache or Nginx are the servers most commonly used for WordPress), these software processes have to run on the server. The more the traffic, the more the number of processes.

If you are running WordPress and are facing a load of traffic, and if you are running your database on the same server, then you might sometimes be seeing images like the one below –

MySQL error with WordPress

Seems familiar? A common reason for this is when there are too many apache2 processes and not enough memory to handle all of them. The server promptly terminates the other processes, including the MySQL daemon.

Caching to the rescue

This is where server side caching comes to the rescue. Take this blog post for instance. How many times in the week am I going to edit this? Not many right?

In which case, instead of the PHP script executing every time, why can I not serve the static (HTML pre-rendered) version of this post?

WP-Supercache does a good job as a plugin to do this, however, in this case, for supercache to execute, the WordPress PHP scripts are still executing. How can we stop those?

Another option would be to run caching at Apache or Nginx’s level. This is a much better approach since instead of calling PHP scripts, the server will serve the last known cached static file. The problem with this approach is cache management and storage.

With a small server, you may not have a lot of storage, and if you have been maintaining a content heavy site, then caching all pages might be a storage intensive process. The expectation from your instance’s compute power also increases.

This is where you will find reverse proxy servers shining.

Reverse proxy servers

A reverse proxy server is a server that sits in front of the web servers and forwards client requests. One of the older versions for PHP based websites was Varnish. Nginx also offers this, and newer versions of Apache also do offer this functionality.

What the reverse proxy does is for each request, it caches the response from the down stream server and serves that response for each subsequent request. Think of it as a smart cache manager that sites seamlessly between your CMS and the user.

Traditionally, these were a bit difficult to setup, and therefore were the domain of only the tech oriented webmasters. However, of late, there have been a couple of smart SasS based reverse proxies, and that’s what I wanted to write about.

Cloud-based reverse proxies

A cloud based reverse proxy is a reverse proxy server that’s not on your network/server infrastructure, but rather hosted as a separate service that you choose to buy.

I had initially tried Cloudflare, but wasn’t really impressed with the results. There were a couple of Indian service providers as well, but the outcome wasn’t that great.

Then, one of my colleagues pointed me to Nitropack. Getting started with Nitropack was a breeze and I could easily set this up. There was also a plugin to be installed in my WordPress setup and that’s about it. Nitropack even had a CloudFlare integration (since I manage my DNS on CloudFlare), where it made the relevent DNS entries and I was able to use this without too much of a hassle.

I am currently on the free plan, but the immediate impact on my server response times, and my web performance has been substantial.

If you are a website owner and if you have been harangued with web performance issues, do give this solution a try. It makes a sufficient impact on your response times.

My first Ionic App

The couple of Phonegap apps that I worked on, things were too messed up.

  1. Is it Phonegap or is it Cordova?
  2. Do I build locally or do I used Phonegap Build?
  3. Using jQuery Mobile, which event happens first – device ready or jquery ready?
  4. Why is this too slow?

There were times, when I felt that I had absolutely no control on the app. This is where my frustrations with Phonegap started growing … not to mention the insane compile complications.

Enter Ionic

This is where I first learn about the Cordova project and how there are multiple spin-offs of that. Phonegap being just one of those … I always assumed that PG and Cordova were synonyms. Guess not.

To start with Ionic, the getting started guide to Ionic is a pretty decent place to start. Keep in mind though that it’s best that you go through some basic Angular tutorials before you dive into Ionic.

Enter Angular

The thing about javascript based apps is that you need a javascript library to run the app on. You could arguably use native JS methods and create your own bespoke app.

But that’s not really a wise choice (unless you are a freaky javascript ninja). I don’t know about you, but I for certain am not. Let me at those libraries!

This is where jqm or angular really matter. My experience with jqm was pretty bad and although I am liking angular, things seem far more in my control.

Who really owns the code?

At 13 Llama Studio, we have no qualms of handing over the code base and giving away the ownership of the code to the client. The way I figure it is this –

Since most of the work we do is based on derivative works under the GPL license, the source code by default needs to be included as part of the deliverable. Yes, we build multiple interesting things with WordPress, but WordPress as a platform is under GPL.

Continue reading “Who really owns the code?”

Dell Laptop Prices – Laptops That Offer Powerful Performance at a Reasonable Price

laptopslaptops

First came computers, the big giant ones that occupied a whole room; too much for an individual. Then came those mini desktops that were only to be found in work premises for extremely crucial work. Slowly the trend changed, technology improved, therefore reducing the size and they were welcomed into our homes. In the last few years, technology has sky-rocketed leading to the emergence of laptops.

Continue reading “Dell Laptop Prices – Laptops That Offer Powerful Performance at a Reasonable Price”

Rise of the App Economy

As a technical architect and a start-up enthusiast, part of my work is consulting organizations on how to go about implementing and monetizing their ideas. The past decade’s experience of working in this field, as well as having successfully built the product and development teams of two start-ups (which secured VC fundings) ensures that a lot of people are willing to share their ideas so that I can advise them on the implementation.

Continue reading “Rise of the App Economy”

Taking WordPress to Scale

Having your own website and maintaining it has its own set of wins and losses. If your site is not popular enough, that’s a heartburn.

Then one fine day, you get TechCrunched or Mashabled or Redditted – and boom, comes a spike. Or even better, you start doing well on your own and the traffic grows. Soon, this traffic becomes so big, that your existing hosting plan starts creaking and squawking under this load.

This post is for those of you who have a site which has loads of traffic, so much so that the site performance is under impact due to it. Like quite a few of our clients. *Touchwood*

Continue reading “Taking WordPress to Scale”

Food for Thought: Part Three

Desperately trying to keep this series to a one a month affair, so that my blog does not look like a link farm … eep! I am even afraid to type that … but I have to say this .. I don’t want my blog to end up being a link farm. There I said it!!

Having said that, there were quite a few articles which I wanted to share this month!

The Top 10 Algorithms in the 20th Century

Computer.org put together this list of algorithms which had the greatest influence in the 20th century. Now, that’s a lot to think about … some of the algorithms which are mentioned, I had studied as a student! I would not say cutting edge, however, they did have a huge impact.

Funny, I did not see the Y2K or the Bubble Sort algorithm (which every green gilled programmer ends up using).

The Ultimate Guide to Leaving Comments On Blogs

I am a big fan of Darren Rowse and the words of actionable wisdom he shares on ProBlogger. Every blogger wants comments on his posts and although I haven’t had much comment love from you folks, I would still prefer genuine comments as opposed to spammy comments from Black Hat SEO agents.

In this post, ProBlogger teaches how to correctly post comments on popular blogs. It’s a great way to get noticed, start interacting with like minded people and get some trickle down traffic on your blog.

Why did Google make an ad for promoting “Search” in India where it has over 97% market share?

In India, Google has a huge 97% market share in search engines. That’s huge! If you have been an internet user in the past month or so, you would have noticed a slew of Ads on Google Search. Warming and touching this Ad reminds us of how we use search and how Google search is now accessible for mobiles.

I am not going to give the answer away, read this article on Medium!

Financing a Start-Up

Starting an organization is difficult. Especially when you have to arrange the financial support to aid your endeavour. This article on Edupristine helps us in finding different ways in which one can raise money to fund their venture.

This article is close to me for personal reasons as well .. not only have I worked with this organization, but also I am trying to start an organization and this article has come of use already!

Deep Learning 101

Step aside Big Data, there is a new buzzword in town … it’s Deep Learning!!

Yes, we already have Neural Networks, and Machine Learning … Deep Learning goes a step further. Do take some time and read this. It’s on the climbing slope of the Hype Cycle right now. If you can talk more about it, it will get you noticed Winking smile

Why I am not canceling class tomorrow

It is not often when students talk in awe of their teachers. I have been fortunate to have met such teachers … some of whom I have already mentioned in the past.

In this case, the university staff were on a strike, but the professor still went on to teach his class and emailed them in advance to come attend that lecture. It’s a heartfelt email where the professor brings the focus on the value one must place on education and how individuals should look at learning.