Preface

 

No server is easier to manage than no server.

Werner Vogel, Amazon CTO

In 1996, I started working on client-server architectures, experiencing both the advantages and the complexity of distributed systems. Beginning in the early 2000s, I collaborated on multiple large-scale projects, mainly for telecommunications and media customers. During those years, I often experienced the limits of computing, storage, or networking as a bottleneck that hampered the innovation that companies were trying to put in place.

Then, in the pivotal year of 2006, the idea of using computing resources with a “utility” model—in the same way as we use energy, gas, or water—started to be become a reality. That was the year AWS launched its first services for storage (Amazon S3) and computing (Amazon EC2). I was both intrigued and fascinated.

Since 2012, my focus has been on helping customers implement applications on or migrate applications to the cloud. To learn more about some of the new services and platforms I was experimenting with, I decided to write a shared file system using Amazon S3 as back-end storage. I shared my implementation on GitHub (written in Python) and shortly found an impressive community of users and contributors supporting it.