24 Apr From Desk to The Cloud: Your Data’s Journey
From the very first computer, programmers needed a way to categorize machines based on their functions. Since many of the earliest uses of networks involved a single computer utilized by many users, the natural tendency was to call the users “clients.” Most of these users connected to a central machine, very often a mainframe, through terminals that had no processing power of their own.
Over time, the mainframe and later mini-computers became known as “servers” since their job was to “serve” access to one or more users simultaneously. When peer-to-peer computer networks started becoming popular in the 1980s and later, the client-server nomenclature stuck and began to be applied to the specific function of the software deployed on the network. Client and server applications communicated with each other in ways similar to the old system of many terminals and one CPU.
Division of Function
The reason the client-server architecture is so powerful is because it amplifies the power of systems by using the network as a logical division point for certain kinds of functionality. Take the web as a perfect example. Because of the power of hypertext and the protocols surrounding the distribution of information from file system to browser, it is not only possible to deliver complex documents constructed from simple elements, but it also becomes possible to create meta-documents constructed from complex documents.
“The cloud”, as it has come to be known, takes advantage of this natural division of function to not only create a means of distributing information, but also to create a means of distributing application functions. This is the first and most important principle of moving data to the cloud.
Software on a desktop computer, like a word processor, is useful for performing its intended functions. Integrated software, like a file transfer program, connects two or more computers across a network. If a word processor were integrated, for example, a single copy of a document might reside on a “cloud” server, where many versions of the desktop software on many different computers could read, alter and obtain the latest version of the document all in real time.
The “integrated” word processor that makes this possible resides on both the user’s desktop and “in the cloud” on a server elsewhere on the network. These two separated portions of the application work together to synchronize the desktop user’s data such that the client and cloud versions are always the same. If the client makes a change, the application sends the updated document to the cloud. If another user elsewhere makes a change to the cloud’s version, the server sends the updated document back to the user’s desktop application.
Like the earlier example of simple elements becoming complex documents, cloud software can combine many simple applications into not only complex software, but software tailored for specific and highly specialized use cases. This is one of the principles underlying the UNIX operating system, and one of the things that makes it so powerful.
The cloud is by all measures in its infancy. By utilizing sound development principles, cloud technology will make it possible to deploy capable applications and secure data across nearly any kind of network and on nearly any device.