A Glossary for Cyborg Systems Administrators

Terms

ACL
Access control lists. A mechanism for describing permissions in a complex system. While the implementations vary, ACL systems generally consist of: a list of available permissions, a list of users with specific permissions, and “groups” of users (and nested groups) that also have permissions. While ACLs can become very complex and unmanageable, as of 2012 there is no alternative method of granular permissions management.
cloud computing
A buzz word that captures utility billing, virtualization, client-server applications (i.e. Web Applications) and service oriented architecture (typical of the RESTful-type.)
continuous integration
A system that regularly and automatically builds software and runs tests to ensure that throughout the development process, the software continues to function and that a larger (or smaller) team of developers does not create regressions or introduce conflicting changes. By operating regularly and “continuously,” these build systems are able to prevent difficult release processes. “CI” tools include “buildbot,” “Jenkins,” “Hudson,” and “Travis-CI.”
copy-on-write
A pattern used to take snapshots and ensure atomic file system operation. Simply, rather than “copy” an object by duplicating its representation, copy-on-write systems create references to the original object’s constituents, and then the system copies data only as the oringal object’s ‘constituents change.
good enough
A theory regarding the development and adoption of “bleeding edge” technologies that asserts that “the best” or most advanced technologies are not always the best solutions or the best expenditure of resources.
grok
To understand or to know. Derived from Robert Heinlein’s Stranger in a Strange Land.
grokable
Understandable or knowable. From “grok.” Derived from Robert Heinlein’s Stranger in a Strange Land.
higher availability

The practice of making services resilient to various kinds of “likely failures,” by deploying a combination of redundant systems, automated failover and recovery infrastructure.

horizontal scaling
See “partitioning.”
host
Refers to a single system in a networked environment. With virtualization, each instance is a host on the network. Typically each host has a single and distinct network address but IPv4 address space depletion and NAT obscure this boundary somewhat.
inetd
A core UNIX process that listens to network interfaces and spawns processes in response.
IPv4 address space depletion
The process where the 32-bit address space for the global IPv4 network (i.e. the “Internet”) runs out of usable addresses for hosts. The problem is a result of many factors: a much larger number of hosts on the internet than expected, poor early address allocation methods, and routing requirements that consume, on average, 2-4 addresses for every block of 256 addresses.
key/value
A way of representing data structures where each object consists of two parts: a “key” or indexed descriptor, and a “value,” or datum. Using key-value pairs its possible to store and represent much more complex data structures.
log rotation
The process of truncating, moving, compressing, and eventually deleting application and daemon log files to prevent the logs from growing out of proportion. The application “logrotate” is used by most UNIX-like distributions to implement log rotation.
LVM
The logical volume manager is a Linux subsystem that abstracts the storage system so that “disk images” can be re-sized and managed independently of the physical disk. Furthermore LVM provides a capacity for fast disk snapshots which make it easy to duplicate disk images at points in time.
metadata
Secondary information concerning a primary information object. For example, classification number, publication date, publisher, and author are all potential “metadata” points for a book object.
monitoring

Monitoring systems consist of applications and services that collect data on an ongoing basis about a system to provide troubleshooting and early alerting on potential problems.

multi-tenancy
The practice of using a single system to provide multiple services. While this can lead to more efficient use of resources in some situations and by some providers. Multi-tenancy can make it hard to correlate observed performance, server configuration changes, and can cause actual performance issues.
NAT
Network address translation. The network routing approach that allows multiple hosts in the local network to share a single publicly routable address.
NCSA
National Center for Supercomputing Applications. Located at the University of Illinois Campaign-Urbana, the NCSA is notable for hosting many developments, including the development of HTTP.
NoSQL
The marketing term given to a class of largely non-relational databases that have emerged since 2004 in an attempt to deal with a number of different architectural and interface problems with relational/SQL database systems. Examples include MongoDB, CouchDB, Cassandra, Hadoop, Riak, and other. While there commonalities, all NoSQL databases are typically quite specialized.
partitioning
A distributed architecture that divides a single copy of a single logical resource among a collection of nodes so that each member of the “cluster” provides a non-identical portion of the resource. In databases this is often called “sharding,” but a similar effects are possible for other types of services. While there is often some conceptual overhead for these kinds of clusters, they often allow administrators and users to greatly increase overall system capacity.
pipe
An inter-process communication metaphor that allows processes on Unix-like systems to communicate by sending the output of the first program, in standard plain-text format, to the input of the second program.
proxy
Servers or services which do not originate content but assemble content or provide a single access point for a number of distinct processes or different servers by acting as a “pass through,” for this content or resource (group.) Proxy servers provide a number of distinct intermediary functionality at a number of levels of abstraction and operation.
replication
A distributed architecture where the resource exists redundantly in multiple locations. Examples include RAID level-1 and master-slave database architectures.
resource
A specific piece of content provided by a networked service. Typically used in the context of HTTP.
REST
“Representational state transfer,” a distributed application design paradigm that inspired the HTTP protocol. More recently application developers use “REST” and the ideas of “RESTfulness” to describe application programming interfaces (APIs) for web services. REST typically contrasts with stateful protocols like SOAP and XML-RPC
rsync
rsync is a UNIX application that provides a very efficient method for copying files between hosts. It saves transit by identifying and only copying data that has changed on the source host. rsync is a replacement for utilities including: ftp, scp, and rcp.
signpost
A rhetorical device, useful in documentation, where the writer takes a step back and gives the reader context to help them understand and use the resource more effectively. These contextualizations can describe what a document or section contains or may inform the reader about a specific section’s importance. While some documentation may contain too much “signposting,” well placed signposts, in general, help to make documentation more grokable and useful.
SSL SNI
Secure Socket Layer, Server Name Indicator. The specification which will allow HTTPS clients to specify the hostname (i.e. “server name”) during the SSL negotiation process so that servers will be able to provide multiple HTTPS sites on a single IP address.
syslog
A standardized multi-system “system logging” system for core system events and service logging.
utility billing
A method of pricing technological infrastructure that meters resource usage, and charges users only for what they use.
vertical scaling
See “replication.”
virtual hosting
A method of including a host name in the request to allow a single process to provide multiple services. This is typically used in the context of HTTP services to provide multi-tenancy, but appears in other contexts as well.
virtualization
The practice of using hypervisor technology to provide multi-tenancy on a system-level. These virtualized hosts (i.e. servers,) provide abstracted hardware interfaces so that administrators can deploy multiple systems, instances, or nodes on a single piece of hardware. Virtualized instances are generally entirely separate from other systems running on the same hardware.

Full Index

The following index contains a complete listing of all defined terms in “Systems Administration for Cyborgs:”

Cyborg Systems Administration Index.

Cyborg Systems

Table Of Contents

Previous topic

Production Systems and Testing Separation

About

Cyborg Institute is a collection of free software/open source projects and texts that address technological issues from a cyborg/humanist perspective.