Git Product home page Git Product logo

jazz's Introduction

Jazz Logo Jazz Serverless Development Platform

Build Status License GitHub release Gitter Slack Chat

Seamlessly build, deploy & manage cloud-native serverless applications!

Introduction

Jazz, a serverless development platform, accelerates adoption of serverless technology within your enterprise. Jazz comes with a beautiful UI that lets developers quickly create serverless applications with a click of a button. Its modular design makes it easy to add new integrations that your enterprise needs.

Overview

  • Services - As of today, Jazz can help build functions, APIs and static websites. Fully customizable template-based design makes it easy for admins to define new ones and expose them as services to the developers. Support for AWS SAM & Serverless Framework templates will be coming soon - this will allow developers to define their serverless applications using these commonly used frameworks!
  • Deployment Targets - Currently, Jazz can deploy to AWS serverless services including Lambda, API Gateway, S3, CloudFront, DynamoDB, SQS, Kinesis etc. We plan to support related services in Azure and GCP in the near future.
  • CI/CD - Jazz comes with CI/CD by default. It creates a code repository for each service, assigns appropriate permissions and adds a web hook to trigger build/deployment workflows whenever it sees a commit. We leverage Jenkins open source for the build process and Serverless Framework for deploying these services.
  • One-Click Development Environments - Jazz automatically creates a new dedicated development environment for each git branch in the service repository. This allows parallel development in a multi-developer team without a hitch! Jazz takes care of deleting these environments once the branch gets deleted.
  • Security Controls - Centralized platform allows administrators to define & apply security controls from a single place through Jazz. Admins can choose to enforce the controls on every service that gets created using Jazz allowing them to make them secure by default. Many best practices like applying the principle of least privilege, code (& dependency) scans during CI/CD, preventing default public access are available by default in Jazz.
  • Extensions - Jazz is designed to integrate and work well with other systems that your enterprise needs. You can check out our optional extensions like Slack, Splunk, Apigee etc. Centralized configuration helps Jazz admins to easily enable/disable these features as per their needs.
  • Multiple Accounts & Regions - Jazz's multi account/region extension allows you to add support for multiple accounts & regions to an existing Jazz stack. Developers can simply select the target account & region from the UI to deploy their services. Admins can add/remove new accounts/regions to the stack with ease.
  • Other Features - Jazz comes with many useful integrations like SCM (Gitlab/Bitbucket), monitoring (CloudWatch), logging (ElasticSearch), authentication (Cognito), access controls, code quality metrics (SonarQube) by default.
  • Utilities - Jazz comes with many utilties that allow admins to monitor, govern and report the usage of serverless services through Jazz environment.

Jazz is open-sourced and under active development by T-Mobile's Cloud Center of Excellence.

Watch the video preview here.

User Guide

For complete user guide, see our wiki.

Architecture

Following is the high level logical architecture of Jazz.

Jazz Architecture

Installation

You can install Jazz in your AWS account using the automated installer.

Try Jazz!

You can try out public preview version of Jazz by registering with your email address here. You will need a registration code which can be requested by joining slack.

Platform Development

Branching/Release Strategy

  1. Breaking/nontrivial features first go into named feature branches cut from develop
  2. When/if a feature branch is chosen to be included in the next release, it is merged into develop
  3. Release testing happens in develop
  4. When confirmed/vetted, develop is merged into master, and master becomes the current release.
  5. Small fixes explicitly intended for the next release can be PRed directly into develop without first needing a feature branch.

tl;dr master is always the current release, develop is always the current state of the next release. If you want to contribute a PR, we recommend you fork and work in a branch off of develop, then PR against develop. Project owners will move you into a feature branch if they deem it necessary.

License

Jazz is released under the Apache 2.0 License

jazz's People

Contributors

ajay1kumar1 avatar akhil-kn avatar bleggett avatar chimpuz avatar daemonwill avatar deepusundar avatar devsatishm avatar feroz-shaikh avatar glearner avatar gokulpits avatar hks93 avatar johnbush avatar mayajohns avatar ncriss avatar pspani avatar r-pai avatar rajeevr2715 avatar rkothapalli avatar sauarvd avatar shibon-ll avatar siniwilson avatar supritat avatar suryajak avatar svidhani avatar svsomanchi avatar swati-sh avatar ustharin avatar vidhim avatar vijay4953 avatar zoexiong 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.