Skip to main content

Highly trained cats for managing servers.

Project description

# CatOps Highly trained cats for managing servers.

## Table of Contents

## Features

  • Completely NoOps.

  • Easily add commands.

  • Pay per invokation.

  • Provider agnostic.

## Example

## FAQ

## Installation

### Install node https://www.metachris.com/2017/01/how-to-install-nodejs-6-lts-on-ubuntu-and-centos/

### Install serverless

# Old readme For now, research on implementing an event-driven, serverless ChatOps integration (for Slack) that is capable of managing DevOps.

## Why

  1. No switching into Shell/Linux/ssh/VPN to fix server issues. (ideally)

  2. Common procedures/commands codified. Gives capability for high level actions to be completed by a broader range of staff. e.g. reset database connections. Staff may know what to do but not how to do it exactly (or will fumble through it).

  3. Context-aware suggestions. Docs/procedures/etc are useful, but can be too much to read through, hard to find, not up to date. Can suggest possible actions depending on context.

  4. Prevents errors when (late at night e.g.) completing complicated/multistage but routine tasks.

  5. Processes that cannot be codified can be automated (e.g. a rota, chatbot can assign responsibility).

  6. Output easily readable and accessible during downtime periods (no checking server logs necessary in most cases).

  7. Transparency to all members what is going on.

  8. Only giving necessary access (e.g. only functions to perform not ssh access to production)

  9. Serves as a great example of NoOps/serverless infrastructure for future application

## Limitations

  1. Limitations of Lambda (5 min max time)

  2. Won’t have covered all edge cases

## Specification

### ChatOps itself must be as close to NoOps as possible, since when it becomes mission critical it needs to always be up.

  1. Low Ops (serverless/auto-deploy/very easily deployed)

  2. Slack compatible

  3. Interactive (interruptable, responds to Slack)

  4. Triggers on cloudwatch/uptime robot events

  5. Logs clearly

## Infrastructure

### Mark 1

Note: Can use existing chatbot code.

  1. Automatically provision low resource (EC2, elastic beanstalk?) listener server to listen on Slack. (Can Lambda/serverless functions be triggered by Slack message themselves, or is there an App that can create event triggers already that can just trigger Lambdas?

  2. LS (Listener Server) manages triggering/provisioning of various asynchronous Lambdas.

  3. One Listener Server for entire QuackOps deploy? (Very low load, just needs to execute like a switch almost.)

  4. LS sends slack data to Lambdas for parsing.

  5. LS receives data/logging from serverless components for posting in Slack.

### Mark 2

  1. Slack ‘slash’ command set-up.

  2. Text sent to API Gateway (or directly to DD) which forwards to decoder/dispatcher Lambda.

  3. DD (Decoder/Dispatcher Lambda) triggers relevant Lambda function.

  4. DynamoDB exists for state.

  5. Lambda functions post to Slack channel and listen for asynchronous responses via API Gateway/DynamoDB.

### Properties

  1. Pay per function
    1. Every time you parse Slack text.

    2. Every time text is valid, call another Lambda.

  2. Asynchronous (property of being serverless)
    1. Easily set in motion many Lambda’s to be executed from a low load LS (e.g. parse as much text as necessary and pay per use instead of fixed).

  3. Interruptable (could be difficult due to asynchronous)

  4. Persistent server (LS) would be a fixed cost but aimed to be low load.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

catops-0.0.1.tar.gz (6.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

catops-0.0.1-py2.py3-none-any.whl (5.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file catops-0.0.1.tar.gz.

File metadata

  • Download URL: catops-0.0.1.tar.gz
  • Upload date:
  • Size: 6.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for catops-0.0.1.tar.gz
Algorithm Hash digest
SHA256 6280d6e5f49255ad99e2421aaac470dd69c40955d0642ded886b2a906a4c5f72
MD5 2f3d78cae2a215ddf41021d775d9891a
BLAKE2b-256 7fcfad4b2d9edca2123ab0479ffc95d94e153b5f68ce264d4f5f1f52c4d471ad

See more details on using hashes here.

File details

Details for the file catops-0.0.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for catops-0.0.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 b233ebc2bd085f3bfe79c28ca654b94cf844d5abba2a8fefb90e9a062e2fd2a6
MD5 50b428e964d89b5c267965c4432dbf3d
BLAKE2b-256 4cb39ef8e55b8bc7e281e8f509de381a4807bf5adc8b9e42a87b1610d72e2428

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page