Instagram is a very popular photo-sharing application or service with hundreds of millions of active users. In addition to that, the platform has millions of photos of the servers. As time passes by, the features of this social media platform keep on improving. And in fact, you can even use service providers like losfamos.com if you want to increase the number of followers.
However, the majority of people have one question in common, what are the stack and the technology that the application use. As luck would have it, the developers of this photo-sharing app have been detailing the tools as well as the technology they utilized all along. In the actual fact, the engineering blog of the platform outlined the development stack. What’s more, they provide details showing how they utile the tools they picked.
The photo-sharing app, on the other hand, makes use of an interesting combination of tried and tested technologies in conjunction with more advanced tools mixing a SQL database with NoSQL tools such as Redis.
Nevertheless, keep on reading and learn more about the tools and technologies behind the success of Instagram.
Did you know that each request to the servers of the application goes over a load balancing machine? Well, it is a fact. The developers used to run two nginx machines as well as DNS Round-robin amongst them. However, the only drawback of this method is the period that the DNS needs in order to update needs to get decommissioned.
But a moment ago, the developers use the Elastic Load Balancer of Amazon that has three NGINX instances after it which can be changed in and out. However, if they miscarry a health inspection, they will be taken out of the rotation automatically.
On the other hand, they also terminate their SSL on the ELD level that reduces the load (CPU) on NGINX. Nevertheless, the developers also make use of the Route53 of Amazon for DNS that they have added a decent GUI tool in the Amazon Web Services (AWS) monitoring.
With more than 100 instances, it is very crucial to keep an eye on what is going on through the board. For this reason, the developers utilize Munin in order to display the metrics of their system as well as notify if something is outside of the usual range.
Furthermore, the developers wrote various custom Munin plugins, constructing on top of the Python Munin in order to display the metrics which are not system-level, pictures posted per second for instance. For external monitoring, they make use of Pingdom and for handling incidents and notifications they use Pager Duty.
But for Python problem reporting, the developers utilize Sentry – it is a great open-source Django app that was written by the people at Disqus.
When it comes to the operating system, Instagram runs on Ubuntu Linux v. 11.04 or Natty Narwhal on Amazon EC2. According to the developers, Natty is an excellent technology. As a matter of fact, it is far better compared to the lower versions of Ubuntu.
We hope you have learned a lot from this content.