azure
54 TopicsMultithreading, GIL e paralelismo no Python
Concorrência vs. paralelismo Os dois conceitos são parecidos, mas não são a mesma coisa: Concorrência: lidar com várias tarefas ao mesmo tempo, alternando entre elas. As tarefas progridem de forma intercalada, mas não necessariamente executam no mesmo instante. É ideal para trabalho I/O-bound (rede, disco, banco de dados), onde o programa passa a maior parte do tempo esperando. Paralelismo: executar várias tarefas literalmente ao mesmo tempo, em múltiplos núcleos de CPU. É o que acelera trabalho CPU-bound (cálculo pesado, compressão, hashing). Resumindo: todo paralelismo é concorrência, mas nem toda concorrência é paralelismo. Para concorrência de I/O sem threads, o Python oferece o asyncio , baseado em uma única thread com um event loop e a sintaxe async / await . Como ele não cria threads nem processos, é leve e eficiente para milhares de conexões simultâneas — mas não oferece paralelismo de CPU. Threads e o GIL: por que multithreading não paraleliza CPU O módulo threading permite criar threads reais do sistema operacional, mas o CPython usa o GIL (Global Interpreter Lock): uma trava global que garante que apenas uma thread execute bytecode Python por vez. Por que ele existe? O GIL simplifica o interpretador e torna o modelo de objetos (incluindo tipos como dict ) implicitamente seguro contra acesso concorrente, além de facilitar a integração com bibliotecas C. O preço é abrir mão de boa parte do paralelismo em máquinas multi-core. Na prática: Tarefas I/O-bound se beneficiam de threads, pois o GIL é liberado durante operações de I/O (e por extensões como hashlib / zlib em trechos pesados). Tarefas CPU-bound não escalam com threads: o GIL serializa a execução, e usar mais threads não deixa o programa mais rápido — às vezes até o deixa mais lento pelo overhead de troca de contexto. Desde o Python 3.13 existe um build experimental free-threaded (compilado com --disable-gil , descrito na PEP 703) que permite desligar o GIL. Porém isso exige um interpretador compilado especificamente para isso ( python3.14t ); as compilações padrão não permitem desabilitá-lo. O GIL não dispensa sincronização Mesmo com o GIL, ainda precisamos nos preocupar com sincronização. O GIL garante que uma instrução de bytecode não seja interrompida no meio, mas operações de alto nível (como contador += 1 ) envolvem várias instruções de bytecode e podem sofrer race conditions se uma thread for interrompida no meio delas. Por isso o módulo threading oferece primitivos de sincronização — todos usáveis com with para liberação automática: Lock / RLock — exclusão mútua. Semaphore — limita o número de acessos simultâneos. Condition / Event — coordenação entre threads. Multiprocessing: paralelismo real com processos A saída para aplicações CPU-bound é o módulo multiprocessing (ou o ProcessPoolExecutor do concurrent.futures ). Em vez de threads, ele cria processos separados, e cada processo tem seu próprio interpretador e seu próprio GIL, permitindo paralelismo real em múltiplos núcleos. O custo intrínseco é que criar um novo processo cria também um interpretador Python inteiro, o que é pesado em memória e no tempo de inicialização. Além disso, processos não compartilham memória: os dados precisam ser serializados (via pickle ) e trocados por mecanismos de comunicação entre processos como Queue e Pipe , ou por memória compartilhada. Isso torna a sincronização mais complexa e adiciona overhead de comunicação. Benchmark: medindo o impacto do GIL Para comprovar o conceito, um pequeno script calcula muitos hashes SHA-256 encadeados (uma tarefa puramente CPU-bound) e distribui esse trabalho de três formas, usando concurrent.futures : Sequencial — executa tudo em uma única thread, servindo de baseline. ThreadPoolExecutor — divide o trabalho entre várias threads. ProcessPoolExecutor — divide o trabalho entre vários processos. Cada abordagem é medida em tempo de execução e memória consumida. Rodando no Python 3.14.6 (16 núcleos), o resultado foi: Abordagem Tempo Speedup Memória ------------------------------------------------------------ Sequencial 0.79s 1.00x 0.0 MB ThreadPoolExecutor 0.80s 0.99x 0.2 MB ProcessPoolExecutor 0.31s 2.56x 148.6 MB Interpretando os números: As threads não aceleraram a tarefa (speedup ~1.0x, praticamente igual ao sequencial). O GIL serializou a execução do bytecode: mesmo com várias threads, apenas uma roda por vez, então não há ganho de paralelismo para trabalho de CPU. Os processos foram ~2.5x mais rápidos. Como cada processo tem seu próprio interpretador e seu próprio GIL, o trabalho realmente rodou em paralelo em vários núcleos. Esse paralelismo cobra um custo de memória: os 8 processos consumiram ~148 MB (~18,6 MB por interpretador novo), contra apenas ~0,2 MB das threads, que compartilham o mesmo processo. É o trade-off central entre threading e multiprocessing : velocidade real de CPU ao preço de duplicar o interpretador em memória. Conclusão: I/O-bound ou CPU-bound? O GIL é a razão pela qual multithreading no CPython não entrega paralelismo de CPU. A regra prática é: I/O-bound → use threading ou asyncio (o GIL é liberado durante a espera). CPU-bound → use multiprocessing , aceitando o custo de memória e de comunicação entre processos. No futuro, o build free-threaded (PEP 703) promete paralelismo real com threads e sem o custo de vários interpretadores — mas ainda depende de um interpretador compilado sem o GIL. Escolher a ferramenta certa depende, antes de tudo, de entender se o gargalo é de I/O ou de CPU.119Views1like0CommentsAnonimização de Dados Sensíveis com a plataforma de IA do Azure
A proteção de dados pessoais e sensíveis prevista pela LGPD tornou essencial que organizações adotem mecanismos eficazes para tratar e anonimizar informações presentes em documentos, especialmente em setores como o público e o de saúde, onde o risco de exposição é elevado. Este artigo apresenta uma arquitetura moderna baseada em serviços de IA do Azure — incluindo Document Intelligence, Language Service, modelos personalizados de NER e Computer Vision — para identificar, classificar e mascarar automaticamente conteúdos sensíveis.478Views6likes0CommentsDataEX Bootcamp: Data Women Engineers 2025
DataEX Bootcamp Data Women Engineers 2025: Uma Oportunidade Imperdível para Mulheres que Querem Iniciar na Carreira de Engenharia de Dados Se você é uma mulher apaixonada por tecnologia e busca uma oportunidade para se aprofundar em Data Engineering, o DataEX Bootcamp Data Women Engineers 2025 pode ser o seu ponto de partida. Este programa exclusivo e gratuito foi desenvolvido para capacitar mulheres que desejam ingressar na área de dados, com um foco prático e realista, visando proporcionar uma imersão completa nas habilidades e ferramentas mais requisitadas pelas empresas de tecnologia. O que é o DataEX Bootcamp Data Women Engineers? O DataEX Bootcamp é um programa de capacitação totalmente gratuito que oferece 50 vagas para mulheres cisgêneras e transgêneras com interesse em aprender sobre engenharia de dados. Durante o bootcamp, as participantes terão acesso a aulas teóricas e práticas, onde serão treinadas para atuar na criação e manipulação de grandes volumes de dados, utilizando ferramentas e tecnologias de ponta como SQL Server, Microsoft Fabric, Python, e muito mais. O curso foi projetado para atender a uma demanda crescente por profissionais qualificados em Data Engineering, uma das áreas mais promissoras da tecnologia. As alunas terão a oportunidade de trabalhar com cenários reais, desenvolvendo habilidades essenciais para o mercado de trabalho. Conteúdo Programático O bootcamp vai além das aulas tradicionais. Ele foca no desenvolvimento de competências técnicas essenciais para o trabalho com engenharia de dados. Durante o curso, você aprenderá: Criação e gerenciamento de Data Warehouses e DataMarts; Processamento de dados com tecnologias avançadas; Segurança e otimização de dados em ambientes corporativos; Monitoramento de dados em tempo real; Uso do Microsoft Fabric para análise e manipulação de dados; Fundamentos de Python aplicados ao trabalho com dados. O programa combina teoria e prática, permitindo que as participantes desenvolvam seus próprios projetos e desafios, como seria o caso em um ambiente corporativo. Isso garante que as habilidades adquiridas sejam imediatamente aplicáveis no mercado de trabalho. Etapas do Processo Seletivo O processo seletivo para o DataEX Bootcamp Data Women Engineers 2025 é simples, mas exige comprometimento e dedicação. As etapas são: Inscrição Online: Você deve acessar a página do bootcamp e preencher o formulário de inscrição até o dia 31 de dezembro de 2024. É importante completar todos os campos corretamente para garantir sua candidatura. Desafio Cloud Skills: Após a inscrição, será necessário realizar o Desafio Cloud Skills. Este desafio é um teste introdutório que ajuda a avaliar seu nível de conhecimento e familiaridade com conceitos básicos de cloud computing. A conclusão deste desafio deve ser confirmada até o dia 07 de janeiro de 2025. Seleção: As participantes que cumprirem todas as etapas com sucesso receberão um e-mail de confirmação até 21 de janeiro de 2025. O bootcamp começa em 03 de fevereiro de 2025. Agenda e Modalidade O bootcamp terá aulas de 03 de fevereiro a 14 de fevereiro de 2025, com encontros programados de segunda a sexta-feira, das 13h30 às 17h30. As participantes terão que se comprometer a comparecer a todas as aulas, que ocorrerão de forma 100% online. Durante esse período, será possível aprender em tempo real e tirar dúvidas diretamente com os instrutores. Certificação e Desafio Final Ao final do bootcamp, todas as alunas que completarem o programa com sucesso receberão um certificado de participação, confirmando suas novas habilidades adquiridas. Além disso, todas as participantes serão desafiadas a realizar o Desafio Data Engineer, um teste prático que avaliará seus conhecimentos e habilidades adquiridos ao longo das aulas. O desafio ocorrerá entre 14 e 23 de fevereiro de 2025. Requisitos para Participação Para ser selecionada, você precisa atender aos seguintes critérios: Identificar-se como mulher cis ou trans; Ter mais de 18 anos; Ensino Médio completo; Disponibilidade para participar de todas as aulas durante o período de 03 a 14 de fevereiro de 2025 (exceto 08 e 09 de fevereiro, que são dias de descanso); Acesso a um computador ou notebook com conexão à internet; Interesse em trabalhar no mercado de tecnologia. Por que Participar? Este bootcamp é uma excelente oportunidade para mulheres que buscam entrar no mercado de tecnologia, especialmente em um campo de alta demanda como a engenharia de dados. Ao final do programa, as participantes estarão preparadas para enfrentar os desafios do mercado e poderão se destacar em processos seletivos de grandes empresas. Além disso, o bootcamp proporciona um ambiente de aprendizado colaborativo, onde as alunas terão a oportunidade de interagir com outras mulheres que compartilham os mesmos interesses, criando uma rede de apoio importante para o futuro profissional de cada uma. Como Se Inscrever? A inscrição para o DataEX Bootcamp Data Women Engineers 2025 pode ser feita diretamente na página oficial do programa: DataEX Bootcamp. Lembre-se de que as inscrições vão até o dia 31 de dezembro de 2024 e as vagas são limitadas, então não perca tempo! Dúvidas? Se você tem alguma dúvida ou precisa de mais informações, não hesite em entrar em contato com a equipe organizadora através do e-mail treinamentos@dataex.com.br. A equipe estará disponível para esclarecer todas as suas perguntas.6KViews1like3CommentsCurso de introdução a Inteligência Artificial com a Certificação AI-900
A inteligência artificial (IA) está transformando o mundo em que vivemos, criando novas oportunidades e redefinindo o futuro do trabalho. Se você está curioso sobre como essa tecnologia funciona ou deseja explorar uma carreira na área, o curso online e gratuito AI-900 – Fundamentos de IA no Azure é o ponto de partida ideal! A inteligência artificial não é mais uma tecnologia do futuro; ela já faz parte do presente e está moldando o mundo em que vivemos. Dominar seus fundamentos não apenas amplia suas habilidades profissionais, mas também abre portas para novas oportunidades em áreas como análise de dados, desenvolvimento de software, automação e muito mais. Por que começar com o AI-900? O curso foi projetado para oferecer uma introdução prática e acessível ao universo da IA, ideal para quem deseja entender os conceitos fundamentais e começar a aplicar a tecnologia no dia a dia. Com 16 videoaulas curtas, você pode aprender no seu próprio ritmo, aproveitando conteúdos desenvolvidos por especialistas que compreendem as demandas do mercado atual. O que você vai aprender? 📚 Fundamentos de Inteligência Artificial Descubra o que é IA, suas aplicações no mundo real e os conceitos básicos que sustentam essa tecnologia revolucionária. 🌐 Serviços de IA no Azure Explore as ferramentas e os serviços oferecidos pela Microsoft Azure para implementar soluções inteligentes, desde o reconhecimento de imagens até a análise de texto. 🤖 Aplicações práticas de IA Aprenda como a IA pode ser aplicada a problemas do mundo real, ajudando a melhorar processos, criar experiências inovadoras e resolver desafios complexos. Como começar? 🎥 Confira a playlist completa com as aulas da trilha AI-900: Link para as aulas 💡 Dedique-se ao aprendizado e prepare-se para transformar sua carreira com a inteligência artificial! Quer aprofundar seus conhecimentos? Inscreva-se na #SprintAI900! Após completar o curso, você estará preparado para dar o próximo passo: conquistar a certificação oficial AI-900 da Microsoft. Essa certificação é um diferencial importante para quem busca se destacar no mercado de tecnologia, seja na entrada em novas oportunidades ou no fortalecimento da carreira atual. Após dominar os fundamentos com o curso introdutório, você estará preparado para avançar ao próximo nível. Pensando nisso, desenvolvemos um curso preparatório abrangente, que combina conceitos detalhados, exercícios práticos e simulações da prova de certificação em cada capítulo, garantindo uma preparação sólida e direcionada. Confira aqui: Curso AI-900 com simulado de exame. Junte-se a nós nesta jornada! Se você está pronto para explorar o universo da IA, não há melhor momento para começar do que agora. Acesse o curso, absorva o conhecimento e prepare-se para um futuro repleto de oportunidades. Vamos juntos nessa jornada rumo ao conhecimento e à inovação!1.2KViews0likes0CommentsFinOps para AKS (Serviços Kubernetes do Azure): Um Guia para Otimização de Custos
Este é o terceiro artigo da serie FinOps. Você pode acessar os artigos anteriores pelo links: (1) FinOps é SÓ o primeiro passo ... que venha DevSecFinOps (2) Democratizando FinOps com FOCUS No cenário em constante evolução da computação em nuvem, gerenciar custos de forma eficaz enquanto se mantém o desempenho ideal é um desafio que muitas organizações enfrentam. Os Serviços Kubernetes do Azure (AKS) oferecem uma plataforma poderosa para orquestração de contêineres, mas sem práticas adequadas de operações financeiras (FinOps), os custos podem rapidamente sair de controle. Aqui estão algumas recomendacoes para implementar FinOps no AKS para garantir crescimento sustentável e otimização de custos.604Views1like0CommentsEste Mês no Azure Static Web Apps | 09/2024
Ficou curioso para saber os melhores insights sobre Azure Static Web Apps em setembro de 2024? Reunimos os mais interessantes conteúdos da comunidade técnica aqui! Contribua também e veja seu trabalho nos destaques do mês seguinte! 🚀1.1KViews0likes0CommentsCurso Gratuito de IA Generativa com JavaScript - Domine a Criação de Aplicações Inteligentes!
Você quer aprender a criar aplicações inteligentes com IA usando JavaScript? Este curso gratuito é o ponto de partida perfeito para dominar conceitos de IA Generativa, Prompt Engineering, RAG e muito mais! Inscreva-se e comece agora.1.8KViews0likes0Comments