DRAFT: Community Sysadmins Proposal

Overview

Goals

Definitions

Community Sysadmins (CSA)

Non-profit organizations (NPO)

Framework and organizational structure

Modules

Roles and responsibilities

Proposed Modules - Internal

Governance

Accounts & Security

Learning/Recruiting

Internal Tools

Proposed Modules - External

Network

High-level Platforms

Submodule: Content Platforms

Submodule: Content Delivery

Application Platforms

Infrastructure needs

Legal framework

Overview

communitysysadmins.org is an organization dedicated to connecting talented systems administrators who want to devote some of their time to help the open source and web open communities with open source and open web non-profit organizations.

demo signup page: http://signup.communitysysadmins.org/

Goals

  1. Harness the volunteer ops/sysadmin talent in the (dev)ops community in an organized, trusted, and scalable framework.
  2. Promote the goals of the greater open source and open web ecosystem by providing needed, skilled operations/systems administration services and experience to deserving non-profit organizations.
  3. Helping build and enhance the opsschool.org curriculum and promote the use of OpenBadges as a source of certifications of skills.

Definitions

Community Sysadmins (CSA)

Non-profit organizations (NPO)

Framework and organizational structure

Community SysAdmins (CSA) is organized somewhat like a Managed Service Provider with Professional Services.

CSA is divided into two kinds of units:

Overseeing both groups is the CSA Leadership Council, which ultimately resolves disputes and sets direction, but otherwise should not need to interfere with day-to-day operation of the teams.

An overview of the organization is as follows:

Modules

A module (or submodule) is a discrete kind of activity or service that the CSA volunteers manage or provide.

Each module has an owner who is the individual in charge of the module, peers who provide direction, leadership, and assistance day to day for a module, and volunteers, who will carry out most of the work needed for a module to achieve its functions and goals.  

The following is a graphic of a module:

Some modules are internal-facing, about how the CSA team itself is governed and how it operates, while other (indeed, most) modules are external-facing: they represent services and expertise the CSA team offers to its beneficiary organizations.

Modules have concrete responsibilities, including:

(this graphic needs some work...)

Roles and responsibilities

Proposed Modules - Internal

Modules concerning CSA operation, policies, tools, etc.

Governance

Policies and processes that govern the CSA group as a whole, including rules for module ownership and responsibilities of modules.

Accounts & Security

Responsible on setting policies and processes for ensuring CSA member base is made up of the right set of people, for securing accounts, and controlling access to private CSA and NPO resources.

Learning/Recruiting

Creation and maintenance of content (such as opsschool.org) and organization of activities designed to improve the skills and proficiency in systems administration of CSA members or interested outsiders. Ensuring that all CSA activities are able to be funnelled back into creation or enhancement of opsschool.org curriculum. Members of this module should be willing to be the face of CSA and be active on social media and in the greater (dev)ops community to promote and recruit.

Internal Tools

Maintenance of tools used by CSA itself, such as the website, wiki, mailing list and IRC.

Proposed Modules - External

Modules concerning services/help offered to NPOs.

Network

Administration of network-level infrastructure, such as DNS, routing, caching, and load-balancing.

High-level Platforms

Administration of a standard suite of applications supported by CSA.

Submodule: Content Platforms

Wordpress, Wikis, blogs, CMSs.

Submodule: Content Delivery

CDNs for fast static content distribution, content mirrors, and P2P delivery networks.

Application Platforms

Administration of custom services.

* Python (cherry.py/pylons? something else?)

* node.js

* cgi (apache or something else)

* bare/custom VMs ?

* advice and help for teams writing services (embedded “virtual team member” in software projects NPOs undertake)

-- random braindump from here down --

* supporting development of software

** spinning up VMs, e.g. awsbox, etc

** advice, specially if software would eventually be maintained by community sysadmins

* supporting in-house production services

** i.e., products from above migrated to production level support

** multiple datacenters, failover

** help with stats (metrics, e.g. graphite), monitoring, etc

** security, privacy help / review / requirements

** canaries, tests, and so on

* supporting services & sites (not developed in-house)

** wordpress, irc, etherpad, etc

** upgrades, advice, fire-drills, etc

** migration advice and help (for orgs with existing services to migrate to community sysadmins-maintained infrastructure).

* Responsibilities to train newcomers, share knowledge with peers, etc

* invite members (blog, participate in hangops calls, be on irc, etc)

* be responsive to host organization (mozilla) as well as nonprofits with hosted services (cc)

** email, irc, im, etc - need to establish communication channels and expected turnaround times, etc

* advice on office equipment/ideas for basic desktop support?

Infrastructure needs

* support some services by hosting their services - usually when small, or very aligned with community sysadmins group / host organization goals (mozilla’s)

* also support non-profit footing all or part of bill for infrastructure (but expertise & maintenance, etc is still provided by community sysadmins team).

** would need to be the *same* infrastructure (same kind, or allowing the same amount of variance) so that all the same rules and procedures apply.

* support mix of the two above: e.g. nonprofit org pays for some services, others are hosted by community sysadmins team.

* maybe work with grants & such? (run like a mini-nonprofit)

* team needs its own set of infrastructure to operate:

** web site

** wiki, documentation

** private documents? how to store keys, passwords, etc?

** mailing list

** need web of trust / some solution for distributing authority to members

** etc

* SLAs (hard or estimates) for various services?

Legal framework

[tbd based on rest of doc]

* ideally something like mozilla contributor agreement.

* should be very clear what the commitment is, from org and for sysadmins.

* might be something orgs agree to as well - need to limit liability all around.

* think of like hiring someone to be sysadmin / work at colo / etc