Giter Site home page Giter Site logo

vinukumar-vs / sunbird-devops Goto Github PK

View Code? Open in Web Editor NEW

This project forked from project-sunbird/sunbird-devops

0.0 0.0 0.0 132.47 MB

Repository for Sunbird devops related projects

License: MIT License

Shell 33.22% Groovy 29.50% Python 20.52% Ruby 3.76% CSS 2.27% FreeMarker 3.43% Dockerfile 2.13% JavaScript 2.33% Lua 2.84%

sunbird-devops's Introduction

sunbird-devops

This repository contains the information and references needed to run Sunbird in a Production environment. The deployment design and software choices taken have been motivated with a need to run Sunbird in a highly available, reliable and scaleable setup. Higher levels of automation have been favored. The stack is meant to be extensible and parts of it are swappable to suit your deployment environments. Pull Requests are invited to add capability and variety to the deployment choices.

Table of content

Prerequisites

This section should expand as open source contributions to support multiple run times increase over time. Presently, the software and reference steps consider the following tech stack:

Required:

Optional:

  • A CI server, e.x. Jenkins, to build extensions and take future upgrades
  • a source control mechanism, e.x. Git

Installation

Developer

Head over to specific Frontend or Backend service repos in Project Sunbird to understand how to run the parts of the stack locally, perhaps on your laptop.

Production

Please refer to https://github.com/project-sunbird/sunbird-devops/blob/master/Installation.md

Deployment Architecture

Infrastructure

Sunbird can be run on VMs on various Cloud providers or bare metal. Cloud Infrastructure automation is work in progress.

Stable Builds Registry

Sunbird builds are available at a Image Registry. These builds are in the form of a Dockerfile. Stable releases are tagged as gold. Deployment scripts pull the gold images for production deployment. The gold images are also versioned to allow for release management and upgrade paths.

Software Runtime

Most runtimes in Sunbird are containerized as Docker containers for portability, process isolation and standardization. For container orchestration, this repo contains scripts to run Sunbird on Docker Swarm. Cloud providers provide container services. In this repo, we are using ACS-Engine.

Logging, Monitoring and Operational dashboards

Sunbird comes with log aggregation and metrics reporting out of the box. For log aggregation, Sunbird is using a combination of cAdvisor, ELK stack, Prometheus and their plugin ecosystem. Ops dashboards are built using Grafana with some reference dashboards.

Custom builds

Sunbird is extendible. Sunbird can be taken as a base image with custom implementation of public interfaces and rebuilt for deployment. Scripts are available for ramping up of complex deployments with support to run local build promotions and deployments.

License

The code in this repository is licensed under MIT unless otherwise noted. Please see the LICENSE file for details.

sunbird-devops's People

Contributors

rjshrjndrn avatar smyaltamash avatar beepdot avatar manojvv avatar endeepak avatar kirang20 avatar gandham-santhosh avatar harshavardhanc avatar kartishr avatar manzarul avatar ahghatol avatar kaali09 avatar steotia avatar mathewjpallan avatar anmol2302 avatar anoophm avatar deveshmantra avatar rajeevsathish avatar vrayulu avatar vijethas avatar manjudr avatar rahul-tarento avatar hari-stackroute avatar souravdey091 avatar iostream04 avatar maheshkumargangula avatar sowmya-dixit avatar anuthaharinimn avatar amitpriyadarshi avatar gsbajaj72 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.