Posts by Sascha

Deploy Laravel on Elastic Beanstalk and Scale with Memcache (Updated 2024)

This tutorial guides you through developing and deploying a Laravel 10 application on AWS Elastic Beanstalk (EB), with a focus on enhancing performance using Memcache. You’ll learn to build a simple Laravel task list app and leverage Memcache for improved speed and efficiency.

How to boost your SEO with Memcache: A ClickMechanic case study

Page load times are an essential factor in Google’s ranking algorithm. So ensuring landing pages load as quickly as possible is critical for SEO. ClickMechanic uses MemCachier to speed up thousands of landing pages by caching entire pages as well as composable page components to speed up on-demand page generation.

Advanced Analytics for Caching

In recent month our analytics dashboard has received a fresh new look. More than just the surface has changed though, the whole stack has been re-engineered from scratch. This new stack allowed us to add several new features such as more comprehensive metrics and the ability to set alerts. Now we are finally ready to introduce the first advanced feature our new analytics stack can offer: cache introspection.

Deploy a Ruby on Rails Application on AWS Elastic Beanstalk and scale it with Memcache

Want to deploy a Ruby on Rails application on AWS Elastic Beanstalk that is ready to scale? We’ll explore how to set up your Elastic Beanstalk environment, hook it up to a database, deploy your application, and finally how to use Memcache to speed it up.

We’ll walk you through creating the application from start to finish, but you can view the finished product source code here.

Deploy a Django Application on AWS Elastic Beanstalk and scale it with Memcache

This post is out of date. We published an updated version, read Deploy a Django Application on AWS Elastic Beanstalk and scale it with Memcache.

Want to deploy a Django application on AWS Elastic Beanstalk that is ready to scale? We’ll explore how to set up your Elastic Beanstalk environment, hook it up to a database, deploy your application, and finally how to use Memcache to speed it up.

We’ll walk you through creating the application from start to finish, but you can view the finished product source code here.

Build a Django one-click-app on DigitalOcean and scale it with Memcache

Update: One-click-apps are now Marketplace images.

This tutorial will walk you through the steps of creating a simple Django One-Click application on DigitalOcean and then add Memcache to prevent or alleviate a performance bottleneck.

We’ll walk you through creating the application from start to finish, but you can view the finished product source code here.

Why horizontal scaling increases the need for caching

Horizontally scaling a web app has become a total no-brainer in the last few years. PaaS offerings like Heroku allow you to add a “dyno” with the click of a button and container technology such as Docker has enabled the same ease to scale your your own deployment. By now it has become a standard in all mayor cloud providers such as AWS to allow you to auto-scale your app.

Given how easy it is to add another container whenever traffic increases and performance starts to take a hit, it is tempting to assume there’s no longer a need for a Memcache. In reality, quite the opposite is true: the more we scale an app horizontally, the more we need and can benefit from caching.

Build a Rails one-click-app on DigitalOcean and scale it with Memcache

Update: One-click-apps are now Marketplace images.

This tutorial will walk you through the steps of creating a simple Rails One-Click application on DigitalOcean and then add Memcache to prevent or alleviate a performance bottleneck.

MemCachier launches on DigitalOcean with Discount Pricing!

Using Memcache on DigitalOcean has become even easier with the MemCachier DigitalOcean Marketplace Add-On. Also, read our more recent post The most reliable, powerful, and easy way to use Memcached on DigitalOcean

Today we officially launch on DigitalOcean! Creating your website on DigitalOcean is super simple and now scaling it has become simpler than ever with MemCachier’s managed Memcache. Gone are the days of managing, scaling, and monitoring your own Memcached servers. With MemCachier, you can create and resize caches with the click of a button. We’ll make sure your cache is monitored 24/7 and provide expert support.

How to scale a Django Application on PythonAnywhere with Memcache

This guide shows how to create a simple Django 2.1 application on PythonAnywhere and then add Memcache to alleviate a performance bottleneck.

We’ll walk you through creating the application from start to finish, but you can view the finished product source code here.

How to scale a Flask Application on PythonAnywhere with Memcache

In this tutorial you will learn how to create a simple Flask 1.0 application on PythonAnywhere and then add Memcache to alleviate a performance bottleneck.

We’ll walk you through creating the application from start to finish, but you can view the finished product source code here.

Pylibmc is now available on PythonAnywhere

PythonAnywhere, a popular platform to deploy Python apps, released their new image called earlgrey which is based on Ubuntu 16.04. This new image finally supports libmemcached with SASL support. This means you can now use pylibmc to connect to cloud Memcache providers such as MemCachier.

How much Memcache do you need?

Caching is a technique used in a wide range of contexts to increase the performance of storage systems. For example, modern microprocessors all have fast cache memory built into them, so that repeated accesses to the same memory addresses come from the fast cache storage, rather than from the slower main memory. In a similar way, operating systems maintain a cache of disk buffers in main memory, so that repeated reads from the same disk blocks come from the cached data rather than needing to be read from disk, which is much slower than memory.

The same kinds of considerations apply to caching for web and mobile applications with Memcache. In this case, it’s common to cache the results of database queries, partial page renders, or the results of other application-specific computations.

In any caching application, there are two questions that have to be answered. First, “What should I cache?” and second, “How big a cache do I need?”.

In many cases, the answer to the first question is determined by the web framework you use. For example, Django, Laravel, Spring Boot and others all have integrated caching systems that simplify the caching of database query results and HTML page renders. These frameworks usually also expose a lower-level API for doing application-specific custom caching.

However, the second question is trickier. At MemCachier, we get questions about cache sizing from customers all the time. Fortunately, there is a simple and systematic way to go about choosing a cache size, which we’re going to describe in this article.

MemCachier vs AWS ElastiCache

Memcache is a technology that improves the performance and scalability of web apps and mobile app backends. It can alleviate bottlenecks such as slow database queries or high CPU usage. This is in contrast to horizontal scaling where all resources are multiplied and can easily lead to overprovisioning a particular resource such as network bandwidth. Memcache helps you scale by alleviating a pressed resource and is thus a perfect addition to your scaling toolbox to optimize resource consumption.

When it comes to adding Memcache to your applications you have several options. You can, for example, just set up your own Memcached server. However, if you are a developer that loves building apps and are wary of setting and manage your own Memcached server, chances are you have stumbled upon ElastCache. This might seem like a better option since you only need to tell ElastiCache what instances you want, how many of them you want, and it will set up a Memcached cluster for you.

Unfortunately, with ElastiCache you’re still stuck needing to directly dealing with instances. There should be an easier way! Enter MemCachier, a SaaS offering for managed Memcache. With just a click of a button you get a cache in any the size you want. Simplicity, however, is just the tip of the iceberg in terms of benefits a SaaS offering can provide. At MemCachier, we wanted to not only make Memcache simpler, but also to make it better.

Build a Spring Boot Application on Pivotal Web Services and scale it with Memcache

In this tutorial we’ll learn how to create a simple Spring Boot 2 application (based on the Spring Framework 5), deploy it to Pivotal Web Services, then add Memcache to alleviate a performance bottleneck.

MemCachier Now Recommends XMemcached for Java

If you’re using Memcache in Java, chances are you’re using the SpyMemcached client. It has been the most popular Java client for years. Unfortunately, at MemCachier we have had a lot of customer reports about problems with SpyMemcached. For this reason we now recommend to use XMemcached with Java.

Memcached DDoS and MemCachier

In light of recent DDoS attacks involving memcached servers several customers have asked us about MemCachier’s vulnerability to this type of attack. At MemCachier, we are not vulnerable to these kinds of attacks because we use a custom multi-tenant implementation of the memcached protocol that is optimized for security, reliability, and performance as a cloud service.

MagLev, our new consistent hashing scheme

A key feature that MemCachier offers its clients is the ability to use multiple proxy servers to access their cache. This is important because most issues that clients experience are related to network delays or general connectivity. In such cases a memcached client can fall back to a different proxy and still have access to the entire cache.

Revamped Status Page

We are happy to announce some wide-ranging improvements to our status page. While it looks the same on the surface, it has been rewritten from scratch and is now much more tightly integrated with our monitoring infrastructure. For our customers, this has three main consequences.

Flush Command Logging for Heroku

We are happy to announce a new feature for our Heroku customers. In the past we have had several requests from customer who wanted to know why their caches had been flushed. To help our clients find out how a flush command came about we now push a log message to the Heroku log whenever a cache is flushed.

New Analytics Dashboard and Cache Migration

We are happy to announce a new design for the analytics dashboard and the ability to move your cache from one cluster to another in emergencies.