All Projects → Netflix → Genie

Netflix / Genie

Licence: apache-2.0
Distributed Big Data Orchestration Service

Programming Languages

java
68154 projects - #9 most used programming language
groovy
2714 projects
CSS
56736 projects
javascript
184084 projects - #8 most used programming language
PLpgSQL
1095 projects
shell
77523 projects

Projects that are alternatives of or similar to Genie

Apollo
Apollo is a reliable configuration management system suitable for microservice configuration management scenarios.
Stars: ✭ 26,052 (+1587.31%)
Mutual labels:  microservices, configuration-management, spring-boot, configuration
Spring Cloud Consul
Spring Cloud Consul
Stars: ✭ 703 (-54.47%)
Mutual labels:  microservices, spring-boot, configuration
Abixen Platform
Abixen Platform
Stars: ✭ 530 (-65.67%)
Mutual labels:  microservices, cloud, spring-boot
Tweetmap
A real time Tweet Trend Map and Sentiment Analysis web application with kafka, Angular, Spring Boot, Flink, Elasticsearch, Kibana, Docker and Kubernetes deployed on the cloud
Stars: ✭ 28 (-98.19%)
Mutual labels:  microservice, cloud, spring-boot
Microservices
Microservices from Design to Deployment 中文版 《微服务:从设计到部署》
Stars: ✭ 4,637 (+200.32%)
Mutual labels:  microservices, microservice, cloud
Spring Cloud Zookeeper
Spring Cloud Zookeeper
Stars: ✭ 481 (-68.85%)
Mutual labels:  microservices, spring-boot, configuration
Awesome Microservices Netcore
💎 A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core
Stars: ✭ 865 (-43.98%)
Mutual labels:  microservices, microservice, distributed-systems
Agileconfig
基于.NET Core开发的轻量级分布式配置中心 / .NET Core light configuration server
Stars: ✭ 403 (-73.9%)
Mutual labels:  microservice, configuration-management, configuration
Configuration
Library for setting values to structs' fields from env, flags, files or default tag
Stars: ✭ 37 (-97.6%)
Mutual labels:  microservices, configuration-management, configuration
Mini Platform
Mini-Platform致力于更简洁易用的轻量级微服务治理平台。
Stars: ✭ 45 (-97.09%)
Mutual labels:  microservices, microservice, spring-boot
Dotnet Istanbul Microservices Demo
This is the demo application that i created for my talk 'Microservice Architecture & Implementation with Asp.Net Core' at Dotnet İstanbul Meetup Group.
Stars: ✭ 109 (-92.94%)
Mutual labels:  microservices, microservice, distributed-systems
Spring Cloud Netflix
Integration with Netflix OSS components
Stars: ✭ 4,498 (+191.32%)
Mutual labels:  microservices, spring-boot, netflixoss
Moleculer
🚀 Progressive microservices framework for Node.js
Stars: ✭ 4,845 (+213.8%)
Mutual labels:  microservices, microservice, distributed-systems
Cortx
CORTX Community Object Storage is 100% open source object storage uniquely optimized for mass capacity storage devices.
Stars: ✭ 426 (-72.41%)
Mutual labels:  big-data, bigdata, distributed-systems
Microdot
Microdot: An open source .NET microservices framework
Stars: ✭ 1,222 (-20.85%)
Mutual labels:  microservice, distributed-systems, configuration
Kubevious
Kubevious - application centric Kubernetes UI and continuous assurance provider
Stars: ✭ 869 (-43.72%)
Mutual labels:  microservices, cloud, configuration
Trampoline
Admin Spring Boot Locally
Stars: ✭ 325 (-78.95%)
Mutual labels:  microservice, cloud, spring-boot
Cloudi
A Cloud at the lowest level!
Stars: ✭ 352 (-77.2%)
Mutual labels:  microservices, cloud, distributed-systems
Cas Configserver Overlay
Generic CAS Spring Cloud Configuration Server WAR overlay
Stars: ✭ 28 (-98.19%)
Mutual labels:  cloud, spring-boot, configuration
Microservices Example
Example of a microservices architecture on the modern stack of Java technologies
Stars: ✭ 66 (-95.73%)
Mutual labels:  microservices, microservice, spring-boot

Genie

Download License Issues NetflixOSS Lifecycle

Introduction

Genie is a federated Big Data orchestration and execution engine developed by Netflix.

Genie’s value is best described in terms of the problem it solves.

Big Data infrastructure is complex and ever-evolving.

Data consumers (Data Scientists or other applications) need to jump over a lot of hurdles in order to run a simple query:

  • Find, download, install and configure a number of binaries, libraries and tools
  • Point to the correct cluster, using valid configuration and reasonable parameters, some of which are very obscure
  • Manually monitor the query, retrieve its output

What works today, may not work tomorrow. The cluster may have moved, the binaries may no longer be compatible, etc.

Multiply this overhead times the number of data consumers, and it adds up to a lot of wasted time (and grief!).

Data infrastructure providers face a different set of problems:

  • Users require a lot of help configuring their working setup, which is not easy to debug remotely
  • Infrastructure upgrades and expansion require careful coordination with all users

Genie is designed to sit at the boundary of these two worlds, and simplify the lives of people on either side.

A data scientist can “rub the magic lamp” and just say “Genie, run query ‘Q’ using engine SparkSQL against production data”. Genie takes care of all the nitty-gritty details. It dynamically assembles the necessary binaries and configurations, execute the job, monitors it, notifies the user of its completion, and makes the output data available for immediate and future use.

Providers of Big data infrastructure work with Genie by making resources available for use (clusters, binaries, etc) and plugging in the magic logic that the user doesn’t need to worry about: which cluster should a given query be routed to? Which version of spark should a given query be executed with? Is this user allowed to access this data? etc. Moreover, every job’s details are recorded for later audit or debugging.

Genie is designed from the ground up to be very flexible and customizable. For more details visit the official documentation

Builds

Genie builds are run on Travis CI here.

Branch Build Coverage (coveralls.io)
master (4.0.x) Build Status Coverage Status
3.3.x Build Status Coverage Status

Project structure

genie-app

Self-contained Genie service server.

genie-agent-app

Self-contained Genie CLI job executor.

genie-client

Genie client interact with the service via REST API.

genie-web

The main server library, can be re-wrapped to inject and override server components.

genie-agent

The main agent library, can be re-wrapped to inject and override components.

genie-common, genie-common-internal, genie-common-external

Internal components libraries shared by the server, agent, and client modules.

genie-proto

Protobuf messages and gRPC services definition shared by server and agent. This is not a public API meant for use by other clients.

genie-docs, genie-demo

Documentation and demo application.

genie-test, genie-test-web

Testing classes and utilities shared by other modules.

genie-ui

JavaScript UI to search and visualize jobs, clusters, commands.

genie-swagger

Auto-configuration of Swagger via Spring Fox. Add to final deployment artifact of server to enable.

Artifacts

Genie publishes to Maven Central and Docker Hub

Refer to the demo section of the documentations for examples. And to the setup section for more detailed instructions to set up Genie.

Python Client

The Genie Python client is hosted in a different repository.

Further info

For a detailed explanation of Genie architecture, use cases, API documentation, demos, deployment and customization guides, and more, visit the Genie documentation.

Contact

To contact Genie developers with questions and suggestions, please use GitHub Issues

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].