1. O documento discute os desafios de escalabilidade de aplicações Ruby on Rails (RoR) em nuvem, com foco no Heroku. 2. É mostrado como um aumento na base de usuários pode causar congestionamento se a infraestrutura não for ajustada, e como adicionar mais recursos de forma reativa pode resolver o problema temporariamente. 3. Problemas complexos podem ter causas diversas, e é importante investigar a fundo antes de tomar medidas, como um gargalo no banco de dados que foi descoberto após análise do APM.
O documento discute métricas acionáveis de projetos. Ele aborda como coletar e analisar métricas como tempo do ciclo, taxa de transferência, qualidade e previsibilidade para melhor gerenciar o fluxo de trabalho e entregas. Gestão de fluxo é importante para criar previsibilidade, ritmo sustentável e identificar a capacidade da equipe.
O documento discute programação reativa e serverless no Azure. Na primeira parte, fornece contexto histórico sobre a evolução dos sistemas e mudanças nos paradigmas de programação. A segunda parte explica conceitos de programação reativa e como ela se relaciona com programação funcional. A terceira parte introduz o tópico de serverless e discute seu espectro de uso na nuvem.
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaDextra Sistemas / Etec Itu
Dicas práticas de abordagem adotada em case de migração de legado e como melhorar aplicações legadas deixando sistemas mais estáveis para suportar o tempo de desenvolvimento de novas aplicações
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
1. O documento discute vários modelos e métodos ágeis como Scrum, SAFe, FDD, TDD, XP e Kanban.
2. A metodologia ágil visa acelerar o desenvolvimento de software através de entregas frequentes e adaptação aos requisitos mudando.
3. O Extreme Programming (XP) é uma metodologia ágil focada em equipes pequenas com requisitos flexíveis, envolvendo práticas como programação em pares e testes automatizados.
O documento descreve os objetivos técnicos de um projeto de rede, incluindo escalabilidade, disponibilidade, desempenho, segurança, gerenciabilidade, usabilidade, adaptabilidade e custo-benefício. Ele também discute a análise da rede existente, cobrindo a avaliação da topologia física e lógica, aplicações, protocolos, endereçamento, limitações, disponibilidade, desempenho, gerenciamento, segurança e tráfego.
O documento discute testes de performance, introduzindo o tópico e apresentando alguns conceitos importantes. Apresenta porque a performance é importante, os tipos de testes de performance e áreas relacionadas. Também fornece dicas sobre livros e artigos sobre o tema.
1. O documento descreve relatórios sobre tipos de sistemas operacionais e gerenciamento de processos e threads.
2. É analisado o Windows Server 2012, sistemas Linux para servidores e estações de trabalho, sistemas Android e iOS para smartphones e tablets.
3. Também são descritos conceitos como processos, threads, PCB e atividades práticas realizadas no simulador SOsim sobre gerenciamento de processos.
O documento discute métricas acionáveis de projetos. Ele aborda como coletar e analisar métricas como tempo do ciclo, taxa de transferência, qualidade e previsibilidade para melhor gerenciar o fluxo de trabalho e entregas. Gestão de fluxo é importante para criar previsibilidade, ritmo sustentável e identificar a capacidade da equipe.
O documento discute programação reativa e serverless no Azure. Na primeira parte, fornece contexto histórico sobre a evolução dos sistemas e mudanças nos paradigmas de programação. A segunda parte explica conceitos de programação reativa e como ela se relaciona com programação funcional. A terceira parte introduz o tópico de serverless e discute seu espectro de uso na nuvem.
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaDextra Sistemas / Etec Itu
Dicas práticas de abordagem adotada em case de migração de legado e como melhorar aplicações legadas deixando sistemas mais estáveis para suportar o tempo de desenvolvimento de novas aplicações
Modelos de Processo de Desenvolvimento de Software 2 - Prof.ª Cristiane FidelixCris Fidelix
1. O documento discute vários modelos e métodos ágeis como Scrum, SAFe, FDD, TDD, XP e Kanban.
2. A metodologia ágil visa acelerar o desenvolvimento de software através de entregas frequentes e adaptação aos requisitos mudando.
3. O Extreme Programming (XP) é uma metodologia ágil focada em equipes pequenas com requisitos flexíveis, envolvendo práticas como programação em pares e testes automatizados.
O documento descreve os objetivos técnicos de um projeto de rede, incluindo escalabilidade, disponibilidade, desempenho, segurança, gerenciabilidade, usabilidade, adaptabilidade e custo-benefício. Ele também discute a análise da rede existente, cobrindo a avaliação da topologia física e lógica, aplicações, protocolos, endereçamento, limitações, disponibilidade, desempenho, gerenciamento, segurança e tráfego.
O documento discute testes de performance, introduzindo o tópico e apresentando alguns conceitos importantes. Apresenta porque a performance é importante, os tipos de testes de performance e áreas relacionadas. Também fornece dicas sobre livros e artigos sobre o tema.
1. O documento descreve relatórios sobre tipos de sistemas operacionais e gerenciamento de processos e threads.
2. É analisado o Windows Server 2012, sistemas Linux para servidores e estações de trabalho, sistemas Android e iOS para smartphones e tablets.
3. Também são descritos conceitos como processos, threads, PCB e atividades práticas realizadas no simulador SOsim sobre gerenciamento de processos.
O documento descreve o Rational Unified Process (RUP), um modelo de processo de software que fornece boas práticas para o desenvolvimento de sistemas. O RUP é dividido em quatro fases principais: Iniciação, Elaboração, Construção e Transição. Cada fase tem objetivos, artefatos esperados e critérios de avaliação para marcos importantes no projeto. O documento detalha os principais elementos de cada fase do RUP.
Como Implementar a Análise de Dados em Tempo RealDenodo
Watch full webinar here: https://bit.ly/31rnBD0
As técnicas de análise em tempo real prometem enriquecer a análise tradicional de dados. Isto é fundamental para muitos cenários, tais como gerenciamento dos processos de produção ou atendimento ao cliente. A virtualização de dados é bem conhecida por oferecer conectividade em tempo real a diversas fontes e recursos de federação - os dois ingredientes básicos para análises de dadis em tempo real. No entanto, construir uma estratégia em torno destes conceitos pode ser um desafio. O impacto de fontes de dados sensíveis, questões de segurança e desempenho são freqüentemente mencionados.
Participe deste webinar e descubra:
- Quais são os cenários onde o valor da análise de dados em tempo real pode fazer a diferença
- As principais capacidades que as tornam possíveis
- As melhores práticas para torná-las bem sucedidas
O documento discute práticas ágeis de desenvolvimento de software, como DevOps. Apresenta casos em que equipes de desenvolvimento e operações precisam trabalhar juntas para resolver problemas. Também discute os benefícios de automação, integração e entrega contínuas para melhorar a velocidade e qualidade do trabalho.
O documento discute o tópico da manutenção de software. Ele explica que a manutenção envolve qualquer modificação feita no software após seu lançamento e que inclui correções de erros e novas funcionalidades. Também destaca que a manutenção é um processo contínuo e que as empresas geralmente gastam mais com manutenção do que com desenvolvimento de novos sistemas.
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
Nesta sessão abordamos a performance de Sistemas de Informação desenvolvidos na plataforma ASP.NET com recurso a SQL Server com SGBD. Iremos explicar como surgem os problemas de performance em sistemas com alguns anos de existência e qual a abordagem a tomar, quando temos utilizadores insatisfeitos.
Abordaremos também alguns casos de sucesso no mercado a nível de sistemas de alta disponibilidade e como o mercado tem evoluído. De uma forma geral, pretendemos demonstrar técnicas de análise/tuning de performance em ASP.NET e sua evolução ao longo das várias versões, como também algumas técnicas de requisitos para obtenção e estruturação da informação.
Finalmente, o objetivo passa por divulgar procedimentos, técnicas e ferramentas que sirvam como uma referência que possam ser úteis caso surjam problemas de performance nos nossos sistemas de futuro, entre os quais : Do’s & Dont’s, Systematic Tuning, ASP.NET Trace, VS Profiling Tools, SQL Profiler entre outros.
O documento discute as etapas para realizar testes de desempenho no WebSphere Portal, incluindo preparação, fases de teste e métricas. A preparação inclui planejamento, definição de objetivos de carga e tempo de resposta e escrita de casos de teste. As fases de teste são: teste individual, teste do sistema, teste incremental e teste de estabilidade. A coleta de métricas é essencial para analisar e melhorar o desempenho.
Modelo Espiral de Boehm, prototipação em etapas, RUP - Rational Unified Process, Desenvolvimento Ágil, manifesto ágil, Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor, Envolvimento do cliente, Manter a simplicidade, O que é Scrum, Reunião Diária, Retrospectiva da , Planning Poker
O documento discute o processo iterativo de desenvolvimento de software centrado em requisitos, onde o cliente define as funcionalidades implementadas em entregas curtas para validar o produto. Também aborda a importância de levantar requisitos por meio de casos de uso que guiem todo o processo e provoquem mudanças no início para ajustar o escopo.
O documento fornece uma introdução sobre sistemas cliente/servidor, abordando conceitos como clientes, servidores, comunicação entre eles e alguns protocolos utilizados como RPC, IPX/SPX e NetBIOS/NetBEUI.
O documento discute a história e os princípios do framework Scrum para desenvolvimento de produtos complexos. Aborda os pilares da transparência, inspeção e adaptação, os papéis de ScrumMaster, Product Owner e Time de Scrum, e explica o ciclo do Scrum, incluindo Backlog do Produto, Sprint, Reunião Diária e Incremento do Produto.
O documento discute os principais aspectos técnicos a serem analisados em projetos de redes estruturadas, incluindo escalabilidade, disponibilidade, desempenho, segurança, gerenciabilidade, usabilidade, adaptabilidade e custo-benefício. O autor explica cada um desses tópicos e enfatiza a importância de analisá-los cuidadosamente na fase inicial de projeto para definir as especificações técnicas corretas.
O documento discute como escalar metodologias ágeis em grandes empresas, propondo o framework SAFe (Scaled Agile Framework). SAFe organiza múltiplos times ágeis trabalhando de forma integrada e sincronizada para objetivos estratégicos comuns, através de papéis como Release Train Engineer e Product Manager. O framework propõe práticas como Release Planning e gestão de requisitos em diferentes níveis (épicos, features e histórias).
O documento descreve o processo incremental e iterativo de desenvolvimento de software, no qual o trabalho é dividido em pequenas iterações com incrementos contínuos, em vez de um único lançamento ("big bang"). Cada iteração inclui análise, projeto, implementação e transição para o produto, com feedback constante do cliente para manter os requisitos alinhados. O processo oferece vantagens como redução de riscos, entrega contínua de valor e motivação da equipe.
Microserviços - Universidade Metodista - EETI 2016Renato Groff
Tópicos abordados nesta apresentação realizada durante o a semana EETI 2016 da Universidade Metodista - São Paulo (02/05/2016):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microserviços
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...GiovanniGuimares2
O documento descreve o projeto de um acelerador de hardware para o algoritmo de distância euclidiana. O objetivo é melhorar o tempo de resposta do algoritmo K-means através do desenho de uma arquitetura para cálculo de distância euclidiana em hardware. A metodologia inclui requisitos, pesquisa, simulações usando o software Logisim e análise do ganho de desempenho com paralelismo.
Aula 03 - Analisando objetivos técnicos - Projeto de Redes de ComputadoresDalton Martins
O documento discute objetivos técnicos para projetos de redes de computadores, incluindo escalabilidade, disponibilidade e desempenho. Escalabilidade refere-se à capacidade de uma rede suportar crescimento futuro. Disponibilidade é o tempo total que a rede está disponível para usuários. Desempenho inclui métricas como largura de banda, atraso e variação no atraso.
O documento discute como as empresas podem alcançar excelência digital através de monitoramento contínuo do desempenho, identificação rápida de problemas e otimização do código e ambiente. A complexidade do ambiente digital está aumentando com alta frequência de versões, dependência de fornecedores e expectativas dos usuários. Ferramentas de monitoramento como o Dynatrace podem fornecer visibilidade em tempo real para garantir experiências perfeitas.
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...Consultoria Acadêmica
Os termos "sustentabilidade" e "desenvolvimento sustentável" só ganharam repercussão mundial com a realização da Conferência das Nações Unidas sobre o Meio Ambiente e o Desenvolvimento (CNUMAD), conhecida como Rio 92. O encontro reuniu 179 representantes de países e estabeleceu de vez a pauta ambiental no cenário mundial. Outra mudança de paradigma foi a responsabilidade que os países desenvolvidos têm para um planeta mais sustentável, como planos de redução da emissão de poluentes e investimento de recursos para que os países pobres degradem menos. Atualmente, os termos
"sustentabilidade" e "desenvolvimento sustentável" fazem parte da agenda e do compromisso de todos os países e organizações que pensam no futuro e estão preocupados com a preservação da vida dos seres vivos.
Elaborado pelo professor, 2023.
Diante do contexto apresentado, assinale a alternativa correta sobre a definição de desenvolvimento sustentável:
ALTERNATIVAS
Desenvolvimento sustentável é o desenvolvimento que não esgota os recursos para o futuro.
Desenvolvimento sustantável é o desenvolvimento que supre as necessidades momentâneas das pessoas.
Desenvolvimento sustentável é o desenvolvimento incapaz de garantir o atendimento das necessidades da geração futura.
Desenvolvimento sustentável é um modelo de desenvolvimento econômico, social e político que esteja contraposto ao meio ambiente.
Desenvolvimento sustentável é o desenvolvimento capaz de suprir as necessidades da geração anterior, comprometendo a capacidade de atender às necessidades das futuras gerações.
Entre em contato conosco
54 99956-3050
O documento descreve o Rational Unified Process (RUP), um modelo de processo de software que fornece boas práticas para o desenvolvimento de sistemas. O RUP é dividido em quatro fases principais: Iniciação, Elaboração, Construção e Transição. Cada fase tem objetivos, artefatos esperados e critérios de avaliação para marcos importantes no projeto. O documento detalha os principais elementos de cada fase do RUP.
Como Implementar a Análise de Dados em Tempo RealDenodo
Watch full webinar here: https://bit.ly/31rnBD0
As técnicas de análise em tempo real prometem enriquecer a análise tradicional de dados. Isto é fundamental para muitos cenários, tais como gerenciamento dos processos de produção ou atendimento ao cliente. A virtualização de dados é bem conhecida por oferecer conectividade em tempo real a diversas fontes e recursos de federação - os dois ingredientes básicos para análises de dadis em tempo real. No entanto, construir uma estratégia em torno destes conceitos pode ser um desafio. O impacto de fontes de dados sensíveis, questões de segurança e desempenho são freqüentemente mencionados.
Participe deste webinar e descubra:
- Quais são os cenários onde o valor da análise de dados em tempo real pode fazer a diferença
- As principais capacidades que as tornam possíveis
- As melhores práticas para torná-las bem sucedidas
O documento discute práticas ágeis de desenvolvimento de software, como DevOps. Apresenta casos em que equipes de desenvolvimento e operações precisam trabalhar juntas para resolver problemas. Também discute os benefícios de automação, integração e entrega contínuas para melhorar a velocidade e qualidade do trabalho.
O documento discute o tópico da manutenção de software. Ele explica que a manutenção envolve qualquer modificação feita no software após seu lançamento e que inclui correções de erros e novas funcionalidades. Também destaca que a manutenção é um processo contínuo e que as empresas geralmente gastam mais com manutenção do que com desenvolvimento de novos sistemas.
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
Nesta sessão abordamos a performance de Sistemas de Informação desenvolvidos na plataforma ASP.NET com recurso a SQL Server com SGBD. Iremos explicar como surgem os problemas de performance em sistemas com alguns anos de existência e qual a abordagem a tomar, quando temos utilizadores insatisfeitos.
Abordaremos também alguns casos de sucesso no mercado a nível de sistemas de alta disponibilidade e como o mercado tem evoluído. De uma forma geral, pretendemos demonstrar técnicas de análise/tuning de performance em ASP.NET e sua evolução ao longo das várias versões, como também algumas técnicas de requisitos para obtenção e estruturação da informação.
Finalmente, o objetivo passa por divulgar procedimentos, técnicas e ferramentas que sirvam como uma referência que possam ser úteis caso surjam problemas de performance nos nossos sistemas de futuro, entre os quais : Do’s & Dont’s, Systematic Tuning, ASP.NET Trace, VS Profiling Tools, SQL Profiler entre outros.
O documento discute as etapas para realizar testes de desempenho no WebSphere Portal, incluindo preparação, fases de teste e métricas. A preparação inclui planejamento, definição de objetivos de carga e tempo de resposta e escrita de casos de teste. As fases de teste são: teste individual, teste do sistema, teste incremental e teste de estabilidade. A coleta de métricas é essencial para analisar e melhorar o desempenho.
Modelo Espiral de Boehm, prototipação em etapas, RUP - Rational Unified Process, Desenvolvimento Ágil, manifesto ágil, Nossa maior prioridade é satisfazer o cliente, através da entrega adiantada e contínua de software de valor, Envolvimento do cliente, Manter a simplicidade, O que é Scrum, Reunião Diária, Retrospectiva da , Planning Poker
O documento discute o processo iterativo de desenvolvimento de software centrado em requisitos, onde o cliente define as funcionalidades implementadas em entregas curtas para validar o produto. Também aborda a importância de levantar requisitos por meio de casos de uso que guiem todo o processo e provoquem mudanças no início para ajustar o escopo.
O documento fornece uma introdução sobre sistemas cliente/servidor, abordando conceitos como clientes, servidores, comunicação entre eles e alguns protocolos utilizados como RPC, IPX/SPX e NetBIOS/NetBEUI.
O documento discute a história e os princípios do framework Scrum para desenvolvimento de produtos complexos. Aborda os pilares da transparência, inspeção e adaptação, os papéis de ScrumMaster, Product Owner e Time de Scrum, e explica o ciclo do Scrum, incluindo Backlog do Produto, Sprint, Reunião Diária e Incremento do Produto.
O documento discute os principais aspectos técnicos a serem analisados em projetos de redes estruturadas, incluindo escalabilidade, disponibilidade, desempenho, segurança, gerenciabilidade, usabilidade, adaptabilidade e custo-benefício. O autor explica cada um desses tópicos e enfatiza a importância de analisá-los cuidadosamente na fase inicial de projeto para definir as especificações técnicas corretas.
O documento discute como escalar metodologias ágeis em grandes empresas, propondo o framework SAFe (Scaled Agile Framework). SAFe organiza múltiplos times ágeis trabalhando de forma integrada e sincronizada para objetivos estratégicos comuns, através de papéis como Release Train Engineer e Product Manager. O framework propõe práticas como Release Planning e gestão de requisitos em diferentes níveis (épicos, features e histórias).
O documento descreve o processo incremental e iterativo de desenvolvimento de software, no qual o trabalho é dividido em pequenas iterações com incrementos contínuos, em vez de um único lançamento ("big bang"). Cada iteração inclui análise, projeto, implementação e transição para o produto, com feedback constante do cliente para manter os requisitos alinhados. O processo oferece vantagens como redução de riscos, entrega contínua de valor e motivação da equipe.
Microserviços - Universidade Metodista - EETI 2016Renato Groff
Tópicos abordados nesta apresentação realizada durante o a semana EETI 2016 da Universidade Metodista - São Paulo (02/05/2016):
- Aplicações Monolíticas
- Serviços: uma visão geral
- Arquitetura de Microserviços
Artigo - PROJETO DE UM HARDWARE ACELERADOR DO ALGORITMO DE DISTÂNCIA EUCLIDIA...GiovanniGuimares2
O documento descreve o projeto de um acelerador de hardware para o algoritmo de distância euclidiana. O objetivo é melhorar o tempo de resposta do algoritmo K-means através do desenho de uma arquitetura para cálculo de distância euclidiana em hardware. A metodologia inclui requisitos, pesquisa, simulações usando o software Logisim e análise do ganho de desempenho com paralelismo.
Aula 03 - Analisando objetivos técnicos - Projeto de Redes de ComputadoresDalton Martins
O documento discute objetivos técnicos para projetos de redes de computadores, incluindo escalabilidade, disponibilidade e desempenho. Escalabilidade refere-se à capacidade de uma rede suportar crescimento futuro. Disponibilidade é o tempo total que a rede está disponível para usuários. Desempenho inclui métricas como largura de banda, atraso e variação no atraso.
O documento discute como as empresas podem alcançar excelência digital através de monitoramento contínuo do desempenho, identificação rápida de problemas e otimização do código e ambiente. A complexidade do ambiente digital está aumentando com alta frequência de versões, dependência de fornecedores e expectativas dos usuários. Ferramentas de monitoramento como o Dynatrace podem fornecer visibilidade em tempo real para garantir experiências perfeitas.
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL ENGENHARIA DA SUSTENTABILIDADE UNIC...Consultoria Acadêmica
Os termos "sustentabilidade" e "desenvolvimento sustentável" só ganharam repercussão mundial com a realização da Conferência das Nações Unidas sobre o Meio Ambiente e o Desenvolvimento (CNUMAD), conhecida como Rio 92. O encontro reuniu 179 representantes de países e estabeleceu de vez a pauta ambiental no cenário mundial. Outra mudança de paradigma foi a responsabilidade que os países desenvolvidos têm para um planeta mais sustentável, como planos de redução da emissão de poluentes e investimento de recursos para que os países pobres degradem menos. Atualmente, os termos
"sustentabilidade" e "desenvolvimento sustentável" fazem parte da agenda e do compromisso de todos os países e organizações que pensam no futuro e estão preocupados com a preservação da vida dos seres vivos.
Elaborado pelo professor, 2023.
Diante do contexto apresentado, assinale a alternativa correta sobre a definição de desenvolvimento sustentável:
ALTERNATIVAS
Desenvolvimento sustentável é o desenvolvimento que não esgota os recursos para o futuro.
Desenvolvimento sustantável é o desenvolvimento que supre as necessidades momentâneas das pessoas.
Desenvolvimento sustentável é o desenvolvimento incapaz de garantir o atendimento das necessidades da geração futura.
Desenvolvimento sustentável é um modelo de desenvolvimento econômico, social e político que esteja contraposto ao meio ambiente.
Desenvolvimento sustentável é o desenvolvimento capaz de suprir as necessidades da geração anterior, comprometendo a capacidade de atender às necessidades das futuras gerações.
Entre em contato conosco
54 99956-3050
AE03 - ESTUDO CONTEMPORÂNEO E TRANSVERSAL INDÚSTRIA E TRANSFORMAÇÃO DIGITAL ...Consultoria Acadêmica
“O processo de inovação envolve a geração de ideias para desenvolver projetos que podem ser testados e implementados na empresa, nesse sentido, uma empresa pode escolher entre inovação aberta ou inovação fechada” (Carvalho, 2024, p.17).
CARVALHO, Maria Fernanda Francelin. Estudo contemporâneo e transversal: indústria e transformação digital. Florianópolis, SC: Arqué, 2024.
Com base no exposto e nos conteúdos estudados na disciplina, analise as afirmativas a seguir:
I - A inovação aberta envolve a colaboração com outras empresas ou parceiros externos para impulsionar ainovação.
II – A inovação aberta é o modelo tradicional, em que a empresa conduz todo o processo internamente,desde pesquisa e desenvolvimento até a comercialização do produto.
III – A inovação fechada é realizada inteiramente com recursos internos da empresa, garantindo o sigilo dasinformações e conhecimento exclusivo para uso interno.
IV – O processo que envolve a colaboração com profissionais de outras empresas, reunindo diversasperspectivas e conhecimentos, trata-se de inovação fechada.
É correto o que se afirma em:
ALTERNATIVAS
I e II, apenas.
I e III, apenas.
I, III e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
Proteco Q60A
Placa de controlo Proteco Q60A para motor de Braços / Batente
A Proteco Q60A é uma avançada placa de controlo projetada para portões com 1 ou 2 folhas de batente. Com uma programação intuitiva via display, esta central oferece uma gama abrangente de funcionalidades para garantir o desempenho ideal do seu portão.
Compatível com vários motores
Se você possui smartphone há mais de 10 anos, talvez não tenha percebido que, no início da onda da
instalação de aplicativos para celulares, quando era instalado um novo aplicativo, ele não perguntava se
podia ter acesso às suas fotos, e-mails, lista de contatos, localização, informações de outros aplicativos
instalados, etc. Isso não significa que agora todos pedem autorização de tudo, mas percebe-se que os
próprios sistemas operacionais (atualmente conhecidos como Android da Google ou IOS da Apple) têm
aumentado a camada de segurança quando algum aplicativo tenta acessar os seus dados, abrindo uma
janela e solicitando sua autorização.
CASTRO, Sílvio. Tecnologia. Formação Sociocultural e Ética II. Unicesumar: Maringá, 2024.
Considerando o exposto, analise as asserções a seguir e assinale a que descreve corretamente.
ALTERNATIVAS
I, apenas.
I e III, apenas.
II e IV, apenas.
II, III e IV, apenas.
I, II, III e IV.
Entre em contato conosco
54 99956-3050
3. Agenda
1. Premissas desse talk
2.Dynos e o scaling manual
3.Um loop de causa e efeito
4.Considerações finais
3
Qulture.Rocks
Investir
em
desempenho
muda
tudo_
4. Premissas desse talk
Sobre o que vamos falar e baseado em
quais tecnologias?
Investir
em
desempenho
muda
tudo_
5. 5
Premissas desse talk
Sobre o que vamos
falar?
●Público alvo: pessoas desenvolvedoras
com mais experiência no backend, SREs,
pessoas operadoras de infraestrutura
● Aplicação longeva com base de usuários
constantemente crescente e com
múltiplos releases diários
● Escalabilidade horizontal dinâmica no
processo web e nos background workers
Investir
em
desempenho
muda
tudo_
6. 6
Premissas desse talk
Sobre o que vamos
falar?
●Monolito rails multi-tenant
●Heroku como provedor de cloud
●Puma como servidor web
●Sidekiq para processar jobs
assíncronos
● Redis de apoio para o Sidekiq e para
o actioncable
● Modo rest API e graphql
Aplicaçõescujos
recursos são
compartilhadospor
todos os clientes. Não
há deploy on-prem
Multi-tenancy?
Investir
em
desempenho
muda
tudo_
7. Dynos e o scaling manual
Os efeitos de uma base de usuário
crescente em uma infra estática
Investir
em
desempenho
muda
tudo_
8. Antes de tudo, o
vocabulário
8
Qulture.Rocks
Dynos e o scalingmanual
Investir
em
desempenho
muda
tudo_
Nome da compute unit
básica do heroku. AKA
“máquina” (ou
container) em que roda
a aplicação
Dyno
Quantidade(e tipos) de
uma dada compute unit
que compõe a
aplicação
Scaling(ou scalingformation)
Qualquer procedimento
que faça a aplicação
rodar com a mesma
qualidade para mais (ou
menos) usuários
“Escalar” uma aplicação
9. 9
Dynos e o scaling manual
Visualizando o ciclo de
vida de um request
De maneira simples:
1. Request é feito para o DNS é é
redirecionado para o router
2.Router decide para qual dyno
vai o request
3.Dyno processa o request e
responde ao cliente
Investir
em
desempenho
muda
tudo_
10. 10
Dynos e o scaling manual
Congestionamento.
Congestionamento é o que
acontece.
Nesse primeiro incidente, temos:
1. Usuário final notando tempos
de load maiores e erros de
timeout na aplicação
2.Alertas variados de erros da
aplicação nos intrumentos
configurados
Investir
em
desempenho
muda
tudo_
O número de usuários
dobrou. O que acontece?
A relação entre
requests, router e
compute units pode ser
interpretado como uma
fila. A fila não andar no
passo esperado é um
congestionamento
Por que congestionamento?
11. A fila está cheia de clientes
insatisfeitos. E agora?
11
Qulture.Rocks
Dynos e o scalingmanual
Investir
em
desempenho
muda
tudo_
A resposta nesse caso é bem simples: mais dynos
(compute) para atender o excesso da fila.
Mais compute significa mais requests sendo
respondidos em um mesmo intervalo de tempo o
que, por sua vez, leva ao esvaziamento da fila
atual.
Na solução de longo prazo, utilizamos um addon
que monitora o queue time da aplicação para
então decidir se um up-scaling (ou down scaling)
automático deve ocorrer
Tempo que um dado
request espera antes
de ser processado por
um compute unit
Queue time
12. O que aprendemos com
esse incidente?
12
Qulture.Rocks
Dynos e o scalingmanual
1. Acompanhar métricas como queue time e tempo médio
de resposta é útil para notar incidentes antes do
usuário final
2. Durante um incidente devemos separar os esforços em
duas partes:
a. Esforços de curto prazo. Esforços menos complexos
que podem ser implementados de imediato e que
vão mitigar uma boa parte dos problemas
b. Esforços de longo prazo
3. Processos e tecnologias que nos permitem mais
proatividade são sempre prioritários
Investir
em
desempenho
muda
tudo_
13. Um loop de causa e
efeito
Como agir quando a causa de um dado incidente
não está clara sem piorar a vida do usuário
Investir
em
desempenho
muda
tudo_
14. Nem sempre que um usuário final abre uma reclamação de
requests lentos/timeouts devemos rever o scaling da
aplicação.
Depois de alguns bons meses rodando os compute units em
auto-scaling, outro incidente foi aberto com base em
reclamações dos usuários finais de tempo médio de
respostas e timeouts em requests.
Dessa vez, no entanto, o queue time não estava alto. O que
pode estar causando isso então? Instanciar mais dynos é
uma boa medida de curto prazo nesse caso?
Mesmo problema, causa
diferente
14
Qulture.Rocks
Um loop de causa e efeito
Investir
em
desempenho
muda
tudo_
15. Item básico de monitoramento em produção, APMs
(application performance management) são capazes de
destrinchar uma dada aplicação trazendo insights do que
pode estar causando problemas para a operação
Entra no chat o APM
15
Qulture.Rocks
Um loop de causa e efeito
Investir
em
desempenho
muda
tudo_
Um print de um gráfico
que demonstra quais
operações compõe os
requests web de uma
aplicação. Nele, vemos
que uma boa parte do
request médio é gasto
em `Middleware`e
`Ruby`
O que estou vendo?
16. 16
Um loop de causa e efeito
De volta ao problema original
Ao analisar as informações da APM notamos
que:
1. O tempo gasto no banco de dados
(postgres) estava mais alto que o normal
2.O queue time estava relativamente
normal
3.Transações não web (jobs async)
também apresentavam tempos altos de
banco de dados
Investir
em
desempenho
muda
tudo_
17. 17
Um loop de causa e efeito
Muito tempo no banco de
dados. E agora?
O ideal parece ser listar coisas que poderiam causar esse aumento de
tempo:
1. Alguma query (nova ou alterada) com problemas de performance?
Analisando os dados da APM, a degradação de performance aparecia
em queries variadas não relacioanadas com releases recentes
2. Existe algum incidente entre os dynos e o postgres que possa estar
degradando a conexão? Não. O Heroku estava livre de incidentes
nesse dia
3. O postgres em questão está saudável? Não sabíamos responder essa
pergunta. Nunca tínhamos observado bancos de dados nesse
detalhe
Investir
em
desempenho
muda
tudo_
Bingo!
18. Observando as métricas do servidor postgres notamos um pico de uso de
CPU acima do plano contratado. O que poderia ter causado isso?
O up-scaling automático causou isso. Na verdade, um pico de usuários ativos
causou alguns up-scalings em sequência que, por sua vez fizeram com que o
banco de dados respondesse a um número excessivo de queries ao mesmo
tempo.
O limite máximo de up-scaling era mais do que o banco de dados atual
conseguia atender. Como lidar com isso?
Analisando métricas e
aplicando medidas imediatas
18
Qulture.Rocks
Um loop de causa e efeito
Investir
em
desempenho
muda
tudo_
19. Como planos de imediato, adotamos:
1. Diminuir o número máximo de dynos. Isso faz com que mais usuários
recebam erros de timeout mas faz com que a maioria que conseguiu
realizar um request seja respondido com sucesso
2. Atualizar a CPU do postgres atual. Isso pode ser feito de imediato no
heroku com um clique de um botão então foi feito durante o incidente
Como planos de médio prazo:
1. Monitoramento e alertas para uso excessivo de recursos
2. Playbook de como lidar com esse tipo de incidente
3. Reconfiguração do auto scaler
Planos de imediato & planos de
médio prazo
19
Qulture.Rocks
Um loop de causa e efeito
Investir
em
desempenho
muda
tudo_
20. Está quase acabando. Eu prometo
Considerações finais
Investir
em
desempenho
muda
tudo_
21. ● Subiu uma aplicação? Instrumente!
○ APM e persistência de logs são o básico. Ferramentas
que transformam em alertas podem vir depois
● Nem sempre o mesmo problema é causado pela mesma
coisa e tem a mesma solução
○ Antes de tomar qualquer medida é uma ótima prática
revisar o cenário atual para então compará-lo aos
conhecidos
● Documentar configurações ajuda o seu time no futuro
○ É muito fácil esquecer o motivo de `tal configuração
ser 7 e não 10`. Documente suas escolhas.
Comentários ou ADRs servem o mesmo propósito aqui
O que aprendemos com
esses últimos anos?
21
Qulture.Rocks
Considerações finais
Investir
em
desempenho
muda
tudo_