Giter Site home page Giter Site logo

devops_teste's Introduction

Teste Pessoa DevOps Amo Promo V1.0

Amopromo

Nossas Marcas

Passagens Promo Seguros Promo Parceiros Promo
PassagensPromo SegurosPromo ParceirosPromo

O que queremos:

Estamos interessados em entender sua lógica de programação e resolução objetiva de problemas, portanto não faz parte do desafio a criação de artefatos de planejamento/gestão de projetos, como: cronogramas, diagramas, burndown, quadro de demandas e etc. Nós amamos testes, apesar de não ser obrigatório, seria um grande diferencial qualquer tipo de teste (unitários, integração e etc).

Sua capacidade de interpretação também está sendo avaliada, mas lembre-se que não existe uma solução única para o teste! Então, siga sua interpretação e use a criatividade para completar as tarefas especificadas. Havendo tempo e disponibilidade, incrementar com features/detalhes que julgar interessantes. Boa sorte!

Introdução

Na Amo Promo, trabalhamos com diversos produtos, cada um com suas particularidades, backlog próprio e processos únicos.

O que queremos:

  1. Infraestrutura como Código (Terraform, Ansible, CloudFormation, Chef, Puppet)
  2. Pipeline CI/CD (Github Actions, CircleCI, TravisCI, GitlabCI, Jenkins, Bamboo)
  3. Docker/Container
  4. Monitoramento (CloudWatch, Graylog, ElasticSearch, Kibana)
  5. Cloud (GCP, AWS, Azure, Oracle)
  6. Git (Github, Gitlab, BitBucket)

O desafio:

Seu desafio é criar um pipeline para implementação da aplicação de forma automatizada e disponibilizar acesso via web.

Recomendamos a criação de uma conta de nível gratuito (free tier) para não incorrer em custos.

As instruções para rodar a aplicação em Go estão descritas em um README no diretório app.

Estamos testando sua capacidade de implementar infraestrutura automatizada moderna, bem como conhecimentos gerais sobre administração de sistemas. Na sua solução, você deve enfatizar a legibilidade, a manutenção e as metodologias de DevOps.

  1. Criar um fork público deste repositório para as implementações a seguir.
  2. Criar um Dockerfile para rodar a aplicação em Go disponibilizada no diretório app.
    • Atentar-se às variáveis de ambiente
  3. Criar um Workflow (Github Actions) com os passos abaixo(Build/Test/Deploy).
    • Build: Checkout do código e build da aplicação
    • Test: Testes bem sucedidos
    • Deploy: Utilizar de recursos disponíveis no Github Actions ou Criar um script para implementar o deploy de forma automatizada. O Deploy deve ser feito no local de sua escolha. Recomendamos AWS (EC2, ECS, Fargate, Beanstalk, etc) ou Google (Compute Engine, Kubernetes Engine, App Engine ou Cloud Run).
  4. Criar a Infraestrurura como Código (IaaS). Recomendamos Terraform ou Ansible.
  5. Disponibilizar uma URL/IP da aplicação
    • Testaremos a rota /ping
    • A rota deve retornar o seguinte json {"message":"pong! Company Name: Amo Promo"}
  6. Criar um script Shell para gerar uma build local do app e que permita escolher entre dois tipos de plataformas: linux/amd64 e darwin/arm64
    • A plataforma/arquitetura pode ser informada via argumento ao chamar o script Ex: ./gera_build.sh linux amd64 ou da forma que achar mais prática e eficiente.

Entrega do desafio

  1. Faça um fork público deste repositório e complemente com as implementações solicitadas: Dockerfile, Worflow do Github Actions e o arquivo(s) de IaaS.
  2. Envie o link do repositório ao responsável pelo seu teste

Diferenciais

  • Trazer alguma solução de Monitoramento
  • Utilizar a plataforma Cloud do Google (GCP)

devops_teste's People

Contributors

edfacioli avatar vitorfavila 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.