Giter VIP home page Giter VIP logo

opta's Introduction


Supercharge DevOps on any cloud

Current Release Tests License Commit Activity Security

Documentation | Slack Community | Website | Email: [email protected]

What is Opta?

Opta is a new kind of Infrastructure-As-Code framework where you work with high-level constructs instead of getting lost in low level cloud configuration. Imagine just being able to say that you want an autoscaling docker container that talks to a RDS database - instead of figuring out the details of VPC, IAM, Kubernetes, Elastic Load Balancing etc -- that's what Opta does!

Who is it for?

Opta is designed for folks who are not Infrastructure or Devops experts but still want to build amazing, scalable, secure Infra in the cloud. Majority of Opta's users are early stage startups who use it for their dev/staging/production environments.

If you'd like to try it out or have any questions - feel free to join our Slack!

Try out Opta

What you get with Opta


Demo Video

Try out Opta

To use Opta, you first need to create some simple yaml configuration files that describe your needs. You can use our magical UI to help generate these files or do it manually (described below).

Four Step Quick Start (<30min)

  1. Install the opta CLI

/bin/bash -c "$(curl -fsSL https://docs.opta.dev/install.sh)"

  1. Create an environment

Before you can deploy your app, you need to first create an environment (like staging, prod etc.) This will set up the base infrastructure (like network and cluster) that will be the foundation for your app.

Note that it costs around 5$ per day to run this on AWS. So make sure to destroy it after you're done (opta has a destroy command so it should be easy :))!

Create this file and name it staging.yml

name: staging
org_name: <something unique>
providers:
  aws:
    region: us-east-1
    account_id: XXXX
modules:
  - type: base
  - type: k8s-cluster
  - type: k8s-base
  1. Create the application/service

In this example we are using the popular httbin container as our application

Create this file and name it opta.yml:

name: hello-world
environments:
  - name: staging
    path: "staging.yml" # Note that this is the file we created in step 2
modules:
  - name: app
    type: k8s-service
    port:
      http: 80
    image: docker.io/kennethreitz/httpbin:latest
    healthcheck_path: "/get"
  1. Deploy

Once the files are created, just run opta apply and that's all! Now you have a containerized application running on Kubernetes in a production ready Architecture (described below).

Run opta output and note down load_balancer_raw_dns. Now you can:

  • Access your service at http://<ip-or-dns>/
  • SSH into the container by running opta shell
  • See logs by running opta logs

Cleanup

Once you’re finished playing around with this example, you may clean up by running opta destroy --config staging.yml.

Check out more examples

What you get with Opta

  • Production ready Architecture
  • Continuous Deployment for containerized workloads
  • Hardened network and security configurations
  • Support for multiple environments (like Dev/QA/Staging/Prod)
  • Integrations with observability tools (like Datadog/LogDNA/Prometheus/SumoLogic)
  • Support for non-kubernetes resources like RDS, Cloud SQL, DocumentDB etc
  • Built-in auto-scaling and high availability (HA)
  • Support for spot instances

Development

Dev guide

opta's People

Contributors

juandiegopalomino avatar ankurd1 avatar nitinagg avatar kevjin avatar nsarupr avatar quinnngo avatar bigbitbus avatar dependabot[bot] avatar abhinavg avatar wpride avatar

Watchers

 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.