Once Upon A Time…
Once upon a time, a happy little storage protocol was born. She was loved by her father, Microsoft, and he asked her to work throughout their small kingdom, delivering packages from the castle to clients all around. Sometimes she would be given other odd jobs, like authenticating a visitor, but mostly she delivered files in the kingdom of LAN.
Then one day Microsoft decided that his protocol had grown up and should go see the wider world. He named her CIFS and told her to travel across the Internet and visit other kingdoms, seeking work wherever she went. But most of the other kingdoms resented Microsoft as a bully, so they spurned CIFS. Only Samba, a friendly servant, allowed CIFS into the UNIX kingdoms.
Microsoft didn’t help the situation, since he was constantly at war with the other kingdoms. Sometimes he would even change his mind about allowing CIFS to work with others or tweak her so she would drop her payloads. And wolves began harassing CIFS in the woods, so Microsoft gave her different clothes to wear, making her harder to recognize everywhere. It was a difficult time for CIFS, since all the other kingdoms had their own language and protocols and no one really wanted her around.
Eventually all the kingdoms got used to CIFS, but she never really fit in anywhere but home with Microsoft. The storage arrays got pretty good at working with her, but none of the clients really liked her. They would make fun of her, calling her “chatty” and “insecure” and laughing about the paltry payloads she could carry.
Then one day Microsoft sired a new protocol. His name was SMB 2 and he was born to bring the kingdoms together. By this time, Microsoft had made peace with the UNIX world, even as many of their kingdoms had fallen to the brash upstart Linux and the preening princess Macintosh.
SMB was clever, working with every kingdom so they could learn his language. Samba loved him, and even Macintosh kicked out her darling AFP in favor of SMB 2. Soon he was joined by a big, strong brother named SMB 3 who could do just about anything and worked well with everyone. Although poor CIFS was left to waste her remaining days in outdated data centers, her brothers, open and free, are set to bring file-serving peace to the LAN and the WAN.
Amazon S3: The Sequel to CIFS
Such is the tale of so many enterprise IT protocols: Born to jealous and vindictive market leaders, grudgingly adopted by the rest, and finally set free to evolve and grow on their own. And such will be the case with today’s hottest storage protocol, Amazon’s S3 API.
Amazon AWS is a lot like Microsoft Windows in the 1990’s. It’s the undisputed market leader in its space and thus is the most logical path for challengers to take. Rather than rally around a de jure standard like CDMI, the cloud and object storage industry seems intent on piggybacking on the de facto leader, Amazon S3.
But Amazon isn’t all that keen about all the “workalike” S3 storage platforms out there. Like Microsoft, Amazon probably isn’t losing sleep over these challengers, and neither would waste time intentionally breaking compatibility. But Amazon isn’t going to lose any sleep if revisions to the S3 protocol are incompatible with other implementations. They’re interested in serving their own customers using this proprietary protocol.
Eventually things will change, though. S3 has such widespread adoption and use that it’s inevitable to take over the API-driven cloud storage market. And as other implementations gain market traction, a cry will go up to standardize S3 beyond Amazon’s own use case. Eventually Amazon will let S3 API loose as an open standard or the industry will fork it together, giving rise to an Amazon S3 superset.
Stephen’s Stance
It’s clear how this fairy tale ends. So many companies are using “S3 plus” as their standard interface, and even inside their solutions, that it’s safe to say it’s won the cloud storage API battle. But S3 isn’t a finalized spec – the industry will extend and improve it over the coming years. Soon we’ll have a cloud storage standard based on S3, just like we have a LAN file services standard based on CIFS.
This post came from discussions last week at the Storage Developer Conference and Next Generation Storage Summit. Special thanks to Paul Turner and Charles Eischen from Cloudian, who were present when this fairy tale came to life!
Cloudian Paul says
The parallels are uncanny and it really shows that development standards/Apis are set based on market adoption. Even for a vendor developed API set like amazon s3, once a large enough application ecosystem is built around that API then the market dictates the standard remain open (for the original developer this also becomes a very positive situation for them). I believe S3 has already achieved that and provides us the defacto standard interoperable storage API.