Giter Site home page Giter Site logo

devops-challenge's Introduction

Goal

The goal of this exercise is to take a dockerized application and make it work in a Kubernetes cluster.

Application Description

The application is a REST server that takes an integer as input and returns the prime numbers until it. The app is currently distributed as a docker container.

To test it:

docker run -p 9090:9090 ghcr.io/travelaudience/challenge-devops-rest-server:1.0.0
curl http://localhost:9090/primes?maxPrime=1000

Task

The goal of this exercise is to take this application and make it work in a Kubernetes cluster.

We want to run the application in production, so you will need to provide/create all infrastructure configuration, app configuration, documentation, etc.

We expect it to be accessible from outside the cluster and we want it to be able to handle spikes in load. The app exposes metrics in Prometheus format, this was done in anticipation of moving it to Kubernetes eventually. Some kind of monitoring will be needed, so we know if the application is behaving properly.

Feel free to suggest processes and workflows around running this application in k8s. Assume this is the first application we migrate to Kubernetes and we want a proper setup. We will want to eventually migrate more apps to this k8s cluster.

Return package

You must provide all instructions and code (or preferably a script) so we could spin up and test your environment easily. Otherwise, we will not be able to properly evaluate the solution you created.

Tips

  • Feel free to setup any kind of CI/CD
  • Feel free to use Minikube or any other tools to test your solution

Details

  • The server exposes a rest endpoint that allows to calculate all the primes till a certain provided number
  • The server exposes a endpoint with prometheus metrics in order to allow integration with a monitoring tool

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.