You are browsing a read-only backup copy of Wikitech. The primary site can be found at wikitech.wikimedia.org

User:SRodlund/servicedecisions (staging)

From Wikitech-static
Jump to navigation Jump to search


  • 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 peform 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?

Cloud VPS

Skill level = High

  • Terminal
  • Horizon
  • .wmflabs.org


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.

Links

TLDR -- 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

Toolforge

Skill Level = Intermediate to High

  • Terminal
  • toolforge.org

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.

Links

TLDR -- Use Toolforge if you want to...

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

PAWS

Skill level Low to High

  • Browser based

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.

Links

TLDR -- 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

Caveats

  • Ephemeral. Though I haven't heard of this happening, All notebooks and terminals in PAWS are subject to termination without notice. You are encouraged to run your task on other places (such as Toolforge) if your task lasts for more than hours.

Quarry

Skill level = Low to High

  • Browser based

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.

Links

TLDR -- Use Quarry if you want to...

Notes

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