okfn-brasil / queriDO

nosso Querido Diário Oficial
https://okfn-brasil.github.io/queriDO/site
MIT License
18 stars 5 forks source link

Hosting #7

Closed JaTvoiRabotnik closed 7 years ago

JaTvoiRabotnik commented 7 years ago

Criar hosting para o protótipo (e eventual go-live) do projeto.

Tem possibilidade de isso ser providenciado pelo Open Knowledge, ou talvez conseguir creditos em algum provedor Cloud? Idealmente gostaria de poder rodar uma imagem docker direto.

JaTvoiRabotnik commented 7 years ago

Vou criar um servico basico usando GoLang, com hosting no Google Cloud. Passo o link uma vez que tenha criado algo que rode.

ppKrauss commented 7 years ago

Hum... seria isso? https://godoc.org/github.com/GoogleCloudPlatform/go-endpoints/endpoints

Importante talvez nos adiantarmos com o planejamento para não perder trabalho prematuro que esteja realizando:

PS: "hospedagem grátis" nunca é 100% gratuita, há implícita uma troca mais cedo ou mais tarde... Damos preferência à hospedagem "barata porém somos donos"... DigitalOcean é uma das opções no momento.

JaTvoiRabotnik commented 7 years ago

A solução que eu prototipei é muito mais estruturada que isso. Usei um exemplo de um REST e JSON API pra GoLang que eu encontrei na net, combinado com os tutoriais do próprio Google. O resultado é que temos um roteador decente, e uma separação de interesses entre as funcionalidades (usando "decorators" para o logging, por exemplo). Dá uma olhada no código que já está no repositório, dentro de /src/webserver.

Acho que desde que nos continuemos escrevendo os scripts de modo que eles possam ser chamados tanto como funções internas dentro do próprio ambiente python quanto como stand-alone (ou seja, com um main bem definido, aceitando parâmetros, etc), nao tem problema a gente ir trabalhando no back-end e na funcionalidade que vai proporcionar a inteligência da solução.

Eu gosto de GoLang. Acho ela uma linguagem bastante elegante e funcional. Creio que conseguimos fazer um caso forte pra adotá-la. Mas pra ser sincero não importa muito desde que, como dito acima, nossos scripts sejam agnósticos e ortogonais a qualquer implementação de comunicação. Os scripts de tratamento de dados tem que continuar em Python, e quanto a isso a gente tem um caso bem forte: a comunidade de data science gosta de Python, e as ferramentas sao múltiplas.

Conforme discutido antes, preciso pensar ainda a respeito da base de dados. A princípio parece fazer sentido, mas na minha experiência esse tipo de decisão é irreversível (ou muito difícil de reverter, proporcional à complexidade do sistema), então tem que ser bem considerada. Uma vez que a gente criar a base de dados, se quiser mudar de ideia vai ser um trampo.

A infraestrutura de "cloud" da Google é boa, e não muito cara. Dependendo do acesso fica muito em conta. Mas tem que pegar um número (em termos de larjã), senão essa discussão é só hipotética.

JaTvoiRabotnik commented 7 years ago

Fazendo um "downgrade" desse issue pra que a gente possa ter alguma coisa rodando, mesmo que só no github mesmo. Acessar o index.html já soluciona esse issue e aí a gente cria outro pra criar o web server direitinho em um hosting (jets, Google cloud, etc)

JaTvoiRabotnik commented 7 years ago

Fechando esse issue, com o hosting no github mesmo para teste inicial da curadoria.