ME.ME is a company with a thoroughly modern mission: to be the world’s largest search engine for today’s most popular form of communication— memes. Founded in 2015, ME.ME is a content aggregation website that indexes internet memes from various online communities and social networking sites. The platform was conceived after its founders realized that, at the time, no one had created a search engine specifically for memes.
“Memes are growing faster than any other communication medium, even GIFs and podcasts.”
— Shane Walker, CEO, ME.ME
The ME.ME website is comprised of a search box and an image gallery that features collections of the most recent and popular memes indexed by its algorithms.The memes are sorted by tags and associated keywords, and include a link to the source page where the image was scraped from. As it serves up billions of individual memes each month, ME.ME prides itself on preserving a generational communication medium.
“Future civilizations will study memes, and we’ll still be providing them.”
— Jim Hefner, CTO, ME.ME
Memes are ephemeral by nature— what’s funny and relevant today could be meaningless tomorrow; this makes keeping up a challenge. Search, retrieval, and serving must operate at the speed of memes, making scale ME.ME’s most important business priority. To stay up to date, the company can’t depend on manual processes to categorize and tag new images.
“We’ve got a small team, and we automate as much as we can. Automation is the only way a small company could operate on the scale that we do, which is tens of terabytes of memes each month. It would be absurd to try to hire a content team at that kind of scale.”
— Shane Walker, CEO, ME.ME
It’s not enough for the site’s search engine to be lightning-fast. The results must be accurate, particularly when performing optical character recognition (OCR) in multiple languages and tagging adult content (also known as NSFW, or “not safe for work”). “Memes are on the cutting edge of being edgy, and it’s very important that nudity and other NSFW content is properly tagged,” Hefner explains.
ME.ME had been using Amazon Web Services (AWS) for about three years when they started looking into switching cloud providers. The company wanted to reduce the time they spent having to actively maintain their cloud servers. Configuring security permissions was particularly vexing. “One of the things I found most annoying about AWS over the long term was their security permissions,” Hefner explains. “The security policies on AWS are notoriously finicky and really hard to get right. Their tools are very powerful, but when you try to do something the correct way, it often doesn’t work. Then, you keep adding permissions until they are as lax as possible, just so you can get it to work without having to devote your life to AWS’ security policies. That seems counterproductive to good data security.”
The company was also looking to cut costs and increase efficiency, and their ever-increasing AWS bills were a major issue. Reaching out to AWS didn’t help bring down the tab, and the ME.ME team didn’t appreciate the cloud provider’s “hands-off approach.” “I never spoke to anyone on the phone, just through online chat, and no one on their side ever told us how to cut costs,” says Hefner.
ME.ME was actively looking to switch cloud providers and connected with Google at just the right time. Not only was ME.ME impressed by Google Cloud’s personalized service, but the company was confident that Google Cloud Platform (GCP) would meet their business needs and goals, including: 1) low latency and high uptime at a reasonable cost, 2) a reduction in ME.ME’s administrative overhead, and 3) balancing the per meme served cost with income per meme at scale. “All of our conversations with the Google Cloud team were helpful and productive, and we started migrating to GCP a month later,” stated Hefner.
Upon Google’s recommendation, ME.ME partnered with SADA, the 2018 Google Cloud Global Partner of the Year, for cloud consultation and services to assist with the migration process. SADA’s expert consultative and strategic business services enable clients to meet their business objectives and drive ROI on their cloud investments by helping them understand the complexities, opportunities, and benefits involved in cloud adoption. SADA began by conducting a total cost of ownership (TCO) analysis, then tightly aligned its team with Hefner to explain the best practices and “gotcha” areas to look for when migrating from AWS to GCP.
“Just having someone to talk to us made a world of difference. We were using a whole glut of tools on AWS, but there was no one to tell us how it all fit together. SADA was a guarantee that our GCP migration was going to work. We didn’t just get a bunch of help tickets and credits; we could actually pick up the phone and talk to someone— it’s a partnership.”
— Jim Hefner, CTO, ME.ME
ME.ME called on SADA’s Solutions Architecture Services throughout the migration process. One major area that SADA helped with was refactoring the build process for an app ported to App Engine. “That was a big one. It was a matter of understanding the infrastructure issue. I had to rewrite the Nginx files so that they would run within Docker, which was pretty straightforward.” SADA also helped Hefner understand the differences between the Google App Engine (GAE) standard and flex environments.
Results & benefits
With GCP, ME.ME enjoys a competitively priced solution that leverages managed service without vendor lock-in and allows for auto-sizing based on demand, with minimal administrative overhead. As they approached their first full month post-migration, the company was on track to see a 30% to 35% decrease in costs.
Hefner also reports spending far less time on security and getting better results. “I haven’t had to worry much about security. I find GCP’s user accounts and permissions to be more straightforward than AWS, as well as the way you connect to the databases through the Cloud SQL proxy. It takes a bit of setup, but once it’s working, it’s more secure than what we were doing on AWS, which was whitelisting individual IPs. I probably spent a few hours configuring security permissions on GCP, whereas on AWS, it took weeks.”
Hefner was also very happy with how easy it was to configure logging on web servers and Docker containers. “On AWS, I had to spend about a week reading documentation and setting permissions, but on GCP and GAE, logging works right out of the box. The servers started logging, and I could immediately look at them in Stackdriver.”
GCP allows ME.ME to scale as quickly as memes come in. From storage retrieval to indexing to all the processes the site runs, everything has to come out in a few seconds, and the results must be accurate. ME.ME is using GCP’s ML tools for adult content detection and OCR, and the company has found the speed and accuracy to be very high. “The OCR is probably the best we’ve ever used, and the computer vision and tagging features are also helpful,” notes Hefner.
“We’d be growing a lot slower and moderating by hand if not for Google Cloud,” says Walker. “Our competitors moderate by hand, with a lot of community input, but we want to be the Google of memes. We want users to find everything fast, which means automating moderation and leveraging machine learning at the scale of Google. We use a lot of cutting-edge Google tech that other sites don’t, which enables us to go fast and do it all with a small team. Google Cloud is giving us a huge competitive advantage.”
SADA’s efforts to help the ME.ME team understand the infrastructure early on gives everyone peace of mind, and not getting bogged down in administrative tasks such as logging and security allows them to focus on other things. “Every penny saved per meme served is a penny in the pocket,” notes Hefner. “That’s why scale matters so much. Automation is the reason why we keep growing. We’ve kept up at the pace of the creation of memes, which has enabled us to grow faster than the internet itself. Other sites have very spiky traffic. Over the long term, those sites tend to falter because manual processes add friction, and the editorial process is hard. If you’re going to be around in 10 years, you need to be able to sleep at night. Creativity is still a human domain, but you don’t want to hire if you don’t need to.”
SADA continues to provide ME.ME with the personalized service they need.
“SADA keeps checking in to make sure things are going well. The personal engagement is great. We feel that Google Cloud and SADA value us as customers much more than AWS ever did. Google should be applauded not only for their platform and tools, but also for their partner ecosystem. They did the right thing when they enabled experienced partners, like SADA, to help implement and optimize their technology.”
— Jim Hefner, CTO, ME.ME
Both Hefner and Walker see a bright future for ME.ME’s partnership with SADA and GCP as memes evolve, and the site evolves with them. “The next thing is going to be voice memes,” Hefner predicts. “We haven’t unleashed spoken memes yet, but we’re experimenting with them. Because we run on GCP, when new things come out, we won’t be lacking for tools to take advantage of them.”