User:SRodlund/servicedecisions (staging)

From Wikitech


  • https://phabricator.wikimedia.org/T255830
  • Design content from services small tasks to large. Data Services < Toolforge < Cloud VPS
  • This should not start with the service name but with what it provides.
  • Don't forget to include coding languages (PHP, Python/flask, Node.JS, Java, etc)

Developer Stories

  • I am not/I am a developer and I want to...
    • Get statistics about a page's history
    • Build a tool that suggests pages that need editing/maintainence
    • Find out which articles on English Wikipedia mention cats
    • Have my own server to host a Wiki or Website (probably a bad example)
Data as a service

A variety of data services empower technically curious to advanced users to perform tasks that improve and support Wikimedia projects.

Platform as a service

Toolforge is for intermediate to advanced users working on tools, bots, webservices that support Wikimedia projects.

Infrastructure as a service

Cloud VPS is for advanced users who need to adminstrate their own servers for Wikimedia operations and software development.

Which service is right for you?

At-A-Glance Quarry (DaaS) PAWS (DaaS) Toolforge (PaaS) Cloud VPS (IaaS)
Browser based X X
Terminal based X X
Write queries against replica databases X X X
Run database dumps X X
Write and run bots X X
Run webservices X
Build tools to improve Wikimedia projects X
Schedule or run continuous jobs X
Administrate your own server X
Work with co-maintainers and co-admins X X


Quarry

Quarry

Quarry is a public querying interface for Wiki Replicas, a set of live replica SQL databases of public Wikimedia Wikis. Quarry is designed to make running queries against Wiki Replicas easy. Quarry also provides a means for researchers to share and review each other's queries.

Quarry queries are run by individual users. They can be saved and published and forked by other users.

To use Quarry you need only a Wikimedia login and a web browsers. Quarry can be used by individuals with understanding along the technical spectrum. A basic understanding of SQL is recommended. Learn about SQL queries.

Task I can use this for -- Use Quarry if you want to...

PAWS

PAWS

PAWS is a Jupyter notebook installation hosted by Wikimedia. PAWS notebooks can be used for creating tutorials, running live code, creating data visualizations, running bots using Pywikibot, and more.

PAWS notebooks are maintained by a single user. They can be downloaded and forked by other users.

To use PAWS you need only a Wikimedia login and a web browser. PAWS can be used by individuals with understanding along the technical spectrum. A knowledge of Python is helpful, but not required.

Task I can use this for -- Use PAWS if you want to...

  • One time use (Not ideal for long running scripts)
  • Run your own code and bots
  • Write documentation and create tutorials

Toolforge

Toolforge

Toolforge is a hosting environment for volunteers to develop and operate tools, continuous bots, web services, and scheduled tasks.

Tool Accounts can (and should) have multiple, active co-maintainers. Anyone can create or join a Toolforge account. Toolforge accounts cannot be deleted.

To use Toolforge you will need a Wikimedia login and Wikimedia Developer account. You will need some programming knowledge, an understanding of Unix command line, and version control via Gerritt and Git. Kubernetes.

Acts as a standard web server hosting web-based tools, command-line tools, account required.

Task I can use this for -- Use Toolforge if you want to...

  • Build tools
  • Run continous bots, schedule jobs (better for long running scripts)
  • Co-mainain tools with others

Rules: https://wikitech.wikimedia.org/wiki/Help:Toolforge/Rules

Cloud VPS

Cloud Services

Cloud VPS (Virtual Private Server) provides a cloud computing infrastructure powered by OpenStack for projects related to the Wikimedia movement. The environment includes access to a variety of data services. Cloud VPS is meant to make it easier for developers and system administrators to try out improvements to Wikimedia infrastructure (including MediaWiki), power research and analytics, and host projects that are not viable in the Toolforge environment.

Cloud VPS is for the advanced users / volunteers to get involved in Wikimedia operations and software development. Cloud VPS contains many projects, each of which uses one or more instances.

Cloud VPS projects can have multiple co-administrators. It uses Horizon.

Cloud VPS instances must go through a request and approval processes. Instances are not permanent and are reviewed periodically for potential deletion/removal. Cloud VPS instances are resource intensive. Before requesting, explore whether Toolforge or another service will adequately meet your needs.

Task I can use this for -- Use Cloud VPS if you want to...

  • Have access to your own virtual server(s)
  • Build bigger projects like a Wiki or another kind of site like Wordpress (not recco'd)
  • Get your own subdomain

Terms of Service