Local and remote machines

~8 min

Try a simple thought experiment. Put your phone in airplane mode and see what still works.

You can probably use the calculator, view photographs already stored on the phone, and read notes that have already been saved, but refreshing an Instagram feed, running a new web search, or downloading a new email will usually stop working.

You have just experienced the difference between local and remote computing.

What does local mean?

Concept · lights on your maplocalHappening on the device you are currently using, with its own CPU, memory, and storage. The opposite of remote, which means any other machine reached over a network. means something is happening on, or being accessed directly from, the device you are currently using.

Your phone is your local machine when you are using it, and your laptop is your local machine when you are working on it.

The device has its own CPU, memory, and storage, so software and information stored on that device may remain available even when it has no internet connection.

Examples of things that may happen locally include:

  • Using a calculator
  • Opening a photograph stored on your phone
  • Editing a downloaded document
  • Playing music saved directly on the device
  • Running an installed application

In each case, your device already has the software and information it needs to perform the task.

What does remote mean?

Concept · lights on your mapremoteHappening on another computer, reached over a network. The opposite of local. The word says nothing about distance; it means “not this one,” whether the machine is in another country or the next room. means something is happening on, or being retrieved from, another computer located elsewhere.

Your device reaches that computer through a network, usually the internet.

When you refresh an Instagram feed, your phone does not already contain every new post that might appear, so the application contacts remote systems, requests the latest information, and displays the response it receives.

Similarly, when you search the web, your device sends the search to remote computers that perform work and return the results.

The application on your phone is therefore often only one part of the product. Some work happens locally on your device, while other work happens remotely on computers operated by the company or by a cloud provider.

An app can use both local and remote resources

Local and remote are not two separate categories of applications. A single application frequently uses both.

A music app may store its interface and some downloaded songs locally and at the same time retrieve playlists, recommendations, account information, and new songs from remote systems.

An email app may display messages it downloaded earlier even while your phone is offline. However, it cannot retrieve new messages until it reconnects.

This is why airplane mode does not always make an application completely unusable. The application may continue working with information already stored locally, while features that depend on remote systems become unavailable.

A useful question to ask is: which parts of this experience happen on my device, and which require another computer?

What is an upload?

An Concept · lights on your mapuploadYour device sending data to a remote system, up and away from you. The opposite direction from a download, and like one, it usually creates a copy rather than moving the original. happens when your device sends data or a file to a remote system.

Examples include:

  • Posting a photograph to a social network
  • Attaching a document to an email
  • Saving a file to online storage
  • Sending a video to a messaging application

The file travels from your local device to a remote computer.

Uploading usually creates a remote copy. The original may remain on your device unless you delete it or the application is specifically designed to move it.

What is a download?

A Concept · lights on your mapdownloadYour device receiving data from a remote system, down and toward you. The opposite direction from an upload, and like one, it usually creates a copy rather than moving the original. happens when your device receives data or a file from a remote system.

Examples include:

  • Saving an email attachment
  • Installing an application
  • Downloading a film for offline viewing
  • Retrieving a document from online storage

The information travels from a remote computer to your local device.

Even when you do not deliberately press a Download button, applications constantly download information in the background because loading a webpage, refreshing a feed, and retrieving a message all require information to be transferred to your device.

Uploading, downloading, and copying

Uploading and downloading usually involve copying information between locations.

Suppose you upload a photograph from your phone to a social network. A copy remains on your phone, while another copy is stored remotely by the service. Two copies now exist.

Deleting the local photograph does not necessarily delete the version you posted. They are separate copies unless the application connects their behavior.

However, some services use synchronization, often shortened to syncing. Synchronization attempts to keep information in multiple locations consistent.

For example, a cloud photo service may be configured so that deleting a photo on one device also deletes it from the remote library and your other devices. The behavior depends on how the service is designed and configured.

This means “I deleted the file” may not fully explain what happened. A useful follow-up question is: did you delete the local copy, the remote copy, or both?

Interactive — sort them

Which direction is the traffic flowing?

Tap an item to pick it up.

Where do remote computers come from?

A company can purchase and operate its own remote machines, or it can rent computing resources from a cloud provider such as Amazon Web Services, Microsoft Azure, or Google Cloud.

These computers may be located in large facilities called data centers and may serve users from many different locations.

You will later learn the word server for a computer or software system that provides capabilities to other computers. You will also study cloud computing in greater detail.

For now, a useful starting point is: cloud computing allows companies to use remote computing resources managed through a provider instead of operating every physical machine themselves.

The familiar phrase “the cloud is someone else’s computer” captures part of the idea, but cloud providers offer much more than a single remote computer. They provide processing power, storage, networking, databases, and many other managed services.

Why the distinction matters

The difference between local and remote computing explains many familiar product behaviors.

An application may work slowly because it is waiting for information from a remote system. A file may appear on several devices because remote storage is keeping them synchronized. A feature may stop working without internet access because the necessary information or processing is not available locally.

The distinction also helps you ask better questions:

  • Is this information stored locally or remotely?
  • Does this feature work offline?
  • What happens when the connection is lost?
  • Is the application saving a local copy?
  • Are the copies synchronized?
  • Which version is the source of truth?

These questions connect directly to the concepts of state and source of truth from Module 1.

The mental model to remember

Your local machine is the device you are currently using.

A remote machine is another computer that your device communicates with over a network.

An upload sends information from your device to a remote system.

A download brings information from a remote system to your device.

An application can perform some work locally and rely on remote systems for other work. Copies may exist in both places, and synchronized services may keep those copies connected.

Check — then the lesson continues

Your teammate edits a shared Google Doc on the train, loses signal, and keeps typing. Their edits show up for everyone once signal returns. Where were those edits living during the tunnel?

▼ answer the check to continue ▼