Giter VIP home page Giter VIP logo

pzou1974 / foremast-1 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from intuit/foremast

0.0 2.0 0.0 82.93 MB

Foremast adds application resiliency to Kubernetes by leveraging machine learnt patterns of application health to keep applications healthy and stable

Home Page: https://foremast.io

License: Apache License 2.0

Shell 1.31% Dockerfile 0.45% Makefile 0.59% Go 77.72% Java 8.12% HTML 0.71% CSS 0.15% JavaScript 10.96%

foremast-1's Introduction

Foremast

Build Status Go Report Card Slack Chat

Foremast

Foremast is a cloud native application health manager for Kubernetes. Foremast leverages observability signals from platforms such as Prometheus, Fluentd and Jaeger and provides timely application health alerts. These alerts are especially important during deployments and other changes that alter application state. This information is then leveraged by Foremast’s action framework - which allows developers and operators to take actions based on the state of the application.

How can developers reliably know that changes made to running software have not degraded the application?

Foremast provides early warnings for detecting problems with the deployment of a new version of a service or application on Kubernetes.

Traditionally, production deployments have used manual canary analysis as the standard mechanism for evaluating application health. Various types of canary analysis exist, such as: A/B testing, phased rollout, or incremental rollout.

Foremast automates the analysis of an application health, by scoring the health of new deployments on the basis of performance, functionality, and quality. This analysis provides a comprehensive picture of an application's health and enables corrective action if a deterioration in health is detected.

It addresses following problems in an enterprise environment of Kubernetes:

  • Detect metrics spike or drop due to a deployment
  • Detect impact to downstream services
  • Automated remediation including alert, rollback etc
  • Metrics anomaly aggregated at service or API level
  • Aggregate service health check across multiple K8s clusters

The architecture and design documentation provide a detailed overview of the system and an under the hood view of how Foremast works.

Running Foremast

Foremast can be run in multiple modes

  • On Minikube
  • On a remote K8s cluster

Technical Requirements

Make sure you have the following prerequisites:

  • A local Go 1.7+ development environment
  • Admin access to a Kubernetes cluster - this could either be Minikube or a remote cluster.

Setup Steps

The Set Up documentation has step by step instructions on how to setup and run Foremast.

Running Foremast-Browser UI

Documentation for running the front-end portion of the project can be found here.

Roadmap

Contributing

We welcome you to get involved with Foremast. You can contribute either by using Foremast and providing feedback, or contribute to our code, participate in our code and design reviews etc.

Read the contributing guidelines to learn about building the project, the project structure, and the purpose of each package.

foremast-1's People

Contributors

shaoxt avatar davemasselink avatar pzou1974 avatar dwding18 avatar srivathsanvc avatar kianjones4 avatar rociomontes avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.