Now Drizzle. I do not get cloud computing (maybe someone can explain it to me). Its fancy, its hype and I am sure there are plenty of people that need it, next to the other 99% that do not.
There’s the old saying about missing the forest for the tree, but Lukas Smith is completely missing out on the changes that are happening in the entire web ecosystem by not understanding what the cloud revolution is about. This concerns me. I consider Lukas to be one of the most intelligent sysadmin/developers in the business. If he doesn’t get it, who else doesn’t?
Ever since the computer science field graduated from Assembler and hand-punched binary, we’ve worked with abstractions to map our world onto the digital engines that make communication (and modern commerce and society) and retention of information massively scalable. (Even Assembler and binary are abstractions, in a way.) Commands and Functions in a computer program are analogous to repetitive actions performed by a person. Database tables often map to information about a real life item. Object-Oriented Programming maps actual objects in code and exposes “handles” with which we can manipulate the object in code. It’s an abstraction. It’s ALL abstractions.
A systems administrator, when handed some hardware and some code, can set up a website. This is a tree. With more code and more hardware, you eventually have a forest of trees. With a little more hardware and freely available open-source code, a good sysadmin can set up a nice fence around your territory, a gate with good access controls, and behind that gate can move things around like actors at an amusement park so that magic happens inside the forest without being visible to customers, users, visitors, and general passers-by. This is a cloud.
Cloud computing is the next layer of abstraction in programming. We don’t think about writing bits to a new file on a disk anymore; we call a function that opens a file in our scripting language. That function, when executed, makes a series of calls to the system, which routes commands through various other abstracted out bits of code to partition a new inode in the filesystem on the disk for the file and prepare to write data to it. This makes coding fast and easy and we can get things done without working out the details. Cloud or Grid computing attempts to do the same thing with system administration.
More technically, a cloud is an extension of the idea of a cluster of servers. A cluster of servers is a finite number that can be bent to a specific will. A properly constructed cloud takes that farther and makes the scaling as invisible to the programmer and end-user as the constant production and consumption of energy inside of a power grid (grid computing, anyone?) is to a small child that wants to turn on a light switch. In addition to vertical scalability (i.e. number of machines), a cloud should also provide horizontal scalability in the form of “smart” caching and load balancing to provide a solid foundation. For the most part, we’re there. We have enough tools and equipment to provide massively scalable processing infrastructures for web applications.
The place where things lag behind is in the database layer. There’s only so much caching, sharding, and proxying that you can do before you hit one constraint or another. This engine can’t have referential integrity, that engine can’t handle more than a certain amount of data. This engine is fast, this engine is slow. Replication does not scale efficiently and easily falls out of synchronization. MediaTemple’s grid database troubles, (along with Joyent’s accelerator, Twitter’s achey breaky fail whale, and the crazy levels of sharding and caching that livejournal has to do (pdf)) are proof positive that our current web databases aren’t up to the tasks we ask of them out of the box. That’s not a cloud; that’s the old redwood tree with the hole cut in the side that you can drive through.
Drizzle is an attempt to get an engine that is easy to deploy and manage and that has pretty good market share in the group of applications, systems groups, and developers that will need to move into the cloud — there. It’s written by the same people that made MySQL lightweight and cool in the first place. It may be a misguided attempt. Maybe SQL isn’t even the future, and CouchDB or the Amazon Simple Storage Engine or half a dozen other ideas may beat Drizzle and MySQL into the dust as they stampede through the rest of the market. But Drizzle will be able to play in the cloud. And sysadmins can actually go on a date for once without having to shell in from the men’s room via their blackberry and reset the replication on a database server.
Oh, who are we kidding? Sysadmins don’t date…
No comments yet.
If you enjoy the content, consider subscribing to the feed(s).
Jump to comments