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.