Skip to content

Latest commit

 

History

History
38 lines (26 loc) · 2.09 KB

servers.md

File metadata and controls

38 lines (26 loc) · 2.09 KB

Servers

Prerequisites

Today's software services are powered by scores of keyboard-less, mouse-less, monitor-less computers called servers, which generally run all day or at scheduled intervals.

Most servers are operated "in the cloud" by providers like Amazon Web Services and Heroku. These "remote servers" provide business advantages at least in terms of:

  • Cost
  • Scalability
  • Efficiency
  • Security
  • Usability
  • Reliability

Different kinds of servers perform different functions. Common server types include:

  • Application Servers
  • Database Servers
  • Email Servers
  • Web Servers

Application Servers

When an application's source code is uploaded to a remote server, the server is capable of running that software in a similar way as it would be run on a developer's local machine.

Deployment Environments

The same application can exist on many different computers, in different "environments".

Name Description Common Developer Tasks Primary Audience Level of Risk
Development A computer, often a personal computer, on which you produce, develop, and test an application's source code. Running a local web server, editing code in a text-editor, and running tests. One or more individual members of the software development team. Low
Staging A computer, often a remote server, onto which you deploy an application's source code to emulate as best as possible the production environment to get a sense for how code changes will affect the application running on the production environment. Performing usability tests, monitoring server scalability and performance. One or more collective members of the software development team. Medium
Production A computer, often a remote server, onto which you deploy your application's source code for "live" usage. Monitoring server logs. Users, customers, and the public at large. Very High