[SP-pm] Microservices

Lucas Mateus lucasmateus.oliveira at gmail.com
Tue Nov 8 05:02:12 PST 2016


   André, não tenho a menor dúvida de que o texto ajuda bastante a trilhar
um caminho de DX (developer experience) com ele se refere.

   Comentei com o objetivo de dizer que temos mais coisas sobre isso que
ele não trata no texto, ou porque não implementam ou porque simplesmente
quis focar apenas nas informações sobre Perl.

   São detalhes que em conjunto trazem bons benefícios, segurança e
performance para o software.

*Stateless*
    O JWT <https://jwt.io/> (JSON Web Token) resolve um problemão sobre
stateless, trazendo segurança e eliminado o servidor de estado (ex. redis)

*Cache API*
    A maioria dos serviços que eu conheço fazem cache de forma ineficiente,
a request bate na app que vai num cache (redis, memcache) se não tiver vai
no banco, cacheia no serviço de cache e então entrega.

    É um processo burro, mas se se enquadra em alguns casos. O melhor mesmo
é fazer o cache no nginx <https://www.nginx.com/blog/nginx-caching-guide/> e
deixar passar para a app apenas requisições que ela terá de processar. O
serviço ficará absurdamente mais rápido além de exigir menos código, infra,
manutenção e etc.

*Versionamento de Código*
    Gitlab <https://gitlab.com> é muito melhor que Github, o Gitlab além de
gratuito para projetos privados já tem CI (continuous integration) e CD
(continuous delivery) inclusive com Docker. Aqui você já mata vários
coelhos com uma paulada só, podendo rodar testes integrados e complexos
automaticamente a depender da ação do desenvolvedor (commit master, create
tag).

*Versionamento APP*
    Utilizo bastante o utilitário de comando chamando stepup
<https://github.com/kawamanza/step-up> que faz a gestão do versionamento da
app (tags) + change log organizado e exportável em vários formatos.

*Mapeamento de dependências*
   Utilizamos solução própria, essa eu não conheço nenhuma solução nem free
e nem paga. É 100% baseada no healthcheck da app e isso da muita
flexibilidade para a monitoria.

   Lembrando que uma empresa pode ter muitos micro serviços e quando isso
um desses der problema pode ocasionar problemas em muitos outros, as vezes
leva tempo para descobrir a causa raiz no meio de tantos alarmes.

*Teste de carga*
   O famoso jmeter <http://jmeter.apache.org/> consegue dar uma boa visão
na performance o serviço e de todo o conjunto. Somado ao newrelic
<https://newrelic.com/> pode se ter um bom histórico de performance.

   Acho que esses pontos deixa a coisa mais completa sobre micro serviços e
expande um pouco mais para além do Perl

--
Lucas Mateus


Em 8 de novembro de 2016 10:18, Andre Carneiro <
andregarciacarneiro at gmail.com> escreveu:

> Lucas,
>
> Creio que o artigo seja uma introdução mesmo. Mas como não tinha visto
> material sobre isso com Perl, achei interessante compartilhar.
>
> De qualquer forma, seria bacana se você pudesse(se quiser, é claro!),
> linkar um material com o que falta.
>
>
>
> Cheers!
>
>
>
>
> 2016-11-07 10:37 GMT-02:00 Blabos de Blebe <blabos at gmail.com>:
>
>> Parece que os boatos sobre a morte da lista foram meio exagerados...
>>
>> O texto não cobre tudo, mas ainda é bem interessante. Um ponto de partida.
>>
>> Gostei
>>
>> 2016-11-06 20:30 GMT-02:00 Lucas Mateus <lucasmateus.oliveira at gmail.com>:
>>
>>> Legal, mas acho que faltou assuntos importantes como versionamento da
>>> app, CI/CD, documentação, monitorias e health checks,  algo que mapeie os
>>> micro serviços e suas dependências, tests integrados... enfim a arquitetura
>>> e a engenharia disso é bem mais ampla.
>>>
>>> Em 6 de nov de 2016 8:09 PM, "Daniel Vinciguerra" <
>>> daniel.vinciguerra at bivee.com.br> escreveu:
>>>
>>>> Massa cara! :)
>>>>
>>>>
>>>>
>>>> *Daniel Vinciguerra*
>>>> Web Solutions Architect and founder at Bivee
>>>> Cel: +55 (47) 9270-6171
>>>>
>>>> *ATENÇÃO/ATTENTION:*
>>>> Este e-mail contém informações confidenciais e seu conteúdo é dirigido
>>>> ao uso do indivíduo ou da entidade mencionados acima. Se você recebeu esta
>>>> mensagem por engano, por favor, notifique o remetente e remova-o
>>>> imediatamente.
>>>>
>>>>
>>>> This e-mail contains confidential information intended only for the use
>>>> of the individual or entity named above. If you are not the intended
>>>> recipient, please notify the sender and delete it immediately.
>>>>
>>>> 2016-11-06 14:52 GMT-02:00 Alceu Rodrigues de Freitas Junior <
>>>> glasswalk3r at yahoo.com.br>:
>>>>
>>>>> Andre Carneiro++
>>>>>
>>>>>
>>>>> Em 06-11-2016 12:05, Andre Carneiro escreveu:
>>>>>
>>>>>> Salve!
>>>>>>
>>>>>> Não sei se a lista está morta, mas vi um artigo interessante sobre
>>>>>> "coisinhas" para utilizar quando se desenvolve em arquitetura de
>>>>>> micro-serviços em Perl, e deu vontade de compartilhar.
>>>>>>
>>>>>> https://engineering.semantics3.com/2016/06/15/a-perl-toolcha
>>>>>> in-for-building-micro-services-at-scale/
>>>>>>
>>>>>> Cheers!
>>>>>>
>>>>>> --
>>>>>> André Garcia Carneiro
>>>>>> Software Engineer
>>>>>> (11)982907780
>>>>>>
>>>>>>
>>>>>> =begin disclaimer
>>>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>>> =end disclaimer
>>>>>>
>>>>>>
>>>>> =begin disclaimer
>>>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>> SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>> L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> =end disclaimer
>>>>>
>>>>
>>>>
>>>> =begin disclaimer
>>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>> =end disclaimer
>>>>
>>>>
>>> =begin disclaimer
>>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>>
>> =begin disclaimer
>>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
>
> --
> André Garcia Carneiro
> Software Engineer
> (11)982907780
>
> =begin disclaimer
>    Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: SaoPaulo-pm at pm.org
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20161108/44e62715/attachment-0001.html>


More information about the SaoPaulo-pm mailing list