SlideShare uma empresa Scribd logo
1 de 20
Renato Jose Groffe
Desenvolvimento de Software
Robson Rocha de Araújo
Ewerton Rodrigues Jordão
Atua como consultor em atividades voltadas ao desenvolvimento de sistemas
há mais de 15 anos. Bacharel em Sistemas de Informação, com
Especialização em Engenharia de Software e MBA em Business Intelligence.
Também é palestrante e autor técnico em portais e revistas especializadas,
com foco em tecnologias Microsoft e boas práticas na área de software.
Mini-Biografia
@RenatoGroff
@renatogroffe medium.com/@renato.groffe
Arquiteto e desenvolvedor, busco soluções simples e objetivas, ao mesmo
tempo em que exploro as boas práticas e tecnologias mais atuais, e busco
conduzir minha equipe não só para desenvolver melhores produtos, mas para
se desenvolverem como melhores profissionais.
Como instrutor, dou ênfase no aprendizado do aluno, em transmitir minha
experiência e direcionar os estudantes às melhores práticas e a casos
práticos.
Mini-Biografia
@twitter
@robsonrochaaraujo procoding.com.br
https://about.me/RobsonAraujo
Trabalho na área de tecnologia há mais de 9 anos, durante os primeiros anos
focados em C#, nos últimos sete anos trabalhando com Azure ,PowerShell,
SQL Server e Windows Server. Amante da tecnologia, sempre buscando me
atualizar e tentando novas maneiras de agregar valor.
Mini-Biografia
@EwertonJordao
@ewerton-jordao medium.com/@ewertonjordao
PATROCINADORES_
Agradecemos a confiança e o investimento realizado pelos Patrocinadores
do MVPConf LATAM 2020.
Sem a participação deles o evento não aconteceria.
Nosso muito obrigado!!!
Lar de Idosos Nossa
Senhora da
Conceição
Aracaju - SE
Retiro dos Idosos
Universina Carrera
Machado
Santo Ângelo - RS
Associação
Comunitária Fênix
Jacareí - SP
Rede Feminina de
Combate ao Câncer
Três Lagoas - MS
Associação de Pais e
Amigos dos
Excepcionais – APAE
de Farroupilha
Farroupilha - RS
Lar da Criança Ninho
de Paz
São Paulo - SP
Abrigo Bom Pastor
Cornélio Procópio - PR
BENEFICIADAS
POR VOCÊ_
Estas foram as entidades beneficiadas com a doação que você realizou no
ato da sua inscrição no MVPConf LATAM 2020.
Sem a sua participação o evento não aconteceria e não poderíamos
impactar a vida de tantas pessoas.
Nosso muito obrigado!!!
01 – Por que Durable Functions?
02 – Durable Functions Introdução
03 – Padrões (Patterns)
04 – Demo
Introdução
EM DESTAQUE_
Durable Functions dão novos poderes ao serviço Azure Functions,
ou seja, são uma extensão das Functions que você já conhece.
Confiabilidade na execução de processos, armazenamento de
estado nativamente(sem necessidade de implementar algum tipo
de engenharia para isso), governança na gestão das funções.
Utilizando Functions sem Durable exige que o desenvolvedor faça
a gestão de inúmeras funções dependendo do tipo de processo
implementado com Azure Functions, imagine o seguinte cenário:
A cada novo Funcionário contratado é necessário executar uma
ordem de compra para os equipamentos que esse funcionário vai
utilizar, adicionar um usuário dentro do domínio para acesso as
aplicações corporativas e por fim enviar um e-mail para o contato
pessoal deste novo funcionário com as informações geradas nos
demais fluxos, neste pequeno cenário temos 3 funções.
Chain Pattern
EM DESTAQUE_
Funções encadeadas são um dos padrões possíveis
quando falamos de Durable Functions, o padrão
consiste em receber um gatilho de uma função que
fica escutando para informar o orquestrador que o
processo vai se iniciar, o orquestrador por sua vez
fica encarregado de controlar o fluxo de acionamento
das demais funções no caso do Chain Pattern
(Funções Encadeadas) ao acionar a primeira função
o Orquestrador aguarda a conclusão deste processo
para iniciar a próxima função no fluxo.
Fan-Out/Fan-In
EM DESTAQUE_
A principal característica deste padrão é o famoso:
"dividir para conquistar", utilizando o paralelismos,
você divide o processamento em outras funções,
aguarda a execução e retorna o resultado deste
processamento.
Async HTTP APIs
EM DESTAQUE_
No padrão Async HTTP APIs, com esse padrão
temos a exposição de APIs HTTP de forma que é
possivel acompanhar e interagir com o orquestrador
e suas entidades.
Monitor
EM DESTAQUE_
Nesse padrão criamos um processo que vai
monitorar até que as condiçoes estabelecidas na
minha função sejam atendidas e o tempo de vida da
minha função não tenha sido excedido, com esse tipo
de função eu poderia monitorar uma fila até que
todos os itens fossem processados, observar a
cotação de uma moeda e etc.
Human interaction
EM DESTAQUE_
Nesse padrão Interação Humana, após a Trigger ser
disparada o orquestrador iniciará uma função que
envia uma requisição(SMS, e-mail, mensagem em
ferramenta de produtividade e etc.) que dependendo
do evento de aprovação humana a função segue um
fluxo distinto.
DEMOS
Durable functionsmvp conf2020

Mais conteúdo relacionado

Semelhante a Durable functionsmvp conf2020

Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPaulo Furtado
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individualAdivaldo_badinho
 
Aplicacao fpa pontos da função
Aplicacao fpa pontos da funçãoAplicacao fpa pontos da função
Aplicacao fpa pontos da funçãoWisthon Douglas
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agileAlini Rebonatto
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Rodrigo Marinho
 
Palestra Dariva Portais Corporativos
Palestra Dariva Portais CorporativosPalestra Dariva Portais Corporativos
Palestra Dariva Portais CorporativosRoberto Dariva
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes ExploratóriosAlan Carlos
 
Scrum experience bo tutorial scrum v15
Scrum experience bo tutorial scrum v15Scrum experience bo tutorial scrum v15
Scrum experience bo tutorial scrum v15claudioluciodovallopes
 
Gestão de Projetos (28/04/2015)
Gestão de Projetos (28/04/2015)Gestão de Projetos (28/04/2015)
Gestão de Projetos (28/04/2015)Alessandro Almeida
 
Slides exemplodeprocessoscrum
Slides exemplodeprocessoscrumSlides exemplodeprocessoscrum
Slides exemplodeprocessoscrumSilas Dias
 
Memorias das trincheiras
Memorias das trincheirasMemorias das trincheiras
Memorias das trincheirasElton Minetto
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetosLP Maquinas
 
Sprint Zero com mais Valor (TDC-2015)
Sprint Zero com mais Valor (TDC-2015)Sprint Zero com mais Valor (TDC-2015)
Sprint Zero com mais Valor (TDC-2015)Alex Magalhaes
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G Ofabio.thomaz
 
Scrum uma visão prática do framework
Scrum   uma visão prática do frameworkScrum   uma visão prática do framework
Scrum uma visão prática do frameworkRoberto Passani Gomes
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...GUTS-RS
 
Metologias Ágeis com Scrum
Metologias Ágeis com ScrumMetologias Ágeis com Scrum
Metologias Ágeis com ScrumRaphael Gatti
 
Apresentação Conceitual de RPA com Automation Anywhere
Apresentação Conceitual de RPA com Automation AnywhereApresentação Conceitual de RPA com Automation Anywhere
Apresentação Conceitual de RPA com Automation AnywhereEduardo Britto
 

Semelhante a Durable functionsmvp conf2020 (20)

Palestra de SCRUM em Juazeiro
Palestra de SCRUM em JuazeiroPalestra de SCRUM em Juazeiro
Palestra de SCRUM em Juazeiro
 
Processo de software individual
Processo de software individualProcesso de software individual
Processo de software individual
 
Aplicacao fpa pontos da função
Aplicacao fpa pontos da funçãoAplicacao fpa pontos da função
Aplicacao fpa pontos da função
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015Trabalho 4 Semestre e 5 Semestre 2015
Trabalho 4 Semestre e 5 Semestre 2015
 
Palestra Dariva Portais Corporativos
Palestra Dariva Portais CorporativosPalestra Dariva Portais Corporativos
Palestra Dariva Portais Corporativos
 
ALM - Testes Exploratórios
ALM - Testes ExploratóriosALM - Testes Exploratórios
ALM - Testes Exploratórios
 
Scrum experience bo tutorial scrum v15
Scrum experience bo tutorial scrum v15Scrum experience bo tutorial scrum v15
Scrum experience bo tutorial scrum v15
 
Gestão de Projetos (28/04/2015)
Gestão de Projetos (28/04/2015)Gestão de Projetos (28/04/2015)
Gestão de Projetos (28/04/2015)
 
Slides exemplodeprocessoscrum
Slides exemplodeprocessoscrumSlides exemplodeprocessoscrum
Slides exemplodeprocessoscrum
 
Memorias das trincheiras
Memorias das trincheirasMemorias das trincheiras
Memorias das trincheiras
 
Net uma revisão sobre a programação orientada a objetos
Net   uma revisão sobre a programação orientada a objetosNet   uma revisão sobre a programação orientada a objetos
Net uma revisão sobre a programação orientada a objetos
 
Sprint Zero com mais Valor (TDC-2015)
Sprint Zero com mais Valor (TDC-2015)Sprint Zero com mais Valor (TDC-2015)
Sprint Zero com mais Valor (TDC-2015)
 
F R A M E W O R K D J A N G O
F R A M E W O R K  D J A N G OF R A M E W O R K  D J A N G O
F R A M E W O R K D J A N G O
 
Scrum uma visão prática do framework
Scrum   uma visão prática do frameworkScrum   uma visão prática do framework
Scrum uma visão prática do framework
 
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...[GUTS-RS] Evento julho 2017 -  Como iniciar os testes de performance em uma a...
[GUTS-RS] Evento julho 2017 - Como iniciar os testes de performance em uma a...
 
Metologias Ágeis com Scrum
Metologias Ágeis com ScrumMetologias Ágeis com Scrum
Metologias Ágeis com Scrum
 
Introdução ao TDD
Introdução ao TDDIntrodução ao TDD
Introdução ao TDD
 
Lab metodologia
Lab metodologiaLab metodologia
Lab metodologia
 
Apresentação Conceitual de RPA com Automation Anywhere
Apresentação Conceitual de RPA com Automation AnywhereApresentação Conceitual de RPA com Automation Anywhere
Apresentação Conceitual de RPA com Automation Anywhere
 

Durable functionsmvp conf2020

  • 1.
  • 2.
  • 3.
  • 4. Renato Jose Groffe Desenvolvimento de Software Robson Rocha de Araújo Ewerton Rodrigues Jordão
  • 5. Atua como consultor em atividades voltadas ao desenvolvimento de sistemas há mais de 15 anos. Bacharel em Sistemas de Informação, com Especialização em Engenharia de Software e MBA em Business Intelligence. Também é palestrante e autor técnico em portais e revistas especializadas, com foco em tecnologias Microsoft e boas práticas na área de software. Mini-Biografia @RenatoGroff @renatogroffe medium.com/@renato.groffe
  • 6. Arquiteto e desenvolvedor, busco soluções simples e objetivas, ao mesmo tempo em que exploro as boas práticas e tecnologias mais atuais, e busco conduzir minha equipe não só para desenvolver melhores produtos, mas para se desenvolverem como melhores profissionais. Como instrutor, dou ênfase no aprendizado do aluno, em transmitir minha experiência e direcionar os estudantes às melhores práticas e a casos práticos. Mini-Biografia @twitter @robsonrochaaraujo procoding.com.br https://about.me/RobsonAraujo
  • 7. Trabalho na área de tecnologia há mais de 9 anos, durante os primeiros anos focados em C#, nos últimos sete anos trabalhando com Azure ,PowerShell, SQL Server e Windows Server. Amante da tecnologia, sempre buscando me atualizar e tentando novas maneiras de agregar valor. Mini-Biografia @EwertonJordao @ewerton-jordao medium.com/@ewertonjordao
  • 8. PATROCINADORES_ Agradecemos a confiança e o investimento realizado pelos Patrocinadores do MVPConf LATAM 2020. Sem a participação deles o evento não aconteceria. Nosso muito obrigado!!!
  • 9. Lar de Idosos Nossa Senhora da Conceição Aracaju - SE Retiro dos Idosos Universina Carrera Machado Santo Ângelo - RS Associação Comunitária Fênix Jacareí - SP Rede Feminina de Combate ao Câncer Três Lagoas - MS Associação de Pais e Amigos dos Excepcionais – APAE de Farroupilha Farroupilha - RS Lar da Criança Ninho de Paz São Paulo - SP Abrigo Bom Pastor Cornélio Procópio - PR BENEFICIADAS POR VOCÊ_ Estas foram as entidades beneficiadas com a doação que você realizou no ato da sua inscrição no MVPConf LATAM 2020. Sem a sua participação o evento não aconteceria e não poderíamos impactar a vida de tantas pessoas. Nosso muito obrigado!!!
  • 10. 01 – Por que Durable Functions? 02 – Durable Functions Introdução 03 – Padrões (Patterns) 04 – Demo
  • 11.
  • 12. Introdução EM DESTAQUE_ Durable Functions dão novos poderes ao serviço Azure Functions, ou seja, são uma extensão das Functions que você já conhece. Confiabilidade na execução de processos, armazenamento de estado nativamente(sem necessidade de implementar algum tipo de engenharia para isso), governança na gestão das funções. Utilizando Functions sem Durable exige que o desenvolvedor faça a gestão de inúmeras funções dependendo do tipo de processo implementado com Azure Functions, imagine o seguinte cenário: A cada novo Funcionário contratado é necessário executar uma ordem de compra para os equipamentos que esse funcionário vai utilizar, adicionar um usuário dentro do domínio para acesso as aplicações corporativas e por fim enviar um e-mail para o contato pessoal deste novo funcionário com as informações geradas nos demais fluxos, neste pequeno cenário temos 3 funções.
  • 13.
  • 14. Chain Pattern EM DESTAQUE_ Funções encadeadas são um dos padrões possíveis quando falamos de Durable Functions, o padrão consiste em receber um gatilho de uma função que fica escutando para informar o orquestrador que o processo vai se iniciar, o orquestrador por sua vez fica encarregado de controlar o fluxo de acionamento das demais funções no caso do Chain Pattern (Funções Encadeadas) ao acionar a primeira função o Orquestrador aguarda a conclusão deste processo para iniciar a próxima função no fluxo.
  • 15. Fan-Out/Fan-In EM DESTAQUE_ A principal característica deste padrão é o famoso: "dividir para conquistar", utilizando o paralelismos, você divide o processamento em outras funções, aguarda a execução e retorna o resultado deste processamento.
  • 16. Async HTTP APIs EM DESTAQUE_ No padrão Async HTTP APIs, com esse padrão temos a exposição de APIs HTTP de forma que é possivel acompanhar e interagir com o orquestrador e suas entidades.
  • 17. Monitor EM DESTAQUE_ Nesse padrão criamos um processo que vai monitorar até que as condiçoes estabelecidas na minha função sejam atendidas e o tempo de vida da minha função não tenha sido excedido, com esse tipo de função eu poderia monitorar uma fila até que todos os itens fossem processados, observar a cotação de uma moeda e etc.
  • 18. Human interaction EM DESTAQUE_ Nesse padrão Interação Humana, após a Trigger ser disparada o orquestrador iniciará uma função que envia uma requisição(SMS, e-mail, mensagem em ferramenta de produtividade e etc.) que dependendo do evento de aprovação humana a função segue um fluxo distinto.
  • 19. DEMOS