Processing 30 billion images a month, here’s how ImageKit delivers 98% of the optimised images in under 50 milliseconds using AWS
Industry statistics say that if a page takes more than three seconds to load, almost 40 percent of visitors tend to leave that site. According to HTTP Archive, on an average, around 64 percent of a website’s weight is comprised of images. Therefore, the size of an image has a direct impact on the page load speed and user experience. This means image optimisation is key.
That is why startups like ImageKit are taking the market by storm. The startup’s flagship solution, ImageKit.io is a smart real-time image optimisation and transformation platform that simplifies the process of optimising, transforming and delivering perfect images across different devices, network speeds and display densities.
Eyeing the right opportunity
Working together at Gurugram-based online travel platform, Ixigo, Rahul Nanwani, Manu Chaudhary and Somesh Khatkar (the founders of ImageKit.io) realised that there were very few ready-made image optimisation products in the market, most products didn’t integrate easily into a company’s existing infrastructure, either. Additionally, many didn’t have a pricing model that supported optimisation at scale. Starting up in October 2016, the founders took three months to build the MVP and launched ImageKit.io in January 2017.
An integral partner in ImageKit’s growth story
Today, ImageKit.io serves over 30 billion images every month on their customers’ websites.
The Co-founder and CEO, Rahul says, “Operating at this scale means our infra cannot afford downtime. And, with the way our infra is configured on Amazon Web Services (AWS) we have been able to achieve over 99.9 percent uptime. In addition, we deliver almost 98 percent of all the optimised images in less than 50 milliseconds”
ImageKit.io has different kinds of workloads that enable them to serve client requests in milliseconds. This requires different kinds of instance types, and is here that Amazon Elastic Compute Cloud (Amazon EC2), a web service that provides secure, resizable compute capacity in the cloud, works to their advantage. Rahul agrees, adding, “EC2 has a wide range of server types to support compute, memory or storage-intensive operations.”
ImageKit’s association with AWS started early on.
“We began using AWS for two key reasons - the familiarity of the platform and AWS' support for startups. We had used AWS in our previous roles and knew it could help us achieve good scale and performance. Also, AWS had been around for in India much before other full-service cloud providers and knows the needs of the Indian market better. And, as a bootstrapped startup, we used the AWS promotional credits to cover the initial server costs,” he adds.
As ImageKit began to grow, so did their infrastructure requirements. That’s when Imagekit saw the need to go beyond what was offered under free credits and began evaluating its options. During this time, they were clearly able to see the advantages offered by AWS in comparison to other cloud service providers says Rahul. “Today, we leverage both - the traditional servers (AWS EC2) and Serverless (Lambda, Lambda@Edge) for different purposes. And, since ImageKit.io is a complete image delivery and transformation product, AWS CloudFront, the Content Delivery Network and AWS S3 - the storage service offered by AWS, are an integral part of what we offer.”
The AWS advantage: in India and beyond
“When we look at our journey in India, AWS has a strong understanding of the technological requirements of the domestic market. We are also among the few image processing providers with a dedicated processing region in Mumbai. This has been possible because of AWS's investment in India. Today, we are seeing that an increasing number of our Indian customers are moving to the Mumbai region for their cloud hosting. And, with our processing region located in Mumbai, it puts us closer to their infrastructure to help reduce load time,” explains Rahul.
In addition, AWS’s global infrastructure has doubled up as a key advantage for ImageKit.io.
“With AWS's global infrastructure, we are able to cater to customers in 40+ countries. We have our own infrastructure running in six regions globally. We have our infrastructure in Sydney, Singapore, Mumbai, Frankfurt, North Virginia and North California, and are also working on expanding our own infrastructure to cater better to the different geographies,” says Rahul.
He adds that, in the last two years, the traffic handling capacity of CloudFront has gone up significantly with AWS adding a number of nodes. “South Africa and the Middle East are new regions which are now covered by AWS CloudFront. The number of edge locations have gone up in India in India too. All this has worked in ImageKit.io’s favour. The load time and caching performance has been very consistent for all our customers and thereby helping us deliver a good user experience.”
In tune with customers’ needs
Today, with ImageKit.io using a number of services within the AWS infrastructure, deployment has not only become simpler, but there is also clarity about the expected inter-service performance levels. Providing further insight, Rahul says, “Being a SaaS product that integrates on a live website or an app, and handles something as critical as the images on that website or the app, we need to ensure that the infrastructure is able to scale well, especially during the festive season or a sale period when there is a sudden spike in traffic soon after a sale notification that has gone out. That’s where our ability to autoscale the infrastructure for the incoming traffic or API requests helps. A mix of spot instances, reserved instances and serverless is used to handle the short spike of traffic. Here, Route53, the DNS Service offered by AWS makes it really easy for us to configure failovers within our infrastructure in case something goes wrong.” To put it simply, AWS’ products have helped ImageKit.io scale not just to meet the needs of their growing customer base, but also scale easily with the varying image delivery and optimisation requirements of their customers.” He adds, “The benefits that come with economies of scale can be realised with a cloud provider like AWS.”
While the technology at its core has been one of the driving factors for ImageKit, the other has been consistent support from AWS support and business development teams in India and the partnerships they have been able to build.
Rahul, explains, “AWS has been helpful in connecting us with subject matter experts and solution architects for different services that we are using whether it is serverless or media delivery or global EC2 deployments. When we are working on image optimisations or performance optimisations, we are actually talking about shaving off milliseconds in terms of load times. And that can happen only if we make optimal use of the underlying infrastructure. The experts and support teams have helped us immensely here.”
AWS has also helped the startup find partners, expand their network in the ecosystem and facilitated introductions. “AWS has a huge set of active accounts, which have a requirement for better image optimisation and delivery. In addition, AWS works closely with a large pool of technology partners, service providers and agencies, who in turn work with other companies who need solutions like ImageKit. So references and introductions by AWS and their partners to these companies have helped us tap business.”
Looking at the bigger picture
Today, ImageKit.io is being used by 300 companies, which also includes their first three paying customers. Some of Imagekit’s notable customers include Nykaa, Hopscotch, Times Now, Asian Paints, Republic TV, and Nearbuy, among others. In addition, over 10,000 developers all over the globe use its freemium model.
Having solved some of the most basic yet critical problems for developers and brands, ImageKit now is working towards the next logical step - supporting more complex integrations while still being a completely self-serviceable product. And, with content consumption on the rise in India, the team believes there’s a parallel opportunity for them to explore beyond image optimisation.
“We want to address the bigger goal of ‘performance improvement’ for all kinds of content that is delivered on a website or an app and make performance optimisation as simple as image optimisation,” signs off Rahul with optimism.