Material de apoio à palestra on-line sobre a utilização do Redis e NGINX com Delphi.
*Vídeo:* https://youtu.be/ckXnPngRu7A
*GitHub:* https://github.com/jmarioguedes/INTENSIVE_DELPHI_2018
Uma arquitetura que queira ser escalável e resiliente tem que lançar mão de conceitos e artefatos alinhados com estes objetivos.
A apresentação mostra uma proposta de arquitetura que atendam a estes dois objetivos.
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBMario Guedes
Nos dias de hoje há várias oportunidades de expormos ao menos parte da nossa aplicação para o mundo, seja por conta de um aplicativo móvel, seja por conta de integração com terceiros. Outras vezes se mostra oportuno tentarmos oferecer uma solução cloud ou invés de uma solução "on-premise". Então, sair do modelo cliente servidor para um modelo SOA nos trás desafios relacionados a escalabilidade e resiliência. Nesta palestra mostrarei uma arquitetura escalável e resiliente baseado em REST e micro serviços utilizando a abordagem noSQL.
Fazendo barba, cabelo e bigode com REDISMario Guedes
REDIS é um poderoso "storage in-memory" que pode ser utilizado em diversas situações. O benefício mais evidente é o de liberar o banco de dados principal.
Nesta apresentação vemos três casos de uso:
- Cacheamento Lado Servidor
- Mensageria entre processos
- Dashboard em tempo real
O vídeo da apresentação está em: https://youtu.be/iyAoKLw1HbY
Quer aprender tudo sobre REDIS? Acesse nosso site: https://arrayof.io
BeavOps : Como o Python ajudou a integrar o mundo DevOps4LinuxCursos
Nosso desafio era automatizar a criação de uma Infraestrutura para mais de 300 Desenvolvedores poderem programar de forma Ágil, usando Git para versionar, Jenkins para rodar as Builds realizando testes de código e finalizando com deploy automático.
Para isso criamos o BeavOps, um sistema todo escrito em Python que nos permitiu integrar o mundo de desenvolvimento com a infraestrutura na Cloud tudo de forma automática. Ele é um sistema modular feito totalmente orientado a objetos onde cada módulo gerencia um tipo de infraestrutura.
Nesta apresentação serão abordados os trâmites e procedimentos tomados desde a definição de tecnologias até a criação desse ambiente DEVOPS, como também apresentaremos os obstáculos superados e as perspectivas futuras, tudo isso realizando uma demonstração prática do sistema.
Uma arquitetura que queira ser escalável e resiliente tem que lançar mão de conceitos e artefatos alinhados com estes objetivos.
A apresentação mostra uma proposta de arquitetura que atendam a estes dois objetivos.
Arquitetura escalável e resiliente com NGINX, DataSnap, REDIS e MongoDBMario Guedes
Nos dias de hoje há várias oportunidades de expormos ao menos parte da nossa aplicação para o mundo, seja por conta de um aplicativo móvel, seja por conta de integração com terceiros. Outras vezes se mostra oportuno tentarmos oferecer uma solução cloud ou invés de uma solução "on-premise". Então, sair do modelo cliente servidor para um modelo SOA nos trás desafios relacionados a escalabilidade e resiliência. Nesta palestra mostrarei uma arquitetura escalável e resiliente baseado em REST e micro serviços utilizando a abordagem noSQL.
Fazendo barba, cabelo e bigode com REDISMario Guedes
REDIS é um poderoso "storage in-memory" que pode ser utilizado em diversas situações. O benefício mais evidente é o de liberar o banco de dados principal.
Nesta apresentação vemos três casos de uso:
- Cacheamento Lado Servidor
- Mensageria entre processos
- Dashboard em tempo real
O vídeo da apresentação está em: https://youtu.be/iyAoKLw1HbY
Quer aprender tudo sobre REDIS? Acesse nosso site: https://arrayof.io
BeavOps : Como o Python ajudou a integrar o mundo DevOps4LinuxCursos
Nosso desafio era automatizar a criação de uma Infraestrutura para mais de 300 Desenvolvedores poderem programar de forma Ágil, usando Git para versionar, Jenkins para rodar as Builds realizando testes de código e finalizando com deploy automático.
Para isso criamos o BeavOps, um sistema todo escrito em Python que nos permitiu integrar o mundo de desenvolvimento com a infraestrutura na Cloud tudo de forma automática. Ele é um sistema modular feito totalmente orientado a objetos onde cada módulo gerencia um tipo de infraestrutura.
Nesta apresentação serão abordados os trâmites e procedimentos tomados desde a definição de tecnologias até a criação desse ambiente DEVOPS, como também apresentaremos os obstáculos superados e as perspectivas futuras, tudo isso realizando uma demonstração prática do sistema.
TDCSP - 2018 - Possibilidades com o REDIS no DelphiMario Guedes
O REDIS é uma poderosa ferramenta que expande as possibilidades no lado servidor. Nesta palestra será mostrado as oportunidades que que o REDIS oferece:
~> Cacheamento lado servidor
~> Controle de sessão DataSnap
~> Mensageiria entre processos
~> Enfileiramento de processamento
~> Execução de código Lua
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
Oficina de PHP realizada no Instituto Federal de Goiás Campus de Luziânia no evento Software Freedom Day.
----------------------------------------------------------------
PHP Workshop held at the Federal Institute of Goiás Campus Luziania in Software Freedom Day event.
SQL Server 2016 e 2017 para Desenvolvedores - SQL4DEVS - Novembro-2017Renato Groff
Apresentação sobre recursos das versão 2016 e 2017 do SQL Server úteis no desenvolvimento de softwares. Palestra realizada durante o SQL4DEVS, evento promovido pelo grupo Developers-SP em São Paulo capital no dia 25/11/2017.
Data Science é uma realidade e não pode ser ignorada. A utilização de BOTs é umas das tendências que está se consolidando. Mostraremos como tirar proveito desta tecnologia permitindo que os usuários interajam com a aplicação da forma mais natural possível para o ser humano: conversando.
Node.js: 5 razões para começar a utilizarFilipe Falcão
5 razões para te convencer a adicionar o Node a sua stack back-end. Nessa talk, mostro as principais características que tornam o Node uma escolha bastante interessante para sua aplicação.
Tecnologias em 2021: no que ficar de olho? | WTT2021 - MackenzieRenato Groffe
Apresentação no Workshop de Tendências Tecnológicas 2021 da Universidade Mackenzie em São Paulo-SP.
Abordei nesta palestra tópicos como iniciativas open source (Apache Software Foundation e Cloud Native Computing Foundation), automação/DevOps e desenvolvimento de software em geral, além de tecnologias como Microsoft Azure, .NET, Azure DevOps, GitHub Actions, Linux, Git, Visual Studio Code, JavaScript, Python, PowerShell, Bash, Docker, Kubernetes, SQL Server, MySQL, Oracle, PostgreSQL, MongoDB, Redis, Elasticsearch, Apache Kafka e RabbitMQ.
Desenvolvimento Web com Javascript.
Apresentação feita para a #ViradaGeek
Código anexo do github: https://github.com/FelipeBarrosCruz/viradageek
PodCast de explicação: Breve.
Na estréia da série sobre Node.js, vamos falar sobre a história e as principais caraterísticas da plataforma como o V8, event loop e thread pool.
Vamos mostrar por meio de diversos exemplos como o Node.js funciona e quais são os aspectos importantes em termos de escalabilidade e performance.
https://www.youtube.com/watch?v=KtDwdoxQL4A
Slides do curso de Node.js e MongoDB do blog LuizTools. Inscreva-se no curso e tenha acesso ao conteúdo completo em http://www.luiztools.com.br/curso-nodejs
TDCSP - 2018 - Possibilidades com o REDIS no DelphiMario Guedes
O REDIS é uma poderosa ferramenta que expande as possibilidades no lado servidor. Nesta palestra será mostrado as oportunidades que que o REDIS oferece:
~> Cacheamento lado servidor
~> Controle de sessão DataSnap
~> Mensageiria entre processos
~> Enfileiramento de processamento
~> Execução de código Lua
Oficina de PHP - Software Freedom Day Luziânia 2013George Mendonça
Oficina de PHP realizada no Instituto Federal de Goiás Campus de Luziânia no evento Software Freedom Day.
----------------------------------------------------------------
PHP Workshop held at the Federal Institute of Goiás Campus Luziania in Software Freedom Day event.
SQL Server 2016 e 2017 para Desenvolvedores - SQL4DEVS - Novembro-2017Renato Groff
Apresentação sobre recursos das versão 2016 e 2017 do SQL Server úteis no desenvolvimento de softwares. Palestra realizada durante o SQL4DEVS, evento promovido pelo grupo Developers-SP em São Paulo capital no dia 25/11/2017.
Data Science é uma realidade e não pode ser ignorada. A utilização de BOTs é umas das tendências que está se consolidando. Mostraremos como tirar proveito desta tecnologia permitindo que os usuários interajam com a aplicação da forma mais natural possível para o ser humano: conversando.
Node.js: 5 razões para começar a utilizarFilipe Falcão
5 razões para te convencer a adicionar o Node a sua stack back-end. Nessa talk, mostro as principais características que tornam o Node uma escolha bastante interessante para sua aplicação.
Tecnologias em 2021: no que ficar de olho? | WTT2021 - MackenzieRenato Groffe
Apresentação no Workshop de Tendências Tecnológicas 2021 da Universidade Mackenzie em São Paulo-SP.
Abordei nesta palestra tópicos como iniciativas open source (Apache Software Foundation e Cloud Native Computing Foundation), automação/DevOps e desenvolvimento de software em geral, além de tecnologias como Microsoft Azure, .NET, Azure DevOps, GitHub Actions, Linux, Git, Visual Studio Code, JavaScript, Python, PowerShell, Bash, Docker, Kubernetes, SQL Server, MySQL, Oracle, PostgreSQL, MongoDB, Redis, Elasticsearch, Apache Kafka e RabbitMQ.
Desenvolvimento Web com Javascript.
Apresentação feita para a #ViradaGeek
Código anexo do github: https://github.com/FelipeBarrosCruz/viradageek
PodCast de explicação: Breve.
Na estréia da série sobre Node.js, vamos falar sobre a história e as principais caraterísticas da plataforma como o V8, event loop e thread pool.
Vamos mostrar por meio de diversos exemplos como o Node.js funciona e quais são os aspectos importantes em termos de escalabilidade e performance.
https://www.youtube.com/watch?v=KtDwdoxQL4A
Slides do curso de Node.js e MongoDB do blog LuizTools. Inscreva-se no curso e tenha acesso ao conteúdo completo em http://www.luiztools.com.br/curso-nodejs
Escalando uma plataforma poliglota - QConSP 17Leandro Moreira
Apresentar o que leva uma plataforma ter mais de uma linguagem ou banco como solução e quais problemas essa abordagem traz, exemplicando o case da globo.com.
Assuntos como: caching, latência, armazenamento, vídeo ao vivo, streaming, tuning, linux kernel, network, load balancer, encoding, importância dos testes e muito mais.
O que não fazer ao atualizar para o PHP 7 @ TDC SP 2018 Gabriel Machado
Slides da palestra apresentada na trilha PHP Essencial do TDC São Paulo de 2018 que fala sobre o case da migração do ecommerce da Leroy Merlin Brasil para PHP 7
Esta apresentação foi utilizada na QCon SP, 2016. O objetivo foi mostrar quais foram os desafios e dificuldades enfrentadas pelo time na migração do front-end para novas tecnologias, utilização de sistema de caching e manter integração com o checkout legado.
Infraestrutura em nuvem com Amazon Web Services (AWS)Infosimples
Esta apresentação foi feita para um minicurso na Escola Politécnica da USP administrado pela Infosimples. Foram discutidos temas de Infraestrutura com foco em escalabilidade e redundância. Também foram apresentadas as opções comerciais de contratação de infraestrutura. Por fim, uma atividade prática de publicação (deployment) de uma aplicação web foi realizada.
https://infosimples.com/artigos/como-publicar-uma-aplicacao-web-usando-aws
Gerenciando Portais Liferay com Soluções de Performance Digital
Como fazer as perguntas certas para obter respostas em tempo real e garantir que a performance não seja comprometida?
Durante este webinar, a Dynatrace e Vertigo discutiram as principais questões relacionadas à performance e experiência dos usuários na plataforma Liferay.
Apresentação de Italo Silva, Sales Engineer da Dynatrace.
Integrando-se à Blockchain da EthereumMario Guedes
Blockchain já passou pelo filtro do tempo. Nesta apresentação mostramos alguns conceitos relacionados à blockchain da Ethereum e as oportunidades que se descortinam.
Quando começamos a lidar com REST tudo parece meio mágico e ao mesmo tempo pesado.
Neste vídeo apresentamos alguns conceitos iniciais dos padrões REST sob a perspectiva do protocolo HTTP.
Geolocalização com Redis e Google MapsMario Guedes
Repetimos a palestra sobre Geolocalização no evento Passaporte Delphi 2019 do nosso amigo Thulio Bittencourt.
Aqui mostramos uma solução de geolocalização com Redis no backend e Google Maps no front end sendo os artefatos, aplicativo e servidor rest, desenvolvidos em Delphi.
Geolocalização com Redis e Google MapsMario Guedes
Palestra ministrada no Delphi Squad POA onde falamos de geolocalização utilizando Google Maps no Android e Redis no backend.
As aplicações atuais requer, cada vez mais, esta característica e surgem várias dúvidas de como resolver a questão.
Paralelismo na prática: Threads de uma vez por todas e sem medo!Mario Guedes
Por vezes considerado um recurso obscuro pelos desenvolvedores Delphi, esta apresentação visa mostrar situações cotidianas que podem ser otimizadas pela aplicação de threads no Delphi, as armadilhas e erros comuns na adoção do paralelismo, e as soluções para contornar estas situações .Podemos tornar nossos aplicativos mais fluídos bem como tornar o processamento de tarefas mais rápidos. Nesta palestra veremos algumas boas práticas acerca do assunto partindo da classe TThread chegando à recente PPL (Parallel Programming Library). É um recurso importante no desenvolvimento Win32, Mobile e backend nos ajudando a tornar as aplicações assíncronas e, portanto, escaláveis.
Apresentação na CodeRage Brasil 2019 sobre as possibilidades do Redis com o Delphi.
Vídeo para apresentação: https://youtu.be/WI7SAY_ds1s
Exemplos no GitHub: https://github.com/jmarioguedes/CodeRage2019_Redis.git
Uma perspectiva histórica e o cenário atual das ferramentas de desenvolviment...Mario Guedes
Nessa palestra, José Mario Silva Guedes mostra a migração da abordagem Cliente Servidor para Multi Camadas passando pelo SOA (Soap) até chegar no ROA (Rest), por intermédio de uma linha do tempo do uso das linguagens VB, Delphi, Java chegando no Python, bem como, da evolução do banco de dados relacional para abordagem noSQL e suas variantes. Por fim, será abordado o cenário atual, mostrando a adoção de Machine Learning e tecnologias cognitivas, como por exemplo a adoção de Bots para o atendimento
Nova Infraestrutura JSON: System.JSON na prática Mario Guedes
O Delphi 10 Seattle passa a oferecer um novo framework para se trabalhar com JSON.
Esta apresentação apresenta o JSON de forma geral e os exemplos podem ser baixados do GitHub.
Seguindo o raciocínio de que "o processamento mais rápido é aquele que não é feito" faz-se conveniente uma estratégia de cacheamento de resultados de processamento. Mostrarei uma abordagem possível neste sentido, utilizando o REDIS, em uma arquitetura baseada em micro serviços.
2. Escalando o backend com NGINX e Redis Mario Guedes
Vídeo da apresentação em
https://youtu.be/ckXnPngRu7A
3. Escalando o backend com NGINX e Redis Mario Guedes
Olá!
Mario Guedes | Artesão de Software
Fora da Matrix a 20+ anos
Delphi, Python, Lua, JavaScript, noSQL ...
Em todas as redes sociais: /jmarioguedes
Embarcadero MVP desde 2016
http://eugostododelphi.blogspot.com.br
http://arrayof.com.br
8. Escalando o backend com NGINX e Redis Mario Guedes
Por que NGINX?
NGINX é um servidor web desenhado para atuar como proxy reverso
Promete suportar 10.000 conexões simultâneas
Utilizamos para escalar uma solução RESTful independentemente de
linguagem e framework
Portanto só tem serventia em uma arquitetura multi camada baseado em
HTTP (DataSnap REST ou DMVCFramework por exemplo)
Se coloca entre os clients HTTP e os web services
9. Escalando o backend com NGINX e Redis Mario Guedes
NGINX - Oportunidades
Balanceamento de carga
Tolerância à falha
As configurações são feitas nos arquivos *.conf
A configuração se dá por diretivas e contextos
Diferentemente do Apache Web Sever o NGINX trabalha apenas com um
processo para gerenciar as conexões TCP/IP
Por conta disto não executa um subprocesso anexado e nem incorpora
uma linguagem de programação – o que demanda menos recursos
11. Escalando o backend com NGINX e Redis Mario Guedes
Por que usar Redis?
Porque é rápido, muito rápido!
É um storage noSQL orientado à chave e valor
Imagine um grande e poderoso arquivo INI
Utiliza a memória RAM podendo persistir em disco
Desenvolvido em C ANSI
12. Escalando o backend com NGINX e Redis Mario Guedes
Características
Alta taxa de I/O
Rica coleção de comandos e tipos nativos
Execução de comandos em lote
Publicação e assinatura
Enfileiramento de comandos
TTL – Controle de tempo de vida da chave
Persistência em disco
Possibilidade de clusterização
13. Escalando o backend com NGINX e Redis Mario Guedes
Redis – Oportunidades
Turbine o seu sistema agora!
Mesmo que o seu sistema seja antigo maduro!
Aliviar a carga do banco principal
Gestão de sessões de usuários
Adoção da abordagem de micro serviços
Escalamento horizontal dos serviço de backend
Funcionamento off-line como em PDVs
Indicadores em real
Sincronização Matriz e Filial
...
14. Escalando o backend com NGINX e Redis Mario Guedes
Redis – Ressalvas
É bloqueante, o que requer atenção!
Prefira armazenar nos tipos nativos do Redis
Não tem suporte oficial no Windows
No tocante à mensageria é bom o suficiente porém considere o RabbitMQ
para soluções mais complexas
NÃO SUBSTITUI O SEU BANCO - COMPLEMENTA
16. Escalando o backend com NGINX e Redis Mario Guedes
Links
Exemplos - https://github.com/jmarioguedes/INTENSIVE_DELPHI_2018.git
NGINX - http://nginx.org
NGINX no Windows - http://nginx.org/en/docs/windows.html
Redis - https://redis.io/
Redis no Windows - https://github.com/MicrosoftArchive/redis/releases
Redis Client - https://github.com/danieleteti/delphiredisclient
17. Escalando o backend com NGINX e Redis Mario Guedes
Muito obrigado!
Já conhece a arrayOF?
Em breve o curso de Turbinando o seu sistema com Redis!
http://arrayof.com.br
http://fb.me/arrayOFAssessoria
mario.guedes@arrayof.com.br