This week, we are excited to have the opportunity for Q&A with Salvatore Sanfilippo, founder of Redis, the data structure server. Salvatore is a very accomplished and well-respected open source engineer who hails from Sicily, Italy.
Q1 | Tell us about you growing up. Where you lived, siblings, school, activities, interests, etc.
A1 | There is a little town in Sicily called, “Campobello di Licata”, and it is located about 10km from the south coastline—this is where I was born in 1977. My father was an electrician, and my mom worked part time, but she mainly stayed at home to raise my brother and I.
As a small child, Campobello was in its economic boom, like the rest of Italy in the 1980’s. One of the hobbies was computing, and my father was into it before small home computers like the C64 or ZX Spectrum started to show up in Sicilian houses. I remember he had this Z80 programmable thing with just an LCD display, and, later, he bought a TI99/4A. It was the first computer I put my hands on when I was about 5 or 6 years old.
This how I was exposed to computers and programming—my father explained the initial things to me. When he was no longer into computers, he was wise enough to keep buying me new computers. Of course, it wasn’t completely clear that this hobby would turn into a job, career, or business venture.
Q2 | Tell us about your work background and how Redis joined Pivotal?
A2 | I started as a sysadmin, and immediately began focusing on IT security. At one point, I invented an attack called idle scan and developed an open source tool called hping. This was quite popular as a penetration testing tool for many years. Now, the idle scan attack is implemented in Nmap Security Scanner.
Afterwards, I worked in the field of embedded systems for some time, and since I was very interested in computer languages, I wrote an open source, small footprint implementation of the Tcl programming language. It is called Jim Tcl and is currently used in embedded systems.
At this point, I turned into an entrepreneur and created a web company. This was when Web 2.0 was big. We developed some social applications, and a few of our products turned into a deal with Telecom Italia (the biggest phone operator here in Italy).
At some point, we were trying to develop a new product for real time statistics, and there was no easy way to scale the product to many users. We needed to keep costs low and use very little hardware because the business model was still not clear, and the product was basically free. While struggling with the scalability issues of the new product, I started to realize that what I needed was an in-memory database with support for complex data structures. In particular, I needed the concept of lists of items, with very fast operations.
That’s how Redis started—I wrote a prototype, and it solved our issues very well. After a couple of weeks, I made Redis open source. To push it forward, I worked at it for a whole year, full time, for free while my companies helped me pay the bills.
Later on, VMware took an interest in Redis, and hired me to develop Redis as an open source project. This provided a great boost for Redis development, since I was getting tired of working for free and Redis was gaining more traction. A few months ago, I moved from VMware to Pivotal, and Redis is one of the “big data” pieces of the story. Redis helps with where systems have requirements for extremely low latency and very high operations per second.
Q3 | What is your role in this new Pivotal organization? What are you most focused on?
A3| I’m focused in developing the open source side of Redis. We want to add new functionality, make the system more mature, and make it more useful.
Q4 | What challenges does your product solve? Please cite customer examples if you can.
A4 | Redis has many different use cases. The simplest way to describe it is something between a traditional database and doing computations in memory. Redis exposes data structures that are accessed in RAM via a set of commands. A notable use case for Redis is at Twitter, where it is used to cache the latest few hundred tweets for every active user.
Q5 | What are you most excited about being able to do in a smaller, more nimble organization?
A5 | Pivotal is a good match for Redis. The scale of the company resembles the scale of the project itself, and I continue to do most of the development. Pivotal is also an extremely open source oriented company—Redis is not an exception, it’s not the only open source software in the organization. So, everybody understands what I face with the product—that’s a very good thing.
Q6 | Scott Yara said that one of the strategic things we are doing for Pivotal One is to address the developer. What does that mean to your product line?
A6 | It means that all the choices in Redis are made to help developers solve problems more easily. There is no space for purely commercial choices. The first goal is to make something the final developer will enjoy, find well documented, and be easy to use. This is how we are going to create real value.
Q7 | Much of this will be delivered as a service through CloudFoundry. What does that mean for your product?
A7 | It means that Redis needs to do two things well:
1) It must be easy to provision, monitor, and configure. For instance, a key concept of Redis configuration is that the CONFIG command is able to alter the server configuration at runtime.
2) We must be an operations friendly system that can be exposed effectively in a PaaS development environment. In PaaS, users are not interested in the way you run the service, but are interested in accessing the service in a simple way that scales. With Redis Cluster, we plan to have a system that is well-suited for PaaS. Just like you scale web servers by adding more nodes, you should be able to scale the database by pushing a button, and it should be transparent to your application.
Q8 | What is the major focus for you and the new Pivotal One platform?
A8 | To add key features to Redis like Redis Cluster. This way, we can provide great value to developers.
Q9 | What do you like to do in your personal time when you aren’t living and breathing Pivotal products?
A9 | Of course, I help my wife with our small daughter, and I spend time with my son. In my free time, I’m a fitness enthusiast—mostly weight lifting and running. Also, I’m into wine quite a bit—not much as an expert, but I like to try new wines and keep a decent wine cellar to share a bottle with friends from time to time.
Q10 | What is your favorite developer tool and why?
A10 | The Vim editor and the Valgrind debugger are among the most important pieces of my toolset.
Q11 | What is your biggest achievement?
A11 | That my kids have fun with me 🙂
Q12 | What is top on your bucket list of things to do while still on this little rock we call earth?
A12 | It is a priority for me to spend time with my family and to have fun with friends. I also hope to take a 6 month rest period to travel. Another thing that is starting to be very important for me is to bring my body, using exercise, to its maximum capability. For too many years I did not realize that doing great things with your body is as important as doing great things with your mind.