Geoprocessing services are how you expose the powerful analytic capability of ArcGIS to the World Wide Web. Geoprocessing services contain geoprocessing tasks, and a task takes simple data captured in a web application, processes it, and returns meaningful and useful output in the form of features, maps, reports, and files. A task could calculate the probable evacuation area for a hazardous chemical spill, the predicted track and strength of a gathering hurricane, a report of land cover and soils within a user-defined watershed, a parcel map with historical details of ownership, or a permitting application for a septic system. The possibilities for these services are infinite.
A useful way to think about services is as four separate activities: designing, authoring, publishing (or sharing), and using (or consuming). The online help about geoprocessing services addresses the mechanics of authoring, publishing, and using. That is, how to use ArcGIS Desktop and web programming to create and access geoprocessing services and their tasks. The design of services—the work they perform, how useful they are, and how they mesh with your suite of applications and your organizational goals—is beyond the scope of this documentation, but you'll find many design tips and ideas throughout the topics in this help.
Service and tasks, toolboxes, and tools
If you have experience with using geoprocessing in ArcGIS Desktop, you can think of a geoprocessing service as a toolbox and tasks as tools in the toolbox. The main difference is when you execute a task in a geoprocessing service, it executes on the server computer, using resources of the server computer.
A geoprocessing service, like a toolbox, is a container; it doesn't perform any processing. However, there are properties of a service—such as whether results are to be drawn with a corresponding map service, execution mode, number of processes, the locations to write data, and so on—that are inherited by all tasks within the service.
When discussing geoprocessing services and tasks, it's easy to blur the distinction between a service and the tasks within, especially if a service contains only one task. In casual conversation, equating a service and a task is common and doesn't (usually) cause confusion. But throughout this documentation, the distinction between service and task is always made.
Authoring, publishing, and using
To author a geoprocessing task, you typically create a geoprocessing tool using ModelBuilder or Python. You don't have to create your own tool; you can use one of the many system tools installed with ArcGIS.
To publish the tools you've authored, you execute the tool in an ArcGIS Desktop application such as ArcMap or ArcGlobe. Executing the tool creates a result in the Results window. You right-click the result and choose Share As > Geoprocessing Service to open a step-by-step wizard that defines both the service and the initial task within the service. This initial task is the same as the tool that created the result. You can add additional results to the service. Each result becomes a task within the service.
To publish a service, you need administrative access to an ArcGIS Server installation.
Beginning at 10.4, only administrators can publish a geoprocessing service. To allow publishers to publish geoprocessing services, add the allowGPAndExtensionPublishingToPublishers property to the site's properties in the ArcGIS Server Administrator Directory and set the property to true. See Change geoprocessing service and service extension publishing privileges for details.