<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[bohr.io]]></title><description><![CDATA[Serverless Deployment Platform]]></description><link>https://blog.bohr.io</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1650291077259/RdRjxh436.png</url><title>bohr.io</title><link>https://blog.bohr.io</link></image><generator>RSS for Node</generator><lastBuildDate>Fri, 10 Apr 2026 17:05:31 GMT</lastBuildDate><atom:link href="https://blog.bohr.io/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Saastr Annual 2023: cobertura do maior evento de tecnologia em nuvem do mundo]]></title><description><![CDATA[O SaaStr Annual 2023 é uma referência no cenário da tecnologia em nuvem, destacando-se como o maior evento de sua categoria em todo o mundo. O encontro reúne anualmente mais de 12.500 executivos, fundadores e investidores do setor SaaS e cria um espa...]]></description><link>https://blog.bohr.io/saastr-annual-2023-o-maior-evento-de-tecnologia-em-nuvem-do-mundo</link><guid isPermaLink="true">https://blog.bohr.io/saastr-annual-2023-o-maior-evento-de-tecnologia-em-nuvem-do-mundo</guid><category><![CDATA[SaaS]]></category><category><![CDATA[Cloud]]></category><category><![CDATA[Startups]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Tue, 19 Sep 2023 14:29:40 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1695133030428/f6dfe38e-6c75-49ae-ae5b-71d487cc83f0.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>O <a target="_blank" href="https://www.saastrannual2023.com/">SaaStr Annual 2023</a> é uma referência no cenário da tecnologia em nuvem, destacando-se como o maior evento de sua categoria em todo o mundo. O encontro reúne anualmente mais de 12.500 executivos, fundadores e investidores do setor SaaS e cria um espaço único para compartilhar conhecimento, insights e tendências que estão moldando o futuro da tecnologia.</p>
<p>Para a comunidade SaaS, o SaaStr Annual é um ponto de convergência onde os líderes e visionários se reúnem para explorar as fronteiras do possível. </p>
<p>👀 O que rola no SaaStr é do total interesse da <a target="_blank" href="http://bohr.io">bohr.io</a>, por sermos uma startup SaaS no cenário de infraestrutura em nuvem, 100% focada na experiência do desenvolvedor. </p>
<p>Neste artigo, vamos mergulhar nas observações de Lucas Abreu, da <a target="_blank" href="https://substack.com/@abreu">Abreu Newsletter</a> (espaço com conteúdos autorais sobre startups, venture capital e tecnologia no ecossistema LatAm), a partir do seu artigo <a target="_blank" href="https://abreu.substack.com/p/insights-do-saastr">Insights do SaaStr</a>. </p>
<p>Boa leitura!</p>
<h2 id="heading-o-clima-otimista-pe-no-chao-do-saastr-2023"><strong>O clima ‘otimista pé-no-chão’ do SaaStr 2023</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1695133112829/5ca550ec-ab64-4120-9a12-b9c754adbd1d.gif" alt class="image--center mx-auto" /></p>
<p>Segundo Lucas Abreu, pairava no ar um sentimento de ‘otimismo cauteloso’ no evento, o que não tinha nada a ver com o acaso: era uma resposta direta ao que se vivenciou nos últimos tempos no universo da tecnologia.</p>
<h3 id="heading-a-busca-pela-eficiencia"><strong>A busca pela eficiência</strong></h3>
<p>Um dos temas centrais do SaaStr Annual 2023 foi a <strong>busca pela eficiência</strong> nas empresas de software. </p>
<p>Durante os últimos 18 meses, o setor foi criticado por gastar muito sem entregar resultados financeiros correspondentes. </p>
<p>Assim, os CEOs e fundadores dessas empresas tomaram medidas decisivas para remodelar suas estratégias, focando na impulsão da eficiência e da lucratividade. E os números refletem esse esforço: segundo a <a target="_blank" href="https://cloudedjudgement.substack.com/p/clouded-judgement-9123-are-software">Clouded Judgment</a>, as empresas de software listadas nos Estados Unidos registraram uma média de geração de caixa de 12% - o dobro da média histórica de 6%.</p>
<p>Lucas Abreu cita o caso inspirador da Monday, uma empresa de gerenciamento de projetos que protagonizou uma reviravolta impressionante em apenas cinco trimestres. Eran Zinman, fundador e CEO, destacou que o foco desde o início da empresa na eficiência permitiu que eles se tornassem lucrativos em um ambiente desafiador. </p>
<p>O SaaStr 2023 enfatizou que exemplos como o da Monday importam. A demonstração de que líderes de mercado - sejam empresas públicas ou privadas, com maturidade de receita - conseguem remodelar seus negócios, gerando lucratividade, injeta uma onda de otimismo que percorre toda a cadeia da indústria de tecnologia em nuvem.</p>
<h2 id="heading-a-resiliencia-do-saas"><strong>A resiliência do SaaS</strong></h2>
<p>De acordo com a Gartner, o crescimento global do mercado de software em 2022 atingiu a notável marca de 18%, mesmo em meio a uma redução de gastos em muitas empresas. </p>
<p>Isso ilustra a adaptabilidade do modelo de negócios SaaS, que provou ser resistente às turbulências econômicas.</p>
<p>Outro indicador sólido da resiliência do SaaS é a análise do financiamento de empresas em estágios iniciais. Apesar da redução no volume de investimentos, os <em>valuations</em> das rodadas "seed" permanecem consistentes com os níveis de 2021 nos Estados Unidos. </p>
<blockquote>
<p><strong><em>Isso sinaliza uma confiança contínua e robusta nas empresas de tecnologia, destacando que o capital para a inovação continua fluindo.</em></strong></p>
</blockquote>
<p>Lucas Abreu presenciou a notícia de três IPOs importantes de empresas de tecnologia: <strong>Instacart</strong>, <strong>Arm</strong> e <strong>Klaviyo</strong>, o que evidenciou o apetite dos investidores públicos por ativos de software de alta qualidade. </p>
<p>💡<em>Os IPOs fornecem uma validação sólida para o mercado de SaaS, mostrando que empresas maduras e inovadoras continuam a atrair capital significativo e confiança do mercado.</em></p>
<h2 id="heading-empolgacao-com-a-inteligencia-artificial"><strong>Empolgação com a inteligência artificial</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1695133190389/1bba47c4-3e72-4515-92e7-b40e9ee3f76b.gif" alt class="image--center mx-auto" /></p>
<p>Segundo Lucas Abreu, líderes de mercado proeminentes foram unânimes em destacar a importância da IA como uma força transformadora. </p>
<p>🤖 David Sacks, fundador da Craft Ventures, que administra um fundo de US$3 bilhões, revelou que dedicou 80% do tempo de sua busca por novos negócios especificamente a startups de inteligência artificial. </p>
<p>🤖 Mark Roberge, o fundador da Stage 2 Capital, comparou o impacto da inteligência artificial ao revolucionário advento da internet. Segundo Roberge, estamos prestes a testemunhar, em um horizonte de ~5 anos, uma transição em que produtos de IA assumirão a responsabilidade de tarefas centrais em uma ampla gama de setores. </p>
<p>💡 <em>O SaaStr 2023 deixou claro que, para os empreendedores, startups e empresas, a IA não é apenas uma tendência a ser observada, mas uma oportunidade a ser abraçada. Ela está se tornando uma força motriz em todas as vertentes da tecnologia, e aqueles que a incorporam de maneira inteligente e estratégica estão posicionados para liderar a próxima onda de inovação.</em></p>
<h2 id="heading-principais-desafios-para-startups-e-empresas-em-crescimento"><strong>Principais desafios para startups e empresas em crescimento</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1695133254025/16cd96a3-98aa-49c6-ae20-d6a384434009.gif" alt class="image--center mx-auto" /></p>
<p>Uma das estatísticas preocupantes que surgiram no evento foi o <strong>índice de mortalidade das startups</strong>, que atingiu o seu nível mais alto desde a crise de 2008. </p>
<p>A turbulência econômica e as pressões competitivas têm deixado um rastro de empresas que não conseguiram se sustentar. </p>
<p>Além disso, o fenômeno dos <em>down-rounds</em>, em que as startups levantam fundos sob <em>valuations</em> menores do que em rodadas anteriores, também se tornou uma realidade em muitos casos. </p>
<h3 id="heading-fazer-mais-com-menos-dinheiro"><strong>Fazer mais com menos dinheiro</strong></h3>
<blockquote>
<p><strong><em>O SaaStr 2023 deixou um recado claro: cada recurso, cada real gasto precisa gerar mais vendas, produzir mais software e atender mais clientes.</em></strong> </p>
</blockquote>
<p>Segundo Lucas Abreu, as exigências aumentaram, tanto para atender às expectativas dos clientes por produtos de alta qualidade quanto para as demandas dos investidores por métricas sólidas e crescimento sustentável.</p>
<p>A realidade é que a estrada para o sucesso se estreitou. As empresas que não conseguem atender a essas métricas e não têm um modelo de negócios sustentável enfrentam um cenário desafiador. </p>
<h3 id="heading-os-dois-tipos-de-empresas"><strong>Os dois tipos de empresas</strong></h3>
<p>O SaaStr 2023 enfatizou que, atualmente, existem dois tipos de empresas: </p>
<p>💪 <strong><em>Default profitables</em>:</strong> apresentam métricas sólidas e não precisam levantar mais rodadas de investimento imediatamente.</p>
<p>🔎 <strong><em>Default investables</em></strong>: estão constantemente buscando financiamento para manter sua sobrevivência. </p>
<p>As empresas que não conseguem atender a essas métricas e não têm um modelo sustentável serão deixadas para trás.</p>
<p>Por outro lado, o SaaStr Annual 2023 transmitiu a mensagem de que, apesar dos desafios, a indústria de software está se preparando para enfrentar esses novos obstáculos com eficiência e realismo, ao mesmo tempo em que continua impulsionada por inovações e tendências de longo prazo.</p>
<h2 id="heading-principais-insights-do-saastr-2023-segundo-lucas-abreu"><strong>Principais insights do SaaStr 2023, segundo Lucas Abreu</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1695133313381/ea11fa2f-2781-4a5e-b694-fcfeb64cdaff.gif" alt class="image--center mx-auto" /></p>
<ul>
<li><strong>Stack completo do produto:</strong> em algumas situações, ter controle total sobre o produto pode ser a chave para torná-lo verdadeiramente excepcional.</li>
</ul>
<ul>
<li><p><strong>Fusão de categorias:</strong> a tendência de empresas buscando se tornar multiprodutos e oferecer soluções mais completas ilustra a competição intensa e a busca pela diferenciação em um mercado saturado.</p>
</li>
<li><p><strong>CAC Payback:</strong> identificado como uma ‘métrica mágica’, capaz de fornecer insights valiosos sobre o custo de vendas, margens brutas e ciclo de caixa.</p>
</li>
<li><p><strong>Mercado bottoms-up:</strong> a abordagem de cálculo do tamanho de mercado bottoms-up, que considera quantos clientes estariam dispostos a comprar uma solução e o potencial de receita disponível, foi destacada como uma estratégia eficaz para apresentar o valor de um negócio.</p>
</li>
<li><p><strong>Produtos-como-startups:</strong> a percepção de que novos produtos dentro de uma empresa devem ser tratados como startups separadas - com isolamento operacional, clareza de propriedade, prazos diferentes e liberdade - reconhece a necessidade de permitir a inovação dentro das organizações.</p>
</li>
<li><p><strong>Reciclagem de capital:</strong> apontada como um dos maiores truques do empreendedorismo. A capacidade de reinvestir rapidamente o capital levantado, usando o dinheiro dos clientes, foi destacada como uma forma eficaz de alavancagem financeira.</p>
</li>
<li><p><strong>Vertical SaaS:</strong> empresas de Vertical SaaS, que atendem nichos específicos, foram consideradas menos propensas a triplicar a cada ano, mas mais resilientes devido à barreira de saída elevada após a adoção do produto.</p>
</li>
</ul>
<h2 id="heading-mais-conteudos-sobre-o-saastr-annual-2023"><strong>Mais conteúdos sobre o SaaStr Annual 2023</strong></h2>
<p>🔎 Guta Tolmasquim, CEO da Purple Metrics, fez uma cobertura super completa sobre os painéis e apresentações do evento, apontando os principais insights obtidos em cada um. Acesse o <em>2023 SaaStr Notes</em> <a target="_blank" href="https://purplemetrics.notion.site/2023-SaaStr-Notes-Guta-8dd280fb39f34d29841ae1de2966980f">aqui</a>.</p>
<p>🔎 O perfil do <a target="_blank" href="https://www.linkedin.com/company/saasholic/posts/?feed">SaaSholic</a> do LinkedIn cobriu o evento na forma de posts.</p>
]]></content:encoded></item><item><title><![CDATA[O Poder dos Design Partners: Como Escolher os Parceiros Certos para o Sucesso da sua Startup]]></title><description><![CDATA[No acelerado mundo das startups, cada passo dado é vital para o sucesso futuro. Desde o momento em que uma ideia surge até o lançamento de um produto no mercado, a jornada é repleta de desafios. 
Uma peça fundamental nesse quebra-cabeça é a escolha d...]]></description><link>https://blog.bohr.io/o-poder-dos-design-partners-como-escolher-os-parceiros-certos-para-o-sucesso-da-sua-startup</link><guid isPermaLink="true">https://blog.bohr.io/o-poder-dos-design-partners-como-escolher-os-parceiros-certos-para-o-sucesso-da-sua-startup</guid><category><![CDATA[Startups]]></category><category><![CDATA[design partners]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Fri, 15 Sep 2023 19:23:41 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1694806499642/462d42c9-78dd-42b6-ad37-9bf3f4174552.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>No acelerado mundo das startups, cada passo dado é vital para o sucesso futuro. Desde o momento em que uma ideia surge até o lançamento de um produto no mercado, a jornada é repleta de desafios. </p>
<p>Uma peça fundamental nesse quebra-cabeça é a escolha dos parceiros certos, e entre eles, os <strong><em>design partners</em></strong> desempenham um papel crucial.</p>
<p>💭 Imagine que sua startup seja um foguete prestes a ser lançado ao espaço. Os <em>design partners</em> são os engenheiros que garantirão que todos os sistemas funcionem perfeitamente. Eles são os primeiros a testar sua criação, a avaliar a eficácia das peças e a fornecer feedback crítico. Esses são os pioneiros que explorarão o terreno desconhecido e ajudarão a nave a navegar com segurança.</p>
<blockquote>
<p><strong><em>O que torna os design partners tão essenciais é a sua capacidade de oferecer insights valiosos e experiência prática, pois eles representam uma visão externa e imparcial. São, em essência, os primeiros clientes da sua startup.</em></strong> </p>
</blockquote>
<p>No entanto, diferentemente de clientes comuns, eles não apenas usam seu produto; eles ajudam a moldá-lo, aperfeiçoá-lo e prepará-lo para o mercado.</p>
<p>💡 A escolha criteriosa dos design partners pode fazer toda a diferença entre uma trajetória de sucesso e um tropeço prematuro. É a diferença entre decolar rumo às estrelas ou permanecer preso na gravidade do mercado.</p>
<p>Neste artigo, exploraremos a <strong>importância dos <em>design partners</em> e como eles podem ser a chave para o sucesso de uma empresa em estágio inicial</strong>. Vamos mergulhar fundo nesse universo onde a colaboração estratégica é fundamental, e onde a parceria certa pode ser o diferencial entre o sucesso e o fracasso.</p>
<h2 id="heading-o-que-sao-design-partners"><strong>O que são <em>design partners</em>?</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694802312433/0af18641-a084-4008-80ba-d1b8d7b52132.gif" alt class="image--center mx-auto" /></p>
<p><em>Design partners</em>, ou ‘parceiros de design’, são o núcleo de confiança que toda startup precisa ao iniciar sua jornada. Eles são indivíduos ou empresas que desempenham um papel essencial como testadores confiáveis de produtos e soluções em desenvolvimento.</p>
<p>💭 Imagine que você está criando um novo aplicativo ou serviço que revolucionará a maneira como as pessoas resolvem um problema específico. </p>
<p>Os <em>design partners</em> são as pessoas que experimentam essa inovação em primeira mão, antes mesmo de ser lançada no mercado. Eles são escolhidos estrategicamente para representar um público-alvo relevante ou um setor específico.</p>
<blockquote>
<p><strong><em>Aqui está o segredo: os design partners não são simplesmente "usuários beta" comuns. Eles vão além de apenas usar o produto; eles se tornam colaboradores ativos no processo de desenvolvimento. A relação entre uma startup e seus design partners é uma parceria simbiótica.</em></strong></p>
</blockquote>
<p>A razão pela qual os <em>design partners</em> são tão vitais é que eles proporcionam feedback de qualidade sobre a experiência do produto. Eles não apenas relatam problemas ou bugs; eles avaliam a usabilidade, a eficácia e a adequação do produto às necessidades do mercado. São suas opiniões e insights que ajudam a moldar o produto final.</p>
<p>Ter acesso a feedback de qualidade é como ajustar o foco de uma câmera para obter a imagem perfeita. Os <em>design partners</em> desempenham o papel de ajustadores precisos, garantindo que o produto atenda às expectativas dos usuários finais. Eles testam, avaliam, sugerem melhorias e, assim, contribuem para a criação de um produto de alta qualidade que está mais bem preparado para enfrentar a concorrência no mercado.</p>
<p>Em resumo, os <em>design partners</em> são os primeiros defensores da sua startup, e sua parceria é uma das chaves para o sucesso. Eles oferecem a você a oportunidade de refinar e aprimorar sua ideia, garantindo que ela seja recebida com entusiasmo quando chegar às mãos do público em geral. Eles são a voz da experiência que molda o futuro do seu produto e, em última análise, o destino da sua startup.</p>
<h2 id="heading-selecionando-os-design-partners-certos"><strong>Selecionando os <em>design partners</em> certos</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694803037779/d2a2ada1-b640-4507-b014-4b10bbe1da6d.gif" alt class="image--center mx-auto" /></p>
<p>A escolha dos parceiros de design certos é um dos momentos mais críticos na jornada de uma startup. Essa decisão pode ter um impacto significativo na trajetória da empresa e na sua capacidade de sucesso a longo prazo. </p>
<p>🔎 Vamos explorar como a seleção criteriosa dos <em>design partners</em> é um fator determinante para o sucesso de uma empresa em estágio inicial.</p>
<blockquote>
<p><strong><em>Fundamentalmente, a maioria dos fundadores de startups começa com cerca de 80% do que eles acreditam ser o produto certo. Eles têm uma visão clara do problema que desejam resolver e uma ideia sólida de como resolver esse problema. No entanto, essa visão inicial é apenas o ponto de partida. Aperfeiçoar e refinar o produto até que ele atinja o ponto ideal exige colaboração e feedback prático dos clientes. É aí que os design partners entram em cena.</em></strong></p>
</blockquote>
<p>Os <em>design partners</em> são os primeiros a testar o produto em desenvolvimento, e suas opiniões são inestimáveis, pois eles preenchem as lacunas entre a visão original do fundador e a realidade prática do mercado.</p>
<p>O processo de desenvolvimento de um produto de sucesso não é linear; é uma <strong>jornada de iteração contínua</strong>. À medida que os <em>design partners</em> experimentam e interagem com o produto, eles fornecem feedback valioso que alimenta esse processo iterativo. Cada rodada de feedback ajuda a ajustar o produto, tornando-o mais alinhado com as necessidades reais dos usuários finais.</p>
<p>🎯 O feedback prático dos clientes é o verdadeiro motor do progresso. Ele fornece insights valiosos que não podem ser obtidos de outra forma. É fácil para os fundadores se apaixonarem por suas próprias ideias e perder de vista a realidade do mercado. Os parceiros de design atuam como um lembrete constante de que o sucesso de um produto depende de como ele é recebido pelo público-alvo.</p>
<p>Em resumo, a escolha dos <em>design partners</em> certos e a capacidade de iterar com base em seu feedback são elementos cruciais para o sucesso de uma startup em sua jornada rumo à conquista do mercado.</p>
<h2 id="heading-por-que-trabalhar-com-inovadores-e-early-adopters"><strong>Por que trabalhar com inovadores e <em>early adopters</em>?</strong></h2>
<p>A escolha dos <em>design partners</em> certos não é apenas sobre encontrar pessoas dispostas a testar seu produto, mas também sobre selecionar aquelas que podem realmente impulsionar seu crescimento e sucesso. </p>
<p>🔎 Nesta seção, exploraremos por que é crucial colaborar com <strong>inovadores</strong> e <strong><em>early adopters</em></strong>, mesmo que a maioria dos clientes ainda não esteja lá, e alertaremos contra a armadilha de trabalhar apenas com <em>design partners</em> que representam o mercado atual.</p>
<p>💭 Imagine a jornada de adoção de um novo produto ou tecnologia como uma curva de sino, em que os consumidores são distribuídos ao longo do tempo em uma ampla gama de perfis de adoção. </p>
<p>No início dessa curva, encontramos os inovadores e <em>early adopters</em>, um grupo de pessoas que está disposto a experimentar novas soluções, mesmo que elas não tenham sido amplamente testadas ou adotadas pelo mercado em geral. Eles são conhecidos por sua disposição de correr riscos e adotar inovações antes da maioria.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694801709881/e27fcb74-ec07-46b2-9ad3-b50b24ee1fd2.png" alt class="image--center mx-auto" /></p>
<p><em>Imagem: The Power Business School</em></p>
<p>Agora, considere o valor estratégico de trabalhar com esses inovadores e <em>early adopters</em> como seus <em>design partners</em>. Eles representam uma parte crítica do mercado que está anos à frente do público em massa em termos de disposição para adotar novas soluções. </p>
<p>Trabalhar com eles oferece várias vantagens:</p>
<ul>
<li><p><strong>Feedback qualificado:</strong> inovadores e <em>early adopters</em> têm uma compreensão profunda das tendências e necessidades do mercado. Seu feedback é altamente qualificado e pode ajudar a moldar o produto de maneira significativa.</p>
</li>
<li><p><strong>Velocidade de inovação:</strong> ao colaborar com esses pioneiros, você acelera o ritmo de inovação. Eles estão ansiosos para experimentar as últimas funcionalidades e dispostos a se envolver ativamente no processo de desenvolvimento.</p>
</li>
<li><p><strong><em>Social Proof</em> (prova social):</strong> trabalhar com inovadores e <em>early adopters</em> oferece uma validação poderosa para seu produto. Quando outros veem que essas empresas estão usando e beneficiando-se dele, é mais provável que se sintam inclinados a seguir o exemplo.</p>
</li>
<li><p><strong>Antecipação de necessidades futuras:</strong> inovadores e <em>early adopters</em> tendem a ser visionários que antecipam as necessidades do mercado antes que a maioria perceba. Trabalhar com eles permite que você esteja à frente da curva e ofereça soluções que atendam às demandas futuras.</p>
</li>
</ul>
<p>Agora, vamos alertar contra uma armadilha comum:</p>
<blockquote>
<p>⚠️ <strong><em>Trabalhar apenas com design partners que representam a maioria atual do mercado pode ser tentador, pois esses parceiros podem trazer receita imediata, mas há riscos significativos nessa abordagem.</em></strong></p>
</blockquote>
<p>Entenda porquê.</p>
<p>💡 A maioria do mercado muitas vezes está atrasada em relação às tendências. Se você se concentra apenas nesse grupo, pode acabar desenvolvendo um produto que atende às necessidades do presente, mas que não está preparado para as demandas futuras. É como olhar para trás enquanto tenta correr à frente do pelotão.</p>
<p>Além disso, a maioria do mercado pode ser mais resistente a mudanças e menos disposta a adotar inovações rapidamente. Trabalhar apenas com esse segmento pode limitar seu potencial de crescimento a longo prazo.</p>
<p>Em última análise, a chave para o sucesso é encontrar um equilíbrio. </p>
<p>Trabalhar com inovadores e <em>early adopters</em> pode proporcionar uma vantagem competitiva significativa e prepará-lo para o futuro. No entanto, não negligencie completamente a maioria do mercado, pois ela ainda representa uma fonte valiosa de receita. </p>
<p>A estratégia ideal envolve atender às necessidades imediatas da maioria enquanto se posiciona para atender às demandas futuras com a orientação valiosa de seus <em>design partners</em> pioneiros.</p>
<h2 id="heading-caracteristicas-dos-design-partners-adequados"><strong>Características dos <em>design partners</em> adequados</strong></h2>
<p>Agora que entendemos a importância de trabalhar com parceiros de design que representam o mercado futuro e evitamos a armadilha de focar apenas na maioria atual do mercado, é hora de explorar as características ideais dos <em>design partners.</em> </p>
<p>Isso inclui o <strong>tamanho da empresa, o crescimento anual</strong> e a <strong>atitude em relação à inovação</strong>. </p>
<p>Também categorizaremos os <em>design partners</em> em três grupos distintos, de acordo com a <a target="_blank" href="https://www.unusual.vc/articles/what-are-design-partners">Unusual</a>: <strong>Líderes</strong>, <strong>Desafiantes</strong> e <strong>Startups</strong>, destacando as características exclusivas de cada um.</p>
<h3 id="heading-1-lideres-receita-anual-andgt-dollar250m-arr"><strong>1. Líderes (receita anual &gt; $250M ARR)</strong></h3>
<ul>
<li><p><strong>Posição de liderança:</strong> empresas líderes são exatamente isso - líderes em suas respectivas indústrias. Elas estão no topo do mercado e têm a responsabilidade de manter essa posição. Isso muitas vezes as torna cautelosas em relação a novas tecnologias, pois o foco principal é proteger sua posição de liderança.</p>
</li>
<li><p><strong>Inércia empresarial:</strong> a inércia é um fator significativo em empresas líderes. Os funcionários são frequentemente recompensados por manter o status quo e evitar riscos desnecessários.</p>
</li>
</ul>
<h3 id="heading-2-desafiantes-receita-anual-entre-dollar20m-e-dollar250m-arr"><strong>2. Desafiantes (receita anual entre $20M e $250M ARR)</strong></h3>
<ul>
<li><p><strong>Crescimento rápido:</strong> empresas desafiantes são novos entrantes bem-sucedidos em mercados existentes ou líderes em novos mercados. Seu crescimento é rápido e exige que tomem medidas ousadas para superar os líderes estabelecidos.</p>
</li>
<li><p><strong>Cultura de inovação:</strong> os desafiantes têm uma cultura que valoriza a inovação. Eles estão dispostos a experimentar novos produtos e tecnologias porque precisam ser ousados para vencer os líderes.</p>
</li>
</ul>
<h3 id="heading-3-startups-receita-anual-andlt-dollar20m"><strong>3. Startups (receita anual &lt; $20M)</strong></h3>
<ul>
<li><p><strong>Foco em crescimento:</strong> startups estão em um estágio inicial de crescimento e constantemente se adaptando para encontrar a fórmula certa para crescer de forma consistente. Suas prioridades podem mudar rapidamente.</p>
</li>
<li><p><strong>Energia e agilidade:</strong> startups são conhecidas por sua energia e agilidade. Elas estão dispostas a abraçar novas ideias, mas podem ser interrompidas por prioridades em constante mudança.</p>
</li>
</ul>
<p>🤔 Agora, por que essas características importam? </p>
<p>A resposta está na <strong>atitude em relação à inovação e à disposição de adotar novas tecnologias</strong>. </p>
<blockquote>
<p><strong><em>Empresas líderes podem ser relutantes em experimentar soluções não comprovadas, enquanto desafiantes e startups estão mais dispostos a correr riscos e buscar soluções inovadoras. É por isso que muitas vezes os desafiantes são considerados os parceiros ideais para design, pois eles têm uma atitude de busca por novas tecnologias que combina bem com o estágio de desenvolvimento de produtos de startups.</em></strong></p>
</blockquote>
<p>Além disso, o tamanho da empresa e o crescimento anual também desempenham um papel importante. Empresas com maior flexibilidade orçamentária, como desafiantes, tendem a ter mais espaço para experimentação e inovação. Startups, embora ágeis, podem estar lidando com restrições orçamentárias e podem não ser a melhor escolha para todos os tipos de colaboração.</p>
<p>Portanto, ao escolher seus <em>design partners</em>, leve em consideração as características que melhor se alinham com suas metas de inovação e crescimento. A parceria certa pode acelerar seu desenvolvimento de produtos e ajudá-lo a alcançar o sucesso no mercado.</p>
<h2 id="heading-margens-elevadas-e-risco"><strong>Margens elevadas e risco</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694802837892/bdd171d9-a38a-4c67-821f-d426d2bfce35.gif" alt class="image--center mx-auto" /></p>
<p>Outro fator crucial ao escolher os <em>design partners</em> certos é considerar as <strong>margens de lucro das empresas</strong>. </p>
<p>Empresas com margens elevadas têm uma vantagem significativa quando se trata de assumir riscos e experimentar novas tecnologias. </p>
<p>🔎 Vamos explorar por que essas margens elevadas são um indicador importante e como elas impactam a disposição de uma empresa para inovar.</p>
<h3 id="heading-por-que-margens-elevadas-importam"><strong>Por que margens elevadas importam?</strong></h3>
<p>💡 Empresas com margens elevadas geralmente operam em setores onde a diferença entre o custo de produção e o preço de venda é substancial. Isso significa que essas empresas têm mais flexibilidade financeira para investir em pesquisa, desenvolvimento e experimentação. </p>
<p>Aqui estão algumas razões pelas quais as margens elevadas são cruciais:</p>
<ul>
<li><p><strong>Orçamento para experimentação:</strong> empresas com margens elevadas têm mais recursos disponíveis para experimentar com novas tecnologias e produtos. Elas podem alocar orçamento para projetos de pesquisa e desenvolvimento sem sacrificar sua estabilidade financeira.</p>
</li>
<li><p><strong>Menos risco financeiro:</strong> como essas empresas têm margens maiores, estão menos expostas a riscos financeiros. Isso significa que podem se dar ao luxo de assumir riscos calculados e explorar oportunidades de inovação.</p>
</li>
<li><p><strong>Competitividade sustentável:</strong> investir em inovação pode levar a produtos e serviços melhores, tornando a empresa mais competitiva a longo prazo. Isso é especialmente importante em setores onde a concorrência é acirrada.</p>
</li>
</ul>
<h3 id="heading-alinhando-se-com-parceiros-com-orcamento-para-experimentacao"><strong>Alinhando-se com parceiros com orçamento para experimentação</strong></h3>
<p>Quando se trata de <em>design partners</em>, é fundamental escolher empresas que tenham orçamento para experimentação. Parceiros com margens elevadas estão mais dispostos a investir tempo, esforço e recursos em colaborações de pesquisa e desenvolvimento. Eles estão preparados para assumir riscos e têm menos preocupações financeiras imediatas.</p>
<p>Trabalhar com design partners que possuem margens elevadas pode acelerar o processo de desenvolvimento de produtos. Eles têm a capacidade de investir em novas ideias e tecnologias, o que pode resultar em avanços significativos. Além disso, esses parceiros estão mais propensos a valorizar a inovação e reconhecer o valor de colaborar com startups e empresas em estágio inicial.</p>
<p>No entanto, vale ressaltar que, embora as empresas com margens elevadas tenham a vantagem financeira, isso não significa automaticamente que são os parceiros ideais em todos os casos. A <strong>afinidade cultural</strong>, a <strong>disposição para colaborar</strong> e a <strong>visão compartilhada</strong> também desempenham um papel importante na escolha dos <em>design partners</em> certos.</p>
<p>💡 Portanto, ao buscar parceiros de design, leve em consideração não apenas o tamanho de suas margens de lucro, mas também sua disposição para abraçar a inovação e experimentar. A combinação certa de recursos financeiros e mentalidade orientada para a inovação pode resultar em uma parceria frutífera que beneficia ambas as partes.</p>
<h2 id="heading-coleta-de-feedback-e-iteracao-continua"><strong>Coleta de feedback e iteração contínua</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1694805427636/07b71d2a-6ae3-443a-898a-371602a4f797.gif" alt class="image--center mx-auto" /></p>
<p>A colaboração com <em>design partners</em> não termina na seleção dos parceiros certos e no alinhamento com empresas com margens elevadas. Na verdade, essa é apenas a primeira etapa de um processo contínuo e colaborativo que desempenha um papel fundamental no sucesso de uma startup. </p>
<p>🔎 Agora, vamos explorar por que a coleta de <strong>feedback regular</strong> e a <strong>iteração contínua</strong> são elementos essenciais dessa jornada.</p>
<h3 id="heading-recebendo-feedback-de-qualidade"><strong>Recebendo feedback de qualidade</strong></h3>
<p>Quando você se envolve com design partners, está buscando mais do que uma simples validação de sua ideia. Você está procurando feedback valioso e prático que o ajude a melhorar seu produto ou serviço. Afinal, seus <em>design partners</em> são como testadores de confiança que podem identificar lacunas e pontos fracos em sua oferta.</p>
<p>Para receber feedback de qualidade, é importante <strong>estabelecer canais eficazes de comunicação com seus parceiros de design</strong>. Isso pode incluir reuniões regulares, canais de mensagens instantâneas, formulários de feedback ou qualquer método que funcione para ambas as partes. </p>
<p>O objetivo é criar um ambiente onde os <em>design partners</em> se sintam à vontade para compartilhar suas opiniões de forma honesta e construtiva.</p>
<h3 id="heading-iteracao-continua-e-a-chave"><strong>Iteração contínua é a chave</strong></h3>
<p>Uma vez que você tenha coletado feedback valioso, a próxima etapa crucial é a <strong>iteração contínua</strong>. Isso significa que você deve usar as informações recebidas para aprimorar seu produto ou serviço de forma consistente. </p>
<p>A iteração contínua é fundamental por várias razões:</p>
<ul>
<li><p><strong>Melhoria constante:</strong> à medida que você incorpora feedback e faz ajustes em seu produto, ele se torna cada vez mais alinhado com as necessidades e expectativas dos clientes. Isso resulta em uma oferta de maior qualidade.</p>
</li>
<li><p><strong>Resolução de problemas:</strong> o feedback dos <em>design partners</em> pode identificar problemas ou desafios que talvez você não tenha percebido. A iteração contínua permite que você resolva esses problemas de maneira eficaz.</p>
</li>
<li><p><strong>Inovação:</strong> às vezes, o feedback pode levar a insights inovadores que impulsionam o desenvolvimento do produto em direções que você não tinha previsto inicialmente.</p>
</li>
<li><p><strong>Fidelização de clientes:</strong> quando os <em>design partners</em> veem que suas opiniões são valorizadas e que suas sugestões levam a melhorias reais, eles tendem a se tornar clientes leais e defensores de sua marca.</p>
</li>
<li><p><strong>Competitividade:</strong> a capacidade de iterar rapidamente em resposta ao feedback do cliente pode dar a você uma vantagem competitiva significativa.</p>
</li>
</ul>
<h3 id="heading-o-ciclo-de-feedback-e-iteracao"><strong>O ciclo de feedback e iteração</strong></h3>
<p>O ciclo de feedback e iteração é uma parte fundamental do desenvolvimento de produtos de sucesso em startups. Esse processo não apenas aprimora sua oferta, mas também ajuda a criar relacionamentos sólidos com seus <em>design partners</em>.</p>
<p>Lembre-se de que a coleta de feedback e a iteração não são atividades únicas. Elas devem ser incorporadas à cultura de sua startup como uma prática contínua. Quanto mais você se compromete com a melhoria constante e ouve ativamente seus <em>design partners</em>, mais forte será sua posição no mercado.</p>
<p>Em resumo, a colaboração com <em>design partners</em> não se trata apenas de escolher os parceiros certos, mas também de estabelecer uma comunicação eficaz, receber feedback valioso e iterar constantemente para oferecer um produto ou serviço que atenda às necessidades de seus clientes. É um processo dinâmico que pode levar sua startup ao sucesso sustentável.</p>
<h2 id="heading-conclusao-aliancas-estrategicas-para-o-sucesso-da-sua-startup"><strong>Conclusão: alianças estratégicas para o sucesso da sua startup</strong></h2>
<p>Ao longo deste artigo, exploramos em detalhes o papel fundamental dos design partners no desenvolvimento de uma startup de sucesso. </p>
<p>Aqui estão os principais pontos a serem lembrados:</p>
<ul>
<li><p><strong><em>Design partners</em> como testadores de confiança:</strong> fornecem feedback valioso sobre a experiência do produto; eles não apenas validam sua ideia, mas também ajudam a aprimorar seu produto ou serviço.</p>
</li>
<li><p><strong>Selecionando os <em>design partners</em> certos:</strong> idealmente, você começa com cerca de 80% do que é o produto certo e completa o desenvolvimento com a ajuda desses parceiros. O feedback prático dos clientes desempenha um papel fundamental nesse processo.</p>
</li>
<li><p><strong>Trabalhar com inovadores e <em>early adopters</em>:</strong> colaborar com <em>design partners</em> que representam o mercado futuro é essencial. Embora possa ser tentador trabalhar com a maioria atual do mercado, isso pode limitar seu crescimento futuro. Inovadores e <em>early adopters</em> são valiosos para aprimorar sua oferta antes que a maioria do mercado a adote.</p>
</li>
<li><p><strong>Características dos <em>design partners</em> adequados:</strong> geralmente são empresas no estágio de "Desafiante", com receita anual entre $20 milhões e $250 milhões, que experimentam crescimento anual superior a 50%. Eles têm uma atitude aberta à inovação e estão dispostos a colaborar para solucionar problemas.</p>
</li>
<li><p><strong>Margens elevadas e risco:</strong> empresas com margens elevadas são mais propensas a assumir riscos e experimentar com novas tecnologias. Alinhar-se com parceiros que possuem orçamentos para experimentação é fundamental para o sucesso.</p>
</li>
<li><p><strong>Coleta de feedback e iteração contínua:</strong> receber feedback regularmente e usá-lo para aprimorar seu produto é essencial. A iteração contínua com base no feedback dos <em>design partners</em> ajuda a melhorar constantemente sua oferta.</p>
</li>
<li><p><strong>Visão de longo prazo:</strong> busque ativamente design partners que estejam alinhados com a visão de longo prazo de sua empresa. Eles não são apenas parceiros de curto prazo, mas também contribuem para o sucesso sustentável de sua startup.</p>
</li>
</ul>
<p>Em resumo, escolher os <em>design partners</em> certos e trabalhar em estreita colaboração com eles é uma estratégia poderosa para startups que desejam criar produtos ou serviços de alta qualidade e conquistar o mercado. </p>
<p>A jornada de desenvolvimento de uma startup é uma aventura emocionante, e os <em>design partners</em> são seus companheiros de viagem que ajudam a traçar o caminho para o sucesso. </p>
<blockquote>
<p><strong><em>Lembre-se sempre de que a chave está em ouvir ativamente, aprender com o feedback e aprimorar continuamente sua oferta. Com os parceiros certos ao seu lado, sua startup está bem posicionada para prosperar e se destacar no cenário empresarial.</em></strong></p>
</blockquote>
<p>A <a target="_blank" href="http://bohr.io">bohr.io</a> é uma startup que desenvolveu sua plataforma <em>developer-first</em> de <em>deployment</em> e desenvolvimento de aplicações. Respiramos o ar desse universo agitado 24h por dia. Estamos sempre dispostos a trocar ideias sobre projetos e oportunidades de parceria. 🤝</p>
<p>Quer conversar e ampliar seu networking? 🙂</p>
<p>Deixe um comentário abaixo ou escreva para o Lucas Boemeke, fundador e CEO da <a target="_blank" href="http://bohr.io">bohr.io</a>, no email <a target="_blank" href="mailto:lucas@bohr.io">lucas@bohr.io</a>.</p>
]]></content:encoded></item><item><title><![CDATA[O que é FinOps: como otimizar custos de cloud e infraestrutura digital [VERSÃO REDUZIDA]]]></title><description><![CDATA[A migração de sistemas para a cloud tem sido uma estratégia adotada por diversas empresas para ganhar escalabilidade, flexibilidade e fácil acesso aos dados. Nesse contexto, surge o FinOps - uma abreviação de Financial Operations. Este é um conceito ...]]></description><link>https://blog.bohr.io/o-que-e-finops-como-otimizar-custos-de-cloud-e-infraestrutura-digital-versao-reduzida</link><guid isPermaLink="true">https://blog.bohr.io/o-que-e-finops-como-otimizar-custos-de-cloud-e-infraestrutura-digital-versao-reduzida</guid><category><![CDATA[finops]]></category><category><![CDATA[Cloud Computing]]></category><category><![CDATA[IT]]></category><category><![CDATA[development]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Fri, 14 Jul 2023 20:10:09 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1689365697155/db41e005-1e30-47f3-a6e1-205399b02921.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A migração de sistemas para a cloud tem sido uma estratégia adotada por diversas empresas para ganhar escalabilidade, flexibilidade e fácil acesso aos dados. Nesse contexto, surge o FinOps - uma abreviação de Financial Operations. Este é um conceito que surgiu da necessidade de alinhar as operações de TI e as finanças dentro de uma organização. Trata-se de uma prática que visa a otimizar os custos e maximizar o valor dos recursos utilizados em ambientes de computação em nuvem e infraestrutura digital.</p>
<blockquote>
<p>Leia a versão aprofundada deste artigo <a target="_blank" href="https://blog.bohr.io/o-que-e-finops-como-otimizar-custos-de-cloud-e-infraestrutura-digital">aqui</a>.</p>
</blockquote>
<h2 id="heading-finops-e-sua-relacao-com-outras-praticas-de-gerenciamento-de-ti">⚖️ <strong>FinOps e sua relação com outras práticas de gerenciamento de TI</strong></h2>
<p>O FinOps não é uma prática isolada, mas sim uma parte integrante de uma abordagem mais ampla de gerenciamento de TI. Ele se alinha perfeitamente com outras práticas como o DevOps, que visa a integração entre desenvolvimento e operações para acelerar a entrega de software. Assim como o DevOps melhora a eficiência operacional, o FinOps busca melhorar a eficiência financeira, tornando os custos mais previsíveis e gerenciáveis.</p>
<h2 id="heading-a-importancia-do-finops-para-as-empresas"><strong>🔎 A Importância do FinOps para as Empresas</strong></h2>
<p>O FinOps permite que as empresas tenham uma compreensão clara dos custos relacionados à nuvem e às operações de TI, capacitando-as a tomar decisões estratégicas e baseadas em dados. Ele traz transparência aos gastos e permite que as organizações aloquem recursos de forma eficiente, identifiquem áreas de otimização de custos e impulsionem a inovação de maneira sustentável.</p>
<h2 id="heading-como-funciona-o-finops"><strong>⚙️ Como Funciona o FinOps</strong></h2>
<h3 id="heading-principios-do-finops"><strong>Princípios do FinOps</strong></h3>
<p>O FinOps é baseado em princípios e processos específicos que visam trazer transparência, controle e eficiência para as operações financeiras relacionadas à infraestrutura de TI e à cloud computing. Compreender esses princípios e processos é essencial para implementar o FinOps com sucesso.</p>
<h3 id="heading-processos-do-finops"><strong>Processos do FinOps</strong></h3>
<p>Os processos do FinOps incluem planejamento e orçamento, monitoramento e análise, e otimização e governança. Cada um desses processos desempenha um papel crucial na implementação eficaz do FinOps.</p>
<h2 id="heading-implementando-o-finops">🛠️ <strong>Implementando o FinOps</strong></h2>
<p>A implementação eficaz do FinOps requer uma abordagem estruturada e organizada. Aqui estão as etapas envolvidas nesse processo:</p>
<h3 id="heading-estabelecendo-uma-cultura-de-colaboracao"><strong>Estabelecendo uma Cultura de Colaboração</strong></h3>
<p>Uma cultura de colaboração entre as equipes de Finanças e Operações de TI é fundamental para o sucesso do FinOps. Por isso a importância da comunicação aberta e constante entre essas equipes.</p>
<h3 id="heading-monitoramento-e-analise-de-custos"><strong>Monitoramento e Análise de Custos</strong></h3>
<p>Para implementar o FinOps é essencial ter ferramentas adequadas de monitoramento de custos. Existem várias soluções disponíveis que ajudam a coletar dados de uso e gastos em nuvem.</p>
<h3 id="heading-otimizacao-e-governanca-de-custos"><strong>Otimização e Governança de Custos</strong></h3>
<p>Após identificar oportunidades de otimização de custos, é importante implementar práticas para reduzir desperdícios e maximizar a eficiência dos recursos de TI.</p>
<h2 id="heading-recursos-adicionais"><strong>🧰 Recursos Adicionais</strong></h2>
<p>Para mais informações sobre FinOps, confira os seguintes recursos:</p>
<ul>
<li><p>[FinOps Foundation](<a target="_blank" href="https://www.finops.org/introduction/what-is-finops/">https://www.finops.org/introduction/what-is-finops/</a>)</p>
</li>
<li><p>[State of the Cloud Report 2022](<a target="_blank" href="https://path.flexera.com/cm/report-state-of-the-">https://path.flexera.com/cm/report-state-of-the-</a>)</p>
</li>
</ul>
<h2 id="heading-conclusao">✅ <strong>Conclusão</strong></h2>
<p>O FinOps desempenha um papel crucial nas empresas modernas ao fornecer transparência, controle e eficiência financeira nas operações de TI. A implementação bem-sucedida do FinOps requer colaboração, monitoramento contínuo e otimização de custos. Ao adotar as práticas de FinOps, as empresas podem enfrentar os desafios do cenário digital com confiança, maximizando o valor obtido de seus investimentos tecnológicos.</p>
]]></content:encoded></item><item><title><![CDATA[O que é FinOps: como otimizar custos de cloud e infraestrutura digital]]></title><description><![CDATA[A migração de sistemas para a cloud tem sido uma estratégia adotada por diversas empresas para ganhar escalabilidade, flexibilidade e fácil acesso aos dados.
FinOps - uma abreviação de Financial Operations - é um conceito que surgiu da necessidade de...]]></description><link>https://blog.bohr.io/o-que-e-finops-como-otimizar-custos-de-cloud-e-infraestrutura-digital</link><guid isPermaLink="true">https://blog.bohr.io/o-que-e-finops-como-otimizar-custos-de-cloud-e-infraestrutura-digital</guid><category><![CDATA[finops]]></category><category><![CDATA[Cloud Computing]]></category><category><![CDATA[IT]]></category><category><![CDATA[development]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Fri, 07 Jul 2023 20:56:53 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1688763227134/990251af-6b7d-4973-be8c-086af47f19df.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A migração de sistemas para a cloud tem sido uma estratégia adotada por diversas empresas para ganhar escalabilidade, flexibilidade e fácil acesso aos dados.</p>
<p><strong>FinOps</strong> - uma abreviação de <em>Financial Operations</em> - é um conceito que surgiu da necessidade de alinhar as operações de TI e as finanças dentro de uma organização. Trata-se de uma prática que visa a <strong>otimizar os custos e maximizar o valor dos recursos utilizados em ambientes de computação em nuvem e infraestrutura digital.</strong></p>
<p>Na <a target="_blank" href="https://www.finops.org/introduction/what-is-finops/">definição da FinOps Foundation</a>, “<em>FinOps é uma disciplina e prática cultural de gerenciamento financeiro em nuvem em evolução que permite que as organizações obtenham o máximo valor comercial ajudando as equipes de engenharia, finanças, tecnologia e negócios a colaborar em decisões de gastos baseadas em dados.</em>”</p>
<p>No atual cenário empresarial, as organizações estão cada vez mais adotando a cloud e tecnologias digitais para impulsionar a inovação e a competitividade. No entanto, a complexidade e a falta de visibilidade dos custos associados a essas tecnologias podem representar desafios significativos para as empresas. É aqui que o FinOps desempenha um papel crucial.</p>
<blockquote>
<p>Leia a versão reduzida deste artigo <a target="_blank" href="https://blog.bohr.io/o-que-e-finops-como-otimizar-custos-de-cloud-e-infraestrutura-digital-versao-reduzida">aqui</a>.</p>
</blockquote>
<h2 id="heading-importancia-do-finops-para-as-empresas"><strong>🔎 Importância do FinOps para as empresas</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1689359512821/e84d5636-c405-403c-b892-5714b6427c6f.gif" alt class="image--center mx-auto" /></p>
<p>O FinOps permite que as empresas tenham uma <em>compreensão clara dos custos relacionados à nuvem e às operações de TI</em>, capacitando-as a tomar decisões estratégicas e baseadas em dados. Ele traz transparência aos gastos e permite que as organizações aloquem recursos de forma eficiente, identifiquem áreas de otimização de custos e impulsionem a inovação de maneira sustentável.</p>
<p>Além disso, o FinOps promove a <em>colaboração entre as equipes de Finanças e Operações de TI</em>. Ao envolver essas duas áreas-chave, o FinOps permite uma melhor compreensão das necessidades financeiras e operacionais, fomentando uma cultura de parceria e colaboração entre os departamentos. Essa abordagem integrada traz uma visão holística dos custos e impulsiona uma governança efetiva, alinhando os objetivos financeiros e de negócios da organização.</p>
<blockquote>
<p><strong><em>Às vezes, uma empresa decide apertar o cinto; às vezes, ele decide investir mais. Com o FinOps, os gestores sabem por que estão tomando essas decisões.</em></strong></p>
</blockquote>
<p>Em resumo, o FinOps é fundamental nas empresas modernas, pois permite o controle eficiente dos custos, a otimização dos recursos e a maximização do valor obtido das tecnologias utilizadas. Ao adotar o FinOps, as empresas se preparam para enfrentar os desafios financeiros e operacionais da era digital, impulsionando a eficiência e a inovação em suas jornadas tecnológicas.</p>
<h3 id="heading-o-crescimento-da-adocao-de-finops-em-cloud-computing">📈 O crescimento da adoção de FinOps em cloud computing</h3>
<p><a target="_blank" href="https://www.ibm.com/br-pt/topics/finops">Segundo a IBM</a>, a aceleração da migração para a cloud é equivalente às preocupações com gastos desnecessários.</p>
<p>O relatório <a target="_blank" href="https://path.flexera.com/cm/report-state-of-the-"><em>State of the Cloud de 2022</em></a> da Flexera revelou que, pelo sexto ano consecutivo, a otimização do uso atual da cloud era a principal iniciativa entre as organizações entrevistadas, e a migração de mais cargas de trabalho para a cloud estava em segundo lugar.</p>
<h2 id="heading-como-funciona-o-finops"><strong>⚙️Como funciona o FinOps?</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1689359832181/e0e0a48b-f4b2-4c57-ba32-afef7939ff62.gif" alt class="image--center mx-auto" /></p>
<p>No FinOps, equipes multifuncionais (Engenharia, Finanças, Produto etc.) trabalham juntas para permitir uma entrega mais rápida do produto e, ao mesmo tempo, obter mais controle financeiro e previsibilidade.</p>
<p>O FinOps é baseado em princípios e processos específicos que visam trazer transparência, controle e eficiência para as operações financeiras relacionadas à infraestrutura de TI e à cloud computing. Compreender esses princípios e processos é essencial para implementar o FinOps com sucesso.</p>
<h3 id="heading-principios-do-finops">Princípios do FinOps</h3>
<p><strong>🟠 Visibilidade:</strong> o primeiro princípio do FinOps é ter <em>visibilidade completa dos custos relacionados às operações de TI</em>. Isso envolve monitorar e rastrear os gastos em cloud, identificando e categorizando os custos de acordo com os diferentes serviços e recursos utilizados.</p>
<p><strong>🟠 Responsabilidade:</strong> o FinOps atribui custos específicos aos proprietários de serviços ou projetos. Essa abordagem permite que as equipes entendam como seus recursos estão sendo utilizados e tomem decisões informadas para otimizar os custos.</p>
<p><strong>🟠 Eficiência:</strong> o FinOps incentiva a otimização dos custos, identificando áreas de desperdício e implementando práticas e políticas para maximizar a eficiência. Isso pode envolver a escolha de instâncias de nuvem mais adequadas, ajuste de capacidade e programação de desligamento de recursos não utilizados, entre outros.</p>
<p><strong>🟠 Colaboração:</strong> envolve a estreita relação entre as equipes de Finanças e Operações de TI, compartilhando conhecimentos e trabalhando em conjunto para <em>alinhar os objetivos financeiros e de negócios</em>. A colaboração permite uma melhor compreensão dos custos e das implicações financeiras das decisões tecnológicas.</p>
<h3 id="heading-processos-do-finops">Processos do FinOps</h3>
<p><strong>🟠 Planejamento e orçamento:</strong> nesta etapa são definidos objetivos financeiros e orçamentos para as operações de TI. Isso inclui a identificação de projetos, a alocação de recursos e a previsão de custos com base nas necessidades do negócio.</p>
<p><strong>🟠 Monitoramento e análise:</strong> é fundamental ter uma visão em tempo real dos gastos em nuvem e da utilização de recursos. Ferramentas de monitoramento são usadas para coletar dados e gerar relatórios para análise. Essa análise permite identificar tendências, padrões de consumo e áreas de otimização de custos.</p>
<p><strong>🟠 Otimização e governança:</strong> com base nas informações analisadas, ações são tomadas para otimizar os custos e melhorar a eficiência. Isso pode envolver ajustes de capacidade, eliminação de recursos desnecessários, negociação de contratos com provedores de nuvem e a implementação de políticas de governança para controlar os gastos.</p>
<h3 id="heading-as-3-fases-do-finops">As 3 fases do FinOps</h3>
<p>De acordo com a <a target="_blank" href="https://www.ibm.com/br-pt/topics/finops">IBM</a>, estas são as etapas da jornada FinOps:</p>
<p><strong>Informar</strong></p>
<p>Capacitação de todos os stakeholders com o conhecimento necessário para tomar decisões informadas sobre o uso da cloud.</p>
<p>Isso inclui saber como os aplicativos estão usando os recursos de cloud. Por exemplo, da conta mensal de U$10k de uso da cloud, qual parte é alocada para os aplicativos que suportam os aplicativos de finanças em relação aos aplicativos de website externo?</p>
<p><strong>Otimizar</strong></p>
<p>Seu foco é descobrir oportunidades de economia de custo. Por exemplo, se você estiver executando uma máquina virtual em um determinado nó e isso custar U$1 por minuto, você poderia economizar ao mover essa MV para outro nó que custa apenas U$0,08 por minuto?</p>
<p><strong>Operar</strong></p>
<p>Aqui as organizações avaliam continuamente seu desempenho com relação aos objetivos de negócios e buscam formas de melhorar suas práticas de FinOps.</p>
<h2 id="heading-como-implementar-o-finops">🛠️ <strong>Como implementar o FinOps?</strong></h2>
<p>A implementação eficaz do FinOps requer uma abordagem estruturada e organizada. Vamos explorar as etapas envolvidas nesse processo:</p>
<h3 id="heading-etapa-1-estabelecendo-uma-cultura-de-colaboracao">🤝 Etapa 1: Estabelecendo uma cultura de colaboração</h3>
<p>Conforme citamos anteriormente, uma cultura de colaboração entre as equipes de Finanças e Operações de TI é fundamental para o sucesso do FinOps. Por isso a importância da comunicação aberta e constante entre essas equipes. As discussões devem ocorrer regularmente para alinhar as estratégias financeiras e tecnológicas da organização. Além disso, é crucial definir metas e objetivos comuns para garantir que todos estejam trabalhando em direção aos mesmos resultados.</p>
<h3 id="heading-etapa-2-monitoramento-e-analise-de-custos">👀 Etapa 2: Monitoramento e análise de custos</h3>
<p>Para implementar o FinOps é essencial ter ferramentas adequadas de monitoramento de custos. Existem várias soluções disponíveis que ajudam a coletar dados de uso e gastos em nuvem. Essas ferramentas fornecem visibilidade em tempo real dos custos e permitem rastrear e analisar as tendências de consumo.</p>
<p>A análise de dados é um componente crítico nessa etapa. Ao analisar os dados coletados, é possível identificar áreas de otimização de custos, como <em>recursos subutilizados, horários de pico de uso e oportunidades de redução de desperdícios</em>. A análise também pode ajudar a identificar padrões de gastos e fornecer insights valiosos para tomadas de decisões informadas.</p>
<h3 id="heading-etapa-3-otimizacao-e-governanca-de-custos">⛯ Etapa 3: Otimização e governança de custos</h3>
<p>Após identificar oportunidades de otimização de custos, é importante implementar práticas para reduzir desperdícios e maximizar a eficiência dos recursos de TI. Isso pode envolver ajustes de capacidade, como dimensionar para cima ou para baixo com base nas necessidades, eliminar recursos não utilizados ou migrar para instâncias mais econômicas na nuvem.</p>
<p>Além disso, é fundamental estabelecer políticas de governança de custos. Isso inclui definir diretrizes claras para o uso de recursos, definir limites de gastos, implementar revisões regulares de custos e envolver as partes interessadas relevantes para aprovações e alinhamento.</p>
<p>A governança de custos garante que as despesas estejam alinhadas com as metas financeiras e evita gastos desnecessários.</p>
<p>⚠️ <strong>IMPORTANTE</strong></p>
<p>A implementação do FinOps é um processo contínuo. Exige monitoramento regular e ajustes conforme necessário para se adaptar às mudanças nas necessidades do negócio e nas tecnologias utilizadas.</p>
<h2 id="heading-estruturas-dos-times-de-finops"><strong>🧱 Estruturas dos times de FinOps</strong></h2>
<p>O diagrama da FinOps Foundation abaixo demonstra como uma equipe multifuncional conhecida como <em>Cloud Cost Center of Excellence</em> (CCoE) interage com o resto do negócio para gerenciar a <strong>estratégia de nuvem, governança e melhores práticas</strong> que o restante da organização pode aproveitar para transformar os negócios usando a cloud.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1688761611202/9ea7c049-70c6-4903-afac-16b9ee853a7c.png" alt class="image--center mx-auto" /></p>
<h2 id="heading-o-que-faz-um-analista-de-finops"><strong>🧰 O que faz um analista de FinOps?</strong></h2>
<p>Seu principal objetivo é <em>garantir a otimização dos custos relacionados à infraestrutura de TI e à computação em nuvem, alinhando as metas financeiras e de negócios da empresa.</em></p>
<p>A seguir, descrevemos as principais responsabilidades e habilidades necessárias para atuar como analista de FinOps:</p>
<h3 id="heading-responsabilidades">Responsabilidades</h3>
<p><strong>Análise e monitoramento de custos:</strong> o analista de FinOps é responsável por coletar, analisar e monitorar os dados de custos relacionados às operações de TI. Isso inclui identificar áreas de alto consumo, rastrear tendências de gastos e propor soluções para otimizar os custos.</p>
<p><strong>Identificação de oportunidades de otimização:</strong> com base na análise de custos, o analista de FinOps deve identificar oportunidades de otimização de recursos. Isso envolve a busca por desperdícios, recursos subutilizados e <em>estratégias para reduzir os gastos sem comprometer a eficiência operacional</em>.</p>
<p><strong>Colaboração entre equipes:</strong> o analista de FinOps desempenha um papel crucial na promoção da colaboração entre as equipes de Finanças e Operações de TI. Ele atua como um ponto de contato entre esses times, facilitando a comunicação e garantindo o alinhamento das metas e objetivos.</p>
<p><strong>Implementação de políticas e práticas:</strong> o analista de FinOps é responsável por implementar políticas e práticas de governança de custos. Ele estabelece diretrizes para o uso eficiente de recursos, define limites de gastos e assegura que as práticas de otimização sejam adotadas de maneira consistente.</p>
<h3 id="heading-habilidades-e-competencias">Habilidades e competências</h3>
<p><strong>Conhecimento técnico:</strong> o analista de FinOps deve ter um bom entendimento das tecnologias de nuvem e infraestrutura de TI, bem como das ferramentas de monitoramento de custos. Ele deve ser capaz de interpretar e analisar dados relacionados aos custos para tomar decisões embasadas.</p>
<p><strong>Habilidades analíticas:</strong> é fundamental que o analista de FinOps possua habilidades analíticas sólidas para coletar, interpretar e analisar dados de custos. Ele deve ser capaz de identificar padrões, tendências e oportunidades de otimização a partir dos dados disponíveis.</p>
<p><strong>Comunicação eficaz:</strong> o analista de FinOps precisa ser um bom comunicador, capaz de articular e apresentar informações complexas de forma clara e compreensível. Ele deve ser capaz de colaborar efetivamente com as equipes de Finanças e Operações de TI, compartilhando insights e promovendo uma cultura de colaboração.</p>
<p><strong>Pensamento estratégico:</strong> o analista de FinOps deve ter uma visão estratégica, sendo capaz de identificar oportunidades de otimização a longo prazo e alinhar as práticas de FinOps com os objetivos financeiros e de negócios da organização.</p>
<h2 id="heading-como-o-finops-se-alinha-com-o-devops-no-gerenciamento-de-ti">⚖️ <strong>Como o FinOps se alinha com o DevOps no gerenciamento de TI?</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1689362876606/dce71411-f9ea-452e-bad7-bf19291c372b.gif" alt class="image--center mx-auto" /></p>
<p>O FinOps refere-se à prática de gerenciamento financeiro na área de TI. Ele busca alinhar os aspectos financeiros das operações de TI com os objetivos organizacionais.</p>
<p>Por outro lado, o DevOps é uma metodologia de desenvolvimento de software que busca a colaboração entre equipes de desenvolvimento e operações para melhorar a eficiência e a entrega de software de maneira rápida e confiável.</p>
<p>O FinOps e o DevOps podem se alinhar em várias maneiras:</p>
<ol>
<li><p><strong>Transparência financeira:</strong> o FinOps enfatiza a transparência nos custos e gastos relacionados à infraestrutura de TI. Ao adotar práticas de DevOps, como a automação de processos de desenvolvimento e implantação, é possível obter maior visibilidade sobre os custos envolvidos em cada etapa do ciclo de vida do software. Isso permite identificar oportunidades de otimização e redução de custos.</p>
</li>
<li><p><strong>Colaboração entre equipes:</strong> tanto o FinOps quanto o DevOps incentivam a colaboração entre equipes multidisciplinares. No caso do FinOps, isso significa reunir equipes financeiras, de operações de TI e de desenvolvimento para discutir e tomar decisões sobre os custos de infraestrutura. Ao alinhar as práticas de FinOps e DevOps, é possível estabelecer uma cultura de colaboração mais ampla, abrangendo não apenas aspectos financeiros, mas também técnicos.</p>
</li>
<li><p><strong>Automação e eficiência:</strong> FinOps e DevOps compartilham o objetivo de promover a automação e a eficiência nos processos. Enquanto o DevOps se concentra em automatizar o desenvolvimento e a entrega de software, o FinOps busca automatizar a gestão financeira, por exemplo, através de ferramentas de monitoramento e análise de custos. Ao integrar as práticas de automação de ambos é possível obter ganhos de eficiência significativos em todo o ciclo de vida do software, desde o desenvolvimento até a operação.</p>
</li>
<li><p><strong>Métricas e monitoramento:</strong> FinOps e DevOps valorizam a medição e o monitoramento contínuos para avaliar o desempenho e identificar áreas de melhoria. O FinOps utiliza métricas financeiras, como custos de infraestrutura e análise de retorno sobre investimento, enquanto o DevOps se baseia em métricas técnicas, como tempo médio de implantação e taxa de falhas. Ao alinhar essas métricas e estabelecer um sistema de monitoramento abrangente, é possível tomar decisões informadas e aprimorar tanto os aspectos financeiros quanto técnicos do gerenciamento de TI.</p>
</li>
</ol>
<p>Em resumo, o FinOps se alinha com o DevOps como uma prática de gerenciamento de TI ao promover a transparência financeira, a colaboração entre equipes, a automação e a eficiência, bem como o uso de métricas e monitoramento para melhorar o desempenho geral das operações de TI e alinhar-se com os objetivos organizacionais.</p>
<h2 id="heading-estudos-de-casos-otimizacao-de-custos-com-finops"><strong>🖹</strong> <strong>Estudos de casos: otimização de custos com FinOps</strong></h2>
<ul>
<li><strong>Facebook</strong></li>
</ul>
<p>O Facebook implementou o FinOps em 2015 para melhorar a eficiência de seus gastos com TI. Desde então, conseguiu economizar mais de US$ 1 bilhão em custos de TI. A empresa atribuiu o sucesso do seu programa FinOps à sua forte cultura de colaboração e à sua abordagem focada em dados.</p>
<ul>
<li><strong>Netflix</strong></li>
</ul>
<p>A Netflix implementou o FinOps em 2016 para melhorar a visibilidade de seus custos com TI e tomar melhores decisões de gastos. Desde então, conseguiu economizar mais de US$ 100 milhões em custos com TI. A empresa atribuiu o sucesso do seu programa FinOps à sua abordagem focada em resultados e à sua cultura de transparência.</p>
<ul>
<li><strong>Spotify</strong></li>
</ul>
<p>A Spotify implementou o FinOps em 2017 para melhorar o controle de seus gastos com TI. Desde então, conseguiu economizar mais de US$ 50 milhões em custos com TI. A empresa atribuiu o sucesso do seu programa FinOps à sua abordagem focada em processos e à sua cultura de responsabilidade.</p>
<h2 id="heading-conclusao">✅ <strong>Conclusão</strong></h2>
<p>Segundo a FinOps Foundation, FinOps é a prática de trazer uma mudança cultural de responsabilidade financeira para o modelo de gasto variável da cloud, permitindo que as equipes de engenharia e negócios distribuídas façam trade-offs entre velocidade, custo e qualidade em sua arquitetura de nuvem e decisões de investimento.</p>
<blockquote>
<p><strong><em>Pode parecer que o FinOps seja simplesmente focado em economizar dinheiro, mas, na verdade, seu objetivo central é GANHAR dinheiro.</em></strong> 💵</p>
</blockquote>
<p>Com a adoção cada vez maior da nuvem e tecnologias digitais, as organizações enfrentam desafios complexos relacionados aos custos e à governança. O FinOps oferece uma abordagem estruturada para enfrentar esses desafios, permitindo que as empresas tenham controle financeiro, otimizem recursos e tomem decisões embasadas.</p>
<p>Ao adotar o FinOps, as empresas podem impulsionar a eficiência operacional, reduzir custos desnecessários e direcionar investimentos para áreas estratégicas. Isso resulta em um uso mais eficiente dos recursos de TI, aumento da competitividade e da capacidade de inovação sustentável.</p>
<blockquote>
<p><strong><em>Em resumo, o FinOps desempenha um papel crucial nas empresas modernas ao fornecer transparência, controle e eficiência financeira nas operações de TI.</em></strong></p>
</blockquote>
<p>A implementação bem-sucedida do FinOps requer colaboração, monitoramento contínuo e otimização de custos. Ao adotar as práticas de FinOps, as empresas podem enfrentar os desafios do cenário digital com confiança, maximizando o valor obtido de seus investimentos tecnológicos. 🎯</p>
<h3 id="heading-recursos-adicionais">Recursos Adicionais</h3>
<p>Para mais informações sobre FinOps, confira os seguintes recursos:</p>
<ul>
<li><p>[FinOps Foundation](<a target="_blank" href="https://www.finops.org/introduction/what-is-finops/">https://www.finops.org/introduction/what-is-finops/</a>)</p>
</li>
<li><p>[State of the Cloud Report 2022](<a target="_blank" href="https://path.flexera.com/cm/report-state-of-the-">https://path.flexera.com/cm/report-state-of-the-</a>)</p>
</li>
</ul>
]]></content:encoded></item><item><title><![CDATA[bohr.io needs your help to score in the Product Hunt!]]></title><description><![CDATA[bohr.io - a platform where developers can deploy their front and backend applications most easily ever, and startups can contract those developers to reduce the costs of digital product development - is taking a significant step toward expansion. We ...]]></description><link>https://blog.bohr.io/bohrio-needs-your-help-to-score-in-the-product-hunt</link><guid isPermaLink="true">https://blog.bohr.io/bohrio-needs-your-help-to-score-in-the-product-hunt</guid><category><![CDATA[product hunt]]></category><category><![CDATA[bohr.io]]></category><category><![CDATA[serverless]]></category><category><![CDATA[Startups]]></category><category><![CDATA[SaaS]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Tue, 04 Jul 2023 07:11:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1688407965312/9f797ca3-edd9-4a10-921b-fc4d6679230c.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><a target="_blank" href="http://bohr.io">bohr.io</a> - a platform where developers can deploy their front and backend applications most easily ever, and startups can contract those developers to reduce the costs of digital product development - is taking a significant step toward expansion. We have registered the platform on <a target="_blank" href="https://www.producthunt.com/">Product Hunt</a>, the world's leading website for launching tech products. 🌐</p>
<p>You just can't beat PH in showing up digital products! 💪</p>
<p>🎯 Our primary goal is to be listed among the <em>Top Products of the Day</em> - which guarantees us a spot in the PH newsletter (sent out to thousands of subscribers worldwide) and on the website homepage for 24 hours.</p>
<p><em>And how are we going to achieve this?</em></p>
<p><strong>With your help - and the beloved Hacker News community - by</strong> <a target="_blank" href="https://www.producthunt.com/posts/bohr-io"><strong>UPVOTING the bohr.io page!</strong></a> 🚀</p>
<p>The more upvotes and interactions, the better. This could also qualify us to compete as the <em>Product of the Week</em> and, who knows, the <em>Product of the Month</em> (and that would be a dream come true!) 🔥</p>
<p>⚡ WE NEED YOUR HELP - AND WHOEVER ELSE YOU INVITE - TO UPVOTE ON BOHR.IO! ⚡</p>
<p>🤝 For you, it costs nothing. To us, it makes a huge difference!</p>
<p>Go to the <a target="_blank" href="https://www.producthunt.com/posts/bohr-io">product page</a> and click on the <strong>upvote</strong> (if you leave a comment/feedback, we appreciate it even more!).</p>
<p>⚠️Timing is essential for us to get a lot of upvotes and comments. So VOTE NOW!</p>
<p>The bohr.io team thanks you from the bottom of our hearts! 🧡</p>
]]></content:encoded></item><item><title><![CDATA[O que significa o Prime Video sair do serverless e ir para o monólito?]]></title><description><![CDATA[A Amazon Prime Video recentemente lançou um artigo⇗ que sacudiu o mundo da tecnologia, explicando como eles economizaram 90% em sua conta de serviços da web ao mudar de microsserviços serverless para uma arquitetura monolítica.

O artigo tem causado ...]]></description><link>https://blog.bohr.io/o-que-significa-o-prime-video-sair-do-serverless-e-ir-para-o-monolito</link><guid isPermaLink="true">https://blog.bohr.io/o-que-significa-o-prime-video-sair-do-serverless-e-ir-para-o-monolito</guid><category><![CDATA[serverless]]></category><category><![CDATA[monolith]]></category><category><![CDATA[Microservices]]></category><category><![CDATA[Amazon S3]]></category><category><![CDATA[Amazon Web Services]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Fri, 12 May 2023 20:54:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1683924469890/005ea081-fdd8-4e0e-8620-ccc70cddb6d4.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>A Amazon Prime Video recentemente lançou um <a target="_blank" href="https://www.primevideotech.com/video-streaming/scaling-up-the-prime-video-audio-video-monitoring-service-and-reducing-costs-by-90">artigo</a>⇗ que sacudiu o mundo da tecnologia, explicando como eles economizaram 90% em sua conta de serviços da web ao <strong>mudar de microsserviços</strong> <a target="_blank" href="https://blog.bohr.io/o-que-e-serverless-esse-negocio-e-para-mim"><strong>serverless</strong></a> <strong>para uma arquitetura monolítica.</strong></p>
<blockquote>
<p><strong><em>O artigo tem causado bastante alarde porque um dos pontos centrais da arquitetura serverless é a capacidade de dimensionar a infraestrutura com mais eficiência - o que, em teoria, deveria custar menos dinheiro.</em></strong></p>
</blockquote>
<p>Para discutir sobre o assunto polêmico, vamos explicar a justificativa da Amazon Prime Video para o retorno ao monólito e trazer as opiniões do canal do YouTube <a target="_blank" href="https://www.youtube.com/@Fireship">Fireship</a> e de Lucas Boemeke, CEO/CTO da <a target="_blank" href="http://bohr.io">bohr.io</a>.</p>
<p>Mas, antes, é importante estabelecer as diferenças básicas entre microsserviços e arquitetura monolítica.</p>
<h2 id="heading-qual-e-a-diferenca-entre-a-arquitetura-monolitica-e-a-arquitetura-de-microsservicos"><strong>Qual é a diferença entre a arquitetura monolítica e a arquitetura de microsserviços?</strong></h2>
<p>Em uma <strong>arquitetura monolítica</strong>, o aplicativo é construído como uma única unidade, onde todos os componentes são agrupados em um único sistema. Essa abordagem é mais simples de desenvolver, testar e implantar, pois tudo está em um só lugar. No entanto, pode ser difícil de escalar e manter à medida que o aplicativo cresce, já que cada mudança afeta todo o sistema.</p>
<p>Já a <strong>arquitetura de microsserviços</strong> divide o aplicativo em serviços independentes que se comunicam entre si por meio de APIs. Cada serviço é responsável por uma única funcionalidade específica do aplicativo e pode ser escalado, atualizado e implantado independentemente dos outros serviços. Essa abordagem é mais complexa, pois exige uma coordenação mais rigorosa entre os serviços, mas também é mais flexível, escalável e resiliente, permitindo que as equipes de desenvolvimento trabalhem em serviços separados e independentes uns dos outros.</p>
<h2 id="heading-por-que-a-amazon-prime-video-mudou-de-uma-arquitetura-de-microsservicos-distribuidos-para-um-aplicativo-monolitico"><strong>Por que a Amazon Prime Video mudou de uma arquitetura de microsserviços distribuídos para um aplicativo monolítico?</strong></h2>
<p>Tudo começou assim: a Amazon Prime Video precisava de uma ferramenta para analisar o conteúdo de áudio ou problemas como congelamento de vídeo e corrupção de arquivos. Para implementar essa ferramenta, eles usam várias funções serverless chamadas <a target="_blank" href="https://aws.amazon.com/pt/step-functions/">Step Functions</a>⇗ (que são basicamente a mesma coisa que as Lambdas) para lidar com diferentes responsabilidades.</p>
<p>Explicando o workflow:</p>
<p>Você tem um ponto de entrada inicial que inicia outro serviço para fazer uma conversão de arquivo, a qual converte um stream de áudio/vídeo em quadros que podem ser usados pelo detector. Daí você tem vários detectores usando aprendizado de máquina para analisar o vídeo e, finalmente, você precisa de outra função para agregar o resultado e armazená-los em um bucket.</p>
<p>Acontece que há um pouco de sobrecarga toda vez que você passa dados de um serviço para outro. É preciso serializar e desserializar dados e se comunicar por uma rede. Nesse caso, o serviço precisava ser executado várias vezes para cada segundo de um stream de vídeo. Por isso,  eles rapidamente atingiram um gargalo com os limites de sua conta apenas tentando orquestrar o serviço (segundo a empresa, a maneira como usaram alguns componentes fez com que atingissem um limite rígido de dimensionamento em cerca de 5% da carga esperada).</p>
<p>Além disso, ao fazer o upload temporário de arquivos para o <a target="_blank" href="https://aws.amazon.com/pt/s3/">S3</a>⇗ (Amazon Simple Storage Service), gastavam dinheiro apenas acessando esses arquivos nos buckets. Assim, eles perceberam que a arquitetura distribuída era a causa raiz desses gargalos, o que os levou a tomar uma decisão ousada de <strong>re-arquitetar a estrutura para um monólito</strong>.</p>
<p>Então, em vez de executar serviços distribuídos desacoplados, eles pegaram tudo e o fizeram rodar em um único container. Nele, todos os componentes são iguais, mas agora que são executados em um único servidor, eles só podem ser dimensionados verticalmente.</p>
<p><strong>Detalhe:</strong> isso significa que, para fazer mais trabalho, eles precisarão tornar maior cada servidor - ao contrário da arquitetura de microsserviço, que pode ser dimensionada horizontalmente criando mais serviços para cada componente individual com base em suas necessidades de dimensionamento.</p>
<blockquote>
<p><strong><em>Embora admita que algumas decisões tomadas não são óbvias, a Amazon Prime Video alega que mover o serviço para um monólito reduziu o custo de infraestrutura em mais de 90%, além de aumentar as capacidades de dimensionamento. Hoje, a empresa se diz capaz de lidar com milhares de streams, com capacidade de escalar ainda mais o serviço.</em></strong></p>
</blockquote>
<p>A Amazon Prime Video não está sozinha nesse movimento. David Heinemeier Hansson (DHH), criador do Ruby on Rails e do Basecamp, tirou toda a sua empresa da nuvem depois de gastar mais de US$3 milhões em um ano e agora apenas executa seus próprios servidores.</p>
<p>Muitas startups de sucesso, como o Dropbox, também deixaram a nuvem quando chegaram a um determinado nível de crescimento de suas operações.</p>
<h3 id="heading-ganha-dinheiro-por-um-lado-e-perde-por-outro">Ganha dinheiro por um lado e perde por outro</h3>
<p>O vídeo <a target="_blank" href="https://www.youtube.com/watch?v=qQk94CjRvIs">Serverless was a big mistake... says Amazon</a>, do canal Fireship, apresenta uma situação contraditória em que se encontra a Amazon: por um lado, ela vai economizar dinheiro, mas, por outro, vai perder uma grande fonte de receita. Hoje em dia há muitas plataformas que oferecem serviços serverless, como Vercel e Netlify (que, segundo o Fireship, estão apenas usando e revendendo serviços da AWS nos bastidores). Há quase toda uma indústria de startups que torna a AWS mais fácil de usar, incluindo projetos de código aberto como o Serverless Framework e o SST.</p>
<h2 id="heading-contraponto-a-arquitetura-serverless-e-o-ideal-para-um-grande-numero-de-usos"><strong>Contraponto: a arquitetura serverless é o ideal para um grande número de usos</strong></h2>
<p>O vídeo do canal Fireship afirma que a tecnologia serverless e os microsserviços são usados em seus projetos e que essas tecnologias representam uma virada de jogo absoluta para fazer as coisas rapidamente.</p>
<p>Então, para quem já estava concluindo que precisa juntar seus microsserviços em um monólito, o Fireship lembra da Netflix em 2088, quando era baseada na arquitetura monolítica e teve uma falha enorme, a qual a motivou a dividir sua arquitetura em centenas de microsserviços diferentes que pudessem ser dimensionados independentemente, com tolerância a falhas.</p>
<p>Mesmo que o processo tenha sido complexo e caro, pense que, se a Netflix ficar fora do ar por algumas horas, isso vai custar muito mais dinheiro e perda de assinaturas.</p>
<p>Outra questão é o tamanho das operações. O Fireship lembra que pequenas empresas raramente extrapolam o nível gratuito e, quando o fazem, isso representa dinheiro bem gasto, pois sabem que não vão implantar algum código ruim em um monólito que pode derrubar toda a operação.</p>
<p>Já Lucas Boemeke, CEO/CTO da <a target="_blank" href="http://bohr.io">bohr.io</a>, afirma que, embora a mudança de uma arquitetura de microsserviços distribuídos para uma aplicação monolítica pareça ter alcançado maior escalabilidade e reduzido os custos para o Prime Video, a abordagem serverless ainda possui vantagens significativas que podem ser benéficas em outros casos de uso - ou mesmo dentro do caso da Amazon, se aplicada de maneira diferente.</p>
<p>Aqui estão as principais vantagens da arquitetura serverless elencadas por Boemeke:</p>
<p>📈 <strong>Escalabilidade independente</strong></p>
<p>A arquitetura serverless é projetada para escalar cada componente do serviço de forma independente. Isso garante que cada componente só usa recursos quando necessário, o que reduz custos e melhora a eficiência.</p>
<p>💵 <strong>Custo-efetividade</strong></p>
<p>A arquitetura serverless também pode ser econômica, pois você só paga pelo tempo de computação que consome. Problemas de custo, como mencionado no exemplo da Amazon Prime Video, podem ocorrer devido ao uso ineficiente de recursos, e não a um problema inerente ao modelo serverless.</p>
<p>⚡<strong>Flexibilidade de microsserviços</strong></p>
<p>A arquitetura de microsserviços permite a entrega rápida, frequente e confiável de aplicações grandes e complexas. Isso permite às organizações evoluir suas stacks de tecnologia, sendo capazes de testar novas abordagens em um único serviço sem afetar todo o sistema.</p>
<p>🚀 <strong>Velocidade e produtividade</strong></p>
<p>A arquitetura serverless permite que os desenvolvedores se concentrem no produto principal, em vez de gerenciar e operar servidores ou tempos de execução. Isso melhora a produtividade do desenvolvedor, levando a um tempo de lançamento mais rápido no mercado.</p>
<p>🤖 <strong>Alta disponibilidade automatizada</strong></p>
<p>A arquitetura serverless oferece disponibilidade e tolerância a falhas embutidas. Não é necessário arquitetar para essas capacidades, pois os serviços que executam a aplicação as fornecem por padrão.</p>
<h2 id="heading-conclusao"><strong>Conclusão</strong></h2>
<p>Segundo Lucas Boemeke, embora uma arquitetura monolítica possa fornecer simplicidade e velocidade para certos casos de uso específicos, ela também vem com seus próprios desafios, como falta de flexibilidade, potencial para ciclos de desenvolvimento mais lentos e dificuldade em escalar partes específicas do aplicativo.</p>
<p>Na arquitetura monolítica, cada aplicação é única e requer uma abordagem personalizada. Portanto, a decisão de adotar serverless ou monólito deve depender das necessidades específicas do projeto em questão.</p>
<blockquote>
<p><strong><em>É possível que os desafios enfrentados no caso da Amazon Prime Video pudessem ter sido superados com um design ou implementação diferente dentro da arquitetura serverless. Por isso, Boemeke diz que não descartaria a abordagem serverless com base neste caso, mas sim, a usaria como uma oportunidade para aprender e melhorar o design e a utilização de arquiteturas serverless em projetos futuros.</em></strong></p>
</blockquote>
<p>Ou seja, como sabiamente foi dito no vídeo do Fireship, quando se trata de arquitetura em nuvem, não há soluções, apenas trade-offs.</p>
]]></content:encoded></item><item><title><![CDATA[Alucinações de IA: o que são e por que ocorrem]]></title><description><![CDATA[Vamos começar esse artigo esclarecendo uma pegadinha semântica: inteligência artificial não é de fato inteligência. 💥
Segundo o jornalista de tecnologia Pedro Dória, o que chamamos de IA são, na verdade, sistemas que fazem o papel de calculadoras de...]]></description><link>https://blog.bohr.io/alucinacoes-de-ia-o-que-sao-e-por-que-ocorrem</link><guid isPermaLink="true">https://blog.bohr.io/alucinacoes-de-ia-o-que-sao-e-por-que-ocorrem</guid><category><![CDATA[inteligencia artificial ]]></category><category><![CDATA[chatgpt]]></category><category><![CDATA[chatbot]]></category><category><![CDATA[Deep Learning]]></category><category><![CDATA[Machine Learning]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Mon, 17 Apr 2023 19:42:50 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1681759894808/428834a9-4601-4570-904d-d65506ec0ef0.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Vamos começar esse artigo esclarecendo uma pegadinha semântica: <strong>inteligência artificial não é de fato inteligência.</strong> 💥</p>
<p>Segundo o jornalista de tecnologia Pedro Dória, o que chamamos de IA são, na verdade, sistemas que fazem o papel de <strong>calculadoras de probabilidades incapazes de pensar logicamente.</strong></p>
<p>Por isso não podemos esperar dessa tecnologia algo que ela não foi treinada para fazer. O que uma IA do tipo <strong>Large Language Model (LLM)</strong> faz - a exemplo do ChatGPT - é compreender a pergunta que lhe foi feita e, a partir dali, escrever uma palavra, então encaixar a palavra mais provável de aparecer após aquela anterior, e assim sequencialmente.</p>
<blockquote>
<p><strong><em>Imperfeições ocorridas nesses processos dão origem ao que chamamos de alucinações de IA.</em></strong></p>
</blockquote>
<p>Conceitualmente falando, trata-se de situações em que algoritmos de IA e redes neurais de deep learning criam resultados que não são reais, não correspondem a nenhum dado no qual o algoritmo foi treinado ou não seguem nenhum outro padrão discernível.</p>
<p>Quer um exemplo prático? O fotógrafo brasileiro Jairo Goldflus digitou seu próprio nome no ChatGPT e perguntou quem ele é. O ChatGPT inventou para ele um alter-ego: o também fotógrafo paulistano de nome Jairo Goldflus - só que essa “versão” migrou para Los Angeles aos 18 anos e seguiu carreira na publicidade trabalhando em campanhas de Nike, Adidas e Apple. Ou seja, não é o Jairo real. 🙃</p>
<p>“<em>Quando não tem informação o suficiente entre seus bilhões ou trilhões de parâmetros, o ChatGPT segue fazendo aquilo que sabe fazer. Encadeia palavras, uma após a outra, baseando-se na probabilidade que depreendeu a partir dos bancos de dados com os quais foi alimentado. Não tendo informação, inventa. Inventa sem saber que está inventando. Porque não pensa, não sabe, só lista palavras uma a uma calculando probabilidade</em>”, explicou Pedro Dória no Meio, sua newsletter para assinantes.</p>
<p>A partir de agora, vamos investigar mais profundamente o que são alucinações de IA, como elas surgem e quais são as formas de identificá-las, com base em um <a target="_blank" href="https://www.marktechpost.com/2023/04/02/what-is-ai-hallucination-what-goes-wrong-with-ai-chatbots-how-to-spot-a-hallucinating-artificial-intelligence/">artigo</a> publicado no site MarTech Post.</p>
<h2 id="heading-o-que-e-alucinacao-de-ia">O que é alucinação de IA?</h2>
<p>O fenômeno conhecido como <strong>alucinação de inteligência artificial</strong> acontece quando um modelo de IA produz resultados que não são os previstos. (OBS: alguns modelos de IA foram ensinados a lançar outputs propositalmente sem conexão com inputs do mundo real.)</p>
<blockquote>
<p><strong><em>As alucinações de IA podem assumir muitas formas diferentes, desde a criação de fake news até afirmações ou documentos falsos sobre pessoas, eventos históricos ou fatos científicos. Por exemplo, um programa de IA como o ChatGPT pode fabricar uma figura histórica com uma biografia completa e realizações que nunca foram reais (algo como o que fez no caso do fotógrafo Jairo Goldflus).</em></strong></p>
</blockquote>
<p>⚠️ Na era atual de mídia social e comunicação imediata, onde um único tweet ou postagem no Instagram pode atingir milhões de pessoas em segundos, o potencial para que essas informações incorretas se espalhem rápida e amplamente é especialmente problemático.</p>
<h2 id="heading-por-que-ocorrem-as-alucinacoes-de-ia">Por que ocorrem as alucinações de IA?</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1681759961082/5c3cb894-c7fb-44ca-8cf6-ae851fbe203f.gif" alt class="image--center mx-auto" /></p>
<p>As alucinações de IA podem ser causadas pelo que chamamos de <strong>exemplos adversários</strong> - dados de entrada (inputs) que enganam um programa de IA para classificá-los erroneamente.</p>
<p>Por exemplo, os desenvolvedores usam dados (como imagens, textos ou outros tipos) para treinar sistemas de IA; se os dados forem alterados ou distorcidos, o aplicativo interpreta o input de forma diferente e produz um resultado incorreto.</p>
<p>Alucinações podem ocorrer em grandes modelos baseados em linguagem como ChatGPT e seus equivalentes devido à decodificação inadequada do <strong>transformador</strong> (modelo de aprendizado de máquina). Usando uma sequência de <strong>codificador-decodificador</strong> (input-output), um transformador em IA é um modelo de deep learning que emprega <strong><em>self-attention</em></strong> (auto-atenção: conexões semânticas entre palavras em uma frase) para criar um texto que se assemelha ao que um humano escreveria.</p>
<h2 id="heading-maneiras-de-identificar-a-alucinacoes-da-ia">Maneiras de identificar a alucinações da IA</h2>
<p>A <strong>visão computacional</strong> (<em>computer vision</em>), um subcampo da inteligência artificial, visa ensinar os computadores a extrair dados úteis do input visual, como imagens, desenhos, filmes e a vida real. Serve para treinar computadores para perceber o mundo como uma pessoa o percebe.</p>
<p>Ainda assim, como os computadores não são pessoas, eles devem contar com algoritmos e padrões para “entender” as imagens, em vez de ter acesso direto à percepção humana. Como resultado, uma IA pode ser incapaz de distinguir entre batatas fritas e folhas em mudança de estação, por exemplo.</p>
<p>Se a inteligência artificial não estivesse sendo rapidamente incorporada ao cotidiano, tudo isso seria absurdo e engraçado. Acontece que automóveis autônomos, onde alucinações podem resultar em fatalidades, já empregam IA. Embora isso não tenha acontecido, identificar itens de forma errada ao dirigir no mundo real é um risco palpável.</p>
<p>Aqui estão algumas técnicas para identificar alucinações de IA ao utilizar aplicativos populares:</p>
<h3 id="heading-1-grandes-modelos-de-processamento-de-linguagem-llms">1. Grandes modelos de processamento de linguagem (LLMs)</h3>
<p>Erros gramaticais em informações geradas por um LLM como o ChatGPT são incomuns, mas, quando ocorrem, você deve suspeitar de alucinações - assim como quando o texto não faz sentido, não se encaixa no contexto fornecido ou não corresponde aos dados de entrada.</p>
<h3 id="heading-2-visao-computacional">2. Visão computacional</h3>
<p>Alucinações ocorrerão se os padrões de dados visuais utilizados para o treinamento mudarem. Por exemplo, um computador pode reconhecer equivocadamente uma bola de tênis como verde ou laranja se ela ainda não tiver sido educada com imagens de bolas de tênis. Um computador também pode experimentar uma alucinação de IA se interpretar erroneamente um cavalo parado ao lado de uma estátua humana como um cavalo real.</p>
<h3 id="heading-3-carros-autonomos">3. Carros autônomos</h3>
<p>Os carros autônomos estão ganhando força progressivamente na indústria automotiva graças à IA. Os pioneiros BlueCruise da Ford e o piloto automático da Tesla promoveram a iniciativa. Você pode aprender um pouco sobre como a IA alimenta os automóveis autônomos observando como e o que o Tesla Autopilot percebe.</p>
<h2 id="heading-resumindo">Resumindo…</h2>
<p>As alucinações de IA resultam de dados inadequados ou insuficientes usados para treinar e projetar o sistema.</p>
<p>Os riscos de alucinação de IA devem ser considerados, especialmente ao usar outputs de IA generativa para tomadas de decisão importantes.</p>
<blockquote>
<p><strong><em>Embora a IA possa ser uma ferramenta extremamente útil, ela deve ser vista como um primeiro rascunho que os humanos precisam revisar e validar cuidadosamente.</em></strong></p>
</blockquote>
<p>Estamos longe de podermos confiar cegamente nos outputs apresentados, e essa certeza deve aumentar de acordo com a seriedade do caso de uso da IA.</p>
<p>Por isso, siga essas dicas para evitar possíveis problemas:</p>
<ul>
<li><p>Pense: será que a resposta que você precisa não seria obtida de forma mais satisfatória pelo bom e velho pensamento humano? (Cuidado com a atrofia mental!)</p>
</li>
<li><p>Cheque sempre os outputs apresentados pela IA (quanto mais sério o assunto, mais atenta e criteriosa deve ser a sua checagem).</p>
</li>
<li><p>Aprenda a elaborar prompts adequados (a qualidade do seu input de dados vai afetar diretamente a qualidade da resposta).</p>
</li>
</ul>
<p>Enfim, é provável que a IA vai seguir alucinando por um tempo. O que você não pode fazer é, em caso de problema, se isentar da responsabilidade de ter usado o output sem checá-lo previamente. Se você já sabe que essa tecnologia ainda é falha, confiar 100% nela é, no mínimo, irresponsável.</p>
]]></content:encoded></item><item><title><![CDATA[IA e Python: aprenda se quiser um emprego na área]]></title><description><![CDATA[A relação entre IA e Python está se estreitando, deixando cada vez mais claro que essa é a linguagem de programação certa para quem não quer passar sustos com a sua empregabilidade em um futuro próximo. Conheça a opinião de Matt Asay, da MongoDB, pub...]]></description><link>https://blog.bohr.io/ia-e-python-aprenda-se-quiser-um-emprego-na-area</link><guid isPermaLink="true">https://blog.bohr.io/ia-e-python-aprenda-se-quiser-um-emprego-na-area</guid><category><![CDATA[Artificial Intelligence]]></category><category><![CDATA[Python]]></category><category><![CDATA[Machine Learning]]></category><category><![CDATA[large language models]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Tue, 04 Apr 2023 18:44:02 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1680632966041/969a5adb-93ce-4f45-8ff1-2c18c37784c2.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong><em>A relação entre IA e Python está se estreitando, deixando cada vez mais claro que essa é a linguagem de programação certa para quem não quer passar sustos com a sua empregabilidade em um futuro próximo. Conheça a opinião de Matt Asay, da MongoDB, publicada na</em></strong> <a target="_blank" href="https://www.infoworld.com/article/3692453/if-you-want-a-career-in-ai-learn-python.html"><strong><em>InfoWorld</em></strong></a><strong><em>.</em></strong></p>
<p>Habilidades relacionadas à <strong>inteligência artificial</strong>, ao <strong>aprendizado de máquina</strong> (<em>machine learning</em> - ML) e aos <strong>modelos de linguagem avançados</strong> (<em>large language models</em> - LLMs) estão com alta demanda em várias indústrias.</p>
<p>Mas calma, a IA não vai tomar seu emprego (pelo menos não ainda). Segundo Matt Asay, <strong>os melhores usos da inteligência artificial e do aprendizado de máquina complementam a criatividade humana em vez de substituí-la</strong>.</p>
<p>Ironicamente, os principais modelos de linguagem avançados são treinados - talvez nem sempre de forma legal - utilizando produtos com direitos autorais da criatividade humana. Então, provavelmente, pessoas e robôs vão coexistir pacificamente em um futuro previsível.</p>
<p>Mesmo assim, algumas indústrias estão adotando a IA de forma mais agressiva do que outras, como revelado no mais recente <a target="_blank" href="https://aiindex.stanford.edu/report/">Relatório AI Index de 2022</a> do <em>Stanford Institute for Human-Centered Artificial Intelligence</em> (Instituto de Inteligência Artificial Centrada no Ser Humano da Universidade Stanford).</p>
<p>Durante o último ano, praticamente todas as indústrias aumentaram seus investimentos em pessoas com habilidades em IA, com ofertas de emprego ainda mais centradas em IA por empresas dos seguintes setores:</p>
<ul>
<li><p>Informação (5,3%);</p>
</li>
<li><p>Serviços profissionais, científicos e técnicos (4,1%);</p>
</li>
<li><p>Finanças e seguros (3,3%).</p>
</li>
</ul>
<blockquote>
<p><strong><em>Se você está preocupado com seu emprego ou simplesmente quer aproveitar essa tendência, a dica de Matt Asay é uma só: aprenda Python.</em></strong></p>
</blockquote>
<h2 id="heading-empresas-assumem-a-lideranca-em-pesquisas-de-iaml"><strong>Empresas assumem a liderança em pesquisas de IA/ML</strong></h2>
<p>Até 2014, a academia era o centro do universo do aprendizado de máquina. Não mais. Grandes empresas assumiram o protagonismo de IA/ML desde 2014 e, em 2022, empresas lançaram 32 modelos de aprendizado de máquina, enquanto a academia lançou apenas três. As instituições acadêmicas não conseguem acompanhar o ritmo dos dados, ciclos de CPU e dinheiro que a indústria traz.</p>
<p>Especificamente falando de dinheiro: enquanto um modelo de linguagem avançado como o GPT-2 custou US$ 50 mil para treinar em 2019, o PaLM custou cerca de US$ 8 milhões para ser treinado, com 360 vezes mais parâmetros do que o GPT-2 (que era de ponta na sua época).</p>
<p>Governos poderiam arcar com esse tipo de investimento, mas eles têm se preocupado principalmente em tentar (sem sucesso) regular os modelos de linguagem avançados. Consequentemente, a indústria tem preenchido essa lacuna.</p>
<p>Ao fazer isso, o apetite das empresas por talentos em IA/ML aumentou em quase todos os setores industriais americanos. Em média, o número de postagens de emprego relacionadas à IA/ML aumentou de 1,7% em 2021 para 1,9% em 2022. Esse número pode parecer pequeno, mas essas porcentagens são de todas as ofertas de emprego nos EUA. Chegar a 2% é enorme, dado o quão pouco comprovada ainda é a IA/ML para a maioria das empresas.</p>
<p>Como mencionado anteriormente, alguns setores têm taxas muito mais altas de postagens de emprego que exigem expertise em IA/ML.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1680631421171/c7feabd2-da6c-473f-ba41-af369f3c0547.png" alt="empregos IA nos EUA por setor - 2022" class="image--center mx-auto" /></p>
<p><em>A porcentagem de empregos que exigem habilidades de IA está crescendo na maioria dos setores. (Fonte: Stanford Institute for Human-Centered Artificial Intelligence)</em></p>
<p>Em termos de dinheiro, o setor <strong>médico e de saúde</strong> lidera o caminho com US$ 6,1 bilhões em investimentos em IA em 2022. Logo atrás da área de saúde vem a <strong>gestão de dados</strong>, <strong>processamento e nuvem</strong> (US$ 5,9 bilhões); depois, o setor de <strong>fintech</strong> (US$ 5,5 bilhões).</p>
<p>De acordo com o relatório, as empresas usam a IA de várias maneiras, mas as áreas principais incluem <strong>automação de processos robóticos (39%)</strong>, <strong>visão computacional (34%)</strong>, <strong>compreensão de texto em linguagem natural (33%)</strong> e <strong>agentes virtuais (33%)</strong>.</p>
<p>Quanto aos casos de uso, o principal abraçado em 2022 foi a <strong>otimização das operações de serviço (24%)</strong>. Outros casos populares foram a <strong>criação de novos produtos baseados em IA (20%),</strong> <strong>segmentação de clientes (19%)</strong>, <strong>análise de serviços ao cliente (19%)</strong> e novas <strong>melhorias baseadas em IA de produtos (19%)</strong>.</p>
<h2 id="heading-os-efeitos-da-ia-no-mercado-de-trabalho"><strong>Os efeitos da IA no mercado de trabalho</strong></h2>
<p>De acordo com um <a target="_blank" href="https://arxiv.org/pdf/2303.10130.pdf">estudo</a> realizado por pesquisadores da Universidade da Pensilvânia e financiado pela <a target="_blank" href="https://openai.com/">OpenAI</a>, "<em>cerca de 80% da força de trabalho dos EUA pode ter pelo menos 10% de suas tarefas de trabalho afetadas pela introdução de LLMs, enquanto aproximadamente 19% dos trabalhadores podem ver pelo menos 50% de suas tarefas impactadas</em>".</p>
<h3 id="heading-quem-esta-em-risco">Quem está em risco? 😨</h3>
<p>Contadores, matemáticos, intérpretes e escritores criativos, entre outros.</p>
<h3 id="heading-quem-nao-esta-em-risco">Quem não está em risco? 😌</h3>
<p>Profissionais focados em trabalho mais físico, como cozinheiros, mecânicos ou trabalhadores de petróleo e gás (no entanto, os veículos elétricos podem estar chegando para este último grupo).</p>
<p>Esta notícia não precisa ser ruim, é claro. Como estamos vendo com o desenvolvimento de software, a inteligência artificial pode remover parte do tédio de um determinado trabalho, liberando funcionários (neste caso, desenvolvedores) para se concentrarem em tarefas de maior valor.</p>
<blockquote>
<p><strong>Para aqueles que procuram aumentar suas chances nesse futuro impulsionado pela IA, o relatório de Stanford destaca uma tecnologia em particular acima das outras: a linguagem</strong> <a target="_blank" href="https://www.python.org/"><strong>Python</strong></a><strong>.</strong></p>
</blockquote>
<h2 id="heading-python-e-o-santo-graal-da-ia"><strong>Python e o Santo Graal da IA</strong></h2>
<p>O impacto do Python na ciência de dados não deve ser uma surpresa. Matt Asay escreveu em 2021 que "<em>a linguagem mais provável de dominar [a ciência de dados] é aquela que é mais acessível para a população mais ampla dentro da empresa</em>".</p>
<p>Um ano, isso ainda era verdade: <em>"À medida que as organizações buscam um grupo mais diverso para ajudar na ciência de dados, a apelação em massa do Python torna mais fácil a entrada</em>", reforçou Asay.</p>
<blockquote>
<p><strong><em>Assim, cada vez mais, o Python é a linguagem preferida tanto para especialistas como para iniciantes quando mergulham na ciência de dados.</em></strong></p>
</blockquote>
<p>No relatório de Stanford, o Python se destaca tanto pelo seu crescimento relativo em comparação com outras habilidades desejadas quanto pelo seu crescimento absoluto:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1680631552983/dbc09523-d352-4ed0-b789-dda6631601f0.png" alt="top 10 das habilidades específicas para empregos de IA nos EUA" class="image--center mx-auto" /></p>
<p><em>Todas as habilidades relacionadas à IA tiveram um grande salto na demanda, com o Python liderando o caminho. (Fonte: Stanford Institute for Human-Centered Artificial Intelligence)</em></p>
<p>Segundo Asay, existem várias razões pelas quais o Python continua a liderar em ciência de dados (em geral) e IA/ML (especificamente):</p>
<ul>
<li><p>Python ajuda a reduzir a complexidade inerente à IA/ML, fornecendo uma série de bibliotecas poderosas que simplificam o desenvolvimento.</p>
</li>
<li><p>É também simples e consistente, com uma sintaxe clara que é legível para humanos, diminuindo a barreira para se tornar proficiente.</p>
</li>
<li><p>Python também vem com uma comunidade ampla e acolhedora para ajudar os desenvolvedores a se tornarem produtivos mais rapidamente, enquanto é executado em praticamente qualquer plataforma que você possa querer usar.</p>
</li>
</ul>
<h2 id="heading-resumindo"><strong>Resumindo…</strong></h2>
<p>Matt Asay acredita que a IA pode tornar obsoletas algumas partes do trabalho dos desenvolvedores, dado a habilidade das máquinas de fazerem coisas de forma mais eficiente do que os humanos. No entanto, especialmente para aqueles que aprendem Python, deverá haver muitas oportunidades para abraçar a ascensão da revolução robótica e adaptá-la às suas necessidades (e às do seu empregador) usando Python e outras ferramentas.</p>
<p>Então, se você curte IA e estava em dúvida sobre qual linguagem de programação aprender - ou afiar suas habilidades -, Python parece ser o caminho. 🐍</p>
]]></content:encoded></item><item><title><![CDATA[GitHub Copilot X and the redefinition of the role of programmers]]></title><description><![CDATA[🛂 Versão Português Brasil
GitHub announced Copilot X, their next-gen coding assistant powered by GPT-4. We can tell you this: it makes the old Copilot look like a child's toy.
According to the YouTube channel Fireship, you might feel a bit pessimist...]]></description><link>https://blog.bohr.io/github-copilot-x-and-the-redefinition-of-the-role-of-programmers</link><guid isPermaLink="true">https://blog.bohr.io/github-copilot-x-and-the-redefinition-of-the-role-of-programmers</guid><category><![CDATA[GitHub]]></category><category><![CDATA[github copilot]]></category><category><![CDATA[openai]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Mon, 27 Mar 2023 20:50:46 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679949805773/6570d91c-a849-44f3-866a-fbccf45d370f.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>🛂 <a target="_blank" href="https://blog.bohr.io/github-copilot-x-e-a-redefinicao-do-papel-dos-programadores"><strong><em>Versão Português Brasil</em></strong></a></p>
<p>GitHub announced <a target="_blank" href="https://github.com/features/preview/copilot-x">Copilot X</a>, their next-gen coding assistant powered by GPT-4. We can tell you this: it makes the old Copilot look like a child's toy.</p>
<p>According to the YouTube channel <a target="_blank" href="https://www.youtube.com/watch?v=q1HZj40ZQrM">Fireship</a>, you might feel a bit pessimistic once all of our open-source code, Stack Overflow answers, and tutorials have been used to build large language models that are now being aggressively deployed to automate white-collar jobs.</p>
<p>But fear not, brave developer, because programming is not dead! 🦾 The AI inflection point of 2023 that we’re living in won’t wipe out your job if you keep pace with this ever-growing technology.</p>
<p>The guys at the Fireship said that AI still can't deliver a great product to the end user and will need programmers who understand how to build these systems - but now, they'll be able to build them 10x faster thanks to AI tooling.</p>
<p>Bottom line: It's a great time to be alive if you love building things! 🔥</p>
<p>But we have a kind of menacing scenario being built with this fast-as-lightning evolution.</p>
<h2 id="heading-microsoft-is-setting-the-game-rules"><strong>Microsoft is setting the game rules</strong></h2>
<p>“The scary thing, though, is that Microsoft is single-handedly dominating the space", said Fireship.</p>
<p>Last week was a parade of new products: Bing Chat, Copilot for Office, Bing Image Generator, and now Copilot X.</p>
<p>But hey, hats off to Microsoft's persistence with Bing, right? They endured over a decade of people trashing it. During that time, the company acquired GitHub and took a significant stake in OpenAI. “And now, in just a week, all of their products look years ahead of the competition”, said Fireship.</p>
<h2 id="heading-five-copilot-xs-features-that-will-change-coding-forever"><strong>Five Copilot X’s features that will change coding forever</strong></h2>
<p>GitHub Copilot X is currently in technical preview, so you can't use it today. 😭 Still, it has at least five game-changing features:</p>
<ul>
<li><p><strong>Chat window:</strong> With this built-in chat window tool, you will get to highlight a block of code and ask for a description, or ask it to refactor it - or better yet, have it generate some unit tests. These things you can already do with ChatGPT, but now it'll be highly specialized for coding problems directly in your IDE - and, most importantly, it'll have the context of your code base. Remember: GPT 4 can handle 25 000 tokens versus only 3 000 in GPT 3.5.</p>
</li>
<li><p><strong>Tailored docs:</strong> Instead of going to the actual docs or Stack Overflow, with Copilot for Documentation, you will generate answers based on specific library documentation. GitHub is integrating the docs for React, Azure, and MDN, allowing you to generate answers and tutorials on the fly (ok, programming instructors, maybe here you’re allowed to feel a little afraid of becoming obsolete). 😬</p>
</li>
<li><p><strong>Voice coding:</strong>  With Voice Activated Copilot, you won't have to be a super fast typist. Now it's possible to control VS Code and write code entirely from voice commands. Besides being quicker than typing, this feature allows you to write code when you otherwise couldn't, like when you're running on the treadmill or in traffic. "The keyboard won't become obsolete, but it'll revolutionize the way things get done in the same way Alexa changed the way people do things in the household," said Fireship.</p>
</li>
<li><p><strong>PR descriptions:</strong> Copilot for Pull Requests is a relief for those who suffer from a nervous breakdown whenever submit a pull request to an important project and struggle to figure out the appropriate description.  Copilot X can generate that description based on the changes that you made to the code.</p>
</li>
<li><p><strong>AI CLI:</strong> You no longer need to memorize endless Linux commands. AI auto-completion will happen both in the text editor and the terminal. All you have to do is to tell it what you want, inform a Library (like FFmpeg), and it will generate the command along with an explanation. From there, you can run it or revise it if needed.</p>
</li>
</ul>
<p>Have you got anxious? We too! But all we can do for now is to sit back and check the e-mail once in a while to start playing with this groundbreaking new toy from Microsoft.</p>
<p>You can join the GitHub Copilot chat waitlist <a target="_blank" href="https://github.com/github-copilot/chat_waitlist_signup">here</a>.</p>
]]></content:encoded></item><item><title><![CDATA[GitHub Copilot X e a redefinição do papel dos programadores]]></title><description><![CDATA[🛂 English Version
O GitHub anunciou o Copilot X, seu assistente de codificação de última geração desenvolvido com GPT-4. Pode acreditar: ele faz com que o velho Copilot pareça ultrapassado.
De acordo com o canal do YouTube Fireship, é provável que o...]]></description><link>https://blog.bohr.io/github-copilot-x-e-a-redefinicao-do-papel-dos-programadores</link><guid isPermaLink="true">https://blog.bohr.io/github-copilot-x-e-a-redefinicao-do-papel-dos-programadores</guid><category><![CDATA[GitHub]]></category><category><![CDATA[github copilot]]></category><category><![CDATA[openai]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Mon, 27 Mar 2023 20:42:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679949293586/0f9e3cb2-a1b9-4bd6-a9fc-82a3e7a65bef.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>🛂 <a target="_blank" href="https://blog.bohr.io/github-copilot-x-and-the-redefinition-of-the-role-of-programmers"><strong><em>English Version</em></strong></a></p>
<p>O GitHub anunciou o <a target="_blank" href="https://github.com/features/preview/copilot-x">Copilot X</a>, seu assistente de codificação de última geração desenvolvido com GPT-4. Pode acreditar: ele faz com que o velho Copilot pareça ultrapassado.</p>
<p>De acordo com o canal do YouTube <a target="_blank" href="https://www.youtube.com/watch?v=q1HZj40ZQrM">Fireship</a>, é provável que o Copilot X faça você se sentir um pouco pessimista, uma vez que todo o código-fonte aberto, as respostas do Stack Overflow e os tutoriais existentes foram usados para criar grandes modelos de linguagem que agora estão sendo implantados agressivamente para automatizar trabalhos repetitivos.</p>
<p>Mas não tema, bravo desenvolvedor, porque a programação não está morta! 🦾 O ponto de inflexão da IA em 2023 que estamos vivendo não acabará com seu emprego se você acompanhar o passo dessa tecnologia em constante crescimento.</p>
<p>Os caras do Fireship disseram que a IA ainda não pode entregar um ótimo produto ao usuário final e precisará de programadores que entendam como construir esses sistemas - a diferença é que agora eles poderão construí-los 10 vezes mais rápido graças às novas ferramentas.</p>
<p>Resumindo: este é um ótimo momento para estar vivo se você adora construir coisas! 🔥</p>
<p>Acontece que temos um cenário intimidante sendo construído com essa evolução super rápida…</p>
<h2 id="heading-a-microsoft-esta-definindo-as-regras-do-jogo"><strong>A Microsoft está definindo as regras do jogo</strong></h2>
<p>“O mais assustador, porém, é que a Microsoft está dominando o espaço sozinha”, alertou o vídeo do Fireship.</p>
<p>A semana passada foi um desfile de novos produtos: Bing Chat, Copilot for Office, Bing Image Generator e agora Copilot X.</p>
<p>Mas é preciso tirar o chapéu para a persistência da Microsoft com o Bing, certo? Eles suportaram mais de uma década de críticas públicas ao seu navegador. Durante esse tempo, a empresa adquiriu o GitHub e assumiu uma participação significativa na OpenAI. “E agora, em apenas uma semana, todos os seus produtos estão anos à frente da concorrência”, disse o Fireship.</p>
<h2 id="heading-cinco-recursos-do-copilot-x-que-mudarao-a-codificacao-para-sempre"><strong>Cinco recursos do Copilot X que mudarão a codificação para sempre</strong></h2>
<p>O GitHub Copilot X está atualmente em visualização técnica, então você não pode usá-lo hoje. 😭 Ainda assim, ele tem pelo menos cinco recursos que vão mudar o jogo:</p>
<ul>
<li><p><strong>Chat Window:</strong> com esta ferramenta de janela de bate-papo integrada você poderá destacar um bloco de código e solicitar uma descrição ou refatorá-lo - ou melhor ainda, gerar alguns testes de unidade. Essas coisas você já pode fazer com o ChatGPT, mas agora o Copilot X será altamente especializado para codificar problemas diretamente em seu IDE - e, mais importante, terá o contexto de sua base de código. Lembre-se: o GPT 4 pode lidar com 25.000 tokens contra apenas 3.000 no GPT 3.5.</p>
</li>
<li><p><strong>Documentos personalizados:</strong> em vez de ir para os documentos reais ou o Stack Overflow, com o Copilot for Documentation você gerará respostas com base na documentação específica da biblioteca. O GitHub está integrando os documentos para React, Azure e MDN, permitindo que você gere respostas e tutoriais em tempo real (ok, instrutores de programação, talvez aqui vocês possam sentir um pouco de medo de se tornarem obsoletos). 😬</p>
</li>
<li><p><strong>Codificação por voz:</strong> Com o Voice Activated Copilot você não precisa ser um digitador super rápido. Agora é possível controlar o VS Code e escrever código inteiramente a partir de comandos de voz. Além de ser mais rápido do que digitar, esse recurso permite escrever código quando anteriormente  você não conseguiria, como correndo na esteira ou se deslocando no trânsito. “O teclado não se tornará obsoleto, mas isso revolucionará a maneira como as coisas são feitas, da mesma forma que a Alexa mudou a maneira como as pessoas fazem as coisas em casa”, disse o Fireship.</p>
</li>
<li><p><strong>Descrições de PR:</strong> Copilot for Pull Requests é um alívio para aqueles que sofrem de colapsos nervosos sempre que enviam um pull request para um projeto importante e lutam para descobrir a descrição mais apropriada. O Copilot X pode gerar essa descrição com base nas alterações feitas no código.</p>
</li>
<li><p><strong>AI CLI:</strong> você não precisa mais memorizar comandos infinitos do Linux. O preenchimento automático de IA acontecerá tanto no editor de texto quanto no terminal. Tudo o que você precisa fazer é dizer o que deseja, informar uma biblioteca (como FFmpeg) e ele irá gerar o comando junto com uma explicação. A partir daí, você pode executá-lo ou revisá-lo, se necessário.</p>
</li>
</ul>
<p>E aí? Ficou ansioso? Nós também! Mas tudo o que podemos fazer por enquanto é esperar e verificar o e-mail de vez em quando para começar a brincar com a novidade da Microsoft.</p>
<p>Você pode entrar na lista de espera do bate-papo do GitHub Copilot X <a target="_blank" href="https://github.com/github-copilot/chat_waitlist_signup">aqui</a>.</p>
]]></content:encoded></item><item><title><![CDATA[Edge computing and Cloudflare Workers: The combination that's changing application development]]></title><description><![CDATA[🛂 Versão Português Brasil
The evolution of technology does not stop. Naturally, the need to process data and information in real time has grown exponentially. To meet this demand, edge computing has proven to be an effective solution to accelerate p...]]></description><link>https://blog.bohr.io/edge-computing-and-cloudflare-workers-the-combination-thats-changing-application-development</link><guid isPermaLink="true">https://blog.bohr.io/edge-computing-and-cloudflare-workers-the-combination-thats-changing-application-development</guid><category><![CDATA[edgecomputing]]></category><category><![CDATA[cloudflare-worker]]></category><category><![CDATA[cloudflare]]></category><category><![CDATA[deployment]]></category><category><![CDATA[serverless]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Wed, 22 Mar 2023 17:15:33 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679503733807/e7d2481d-ab01-46e0-8544-9a49ba4a8ca8.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>🛂 <a target="_blank" href="https://blog.bohr.io/edge-computing-e-cloudflare-workers-a-relacao-que-esta-transformando-o-desenvolvimento-de-aplicacoes"><em>Versão Português Brasil</em></a></p>
<p>The evolution of technology does not stop. Naturally, the need to process data and information in real time has grown exponentially. To meet this demand, edge computing has proven to be an effective solution to accelerate processing speed and improve the experience of both developers and end users of their applications.</p>
<p>Let's talk about a cutting-edge solution that took the edge computing experience to the next level: <a target="_blank" href="https://workers.cloudflare.com/">Cloudflare Workers⇗</a>. With this reading, you will understand how loading speed optimization and security improvement of a website or application works - which, consequently, increases its performance.</p>
<p>Let's start by conceptualizing each of these technologies.</p>
<h2 id="heading-what-is-edge-computing"><strong>What is edge computing?</strong></h2>
<p>Edge computing is a technology that allows data processing in real-time (or as close as possible) directly at the point of origin. This means that processing happens at the "edge" of the network rather than in a remote data center.</p>
<p>With this, latency is reduced, and processing speed is significantly faster.</p>
<p>Thus, edge computing is ideal for processing large amounts of data in real time, such as IoT sensors, streaming video, and applications that require low latency.</p>
<h2 id="heading-use-cases-of-edge-computing"><strong>Use cases of edge computing</strong></h2>
<p>A common use case for edge computing is controlling smart home devices such as smart thermostats or internet-connected light bulbs. Instead of sending data to a remote server, the processing is done locally on the device (or a nearby device), reducing latency and improving real-time response.</p>
<p>For example, a smart thermostat can collect data about the room temperature and automatically adjust it based on the user's preferences. As this information is processed in the thermostat itself, the device can respond more quickly to changes in temperature, and even be used when there is no stable internet connection.</p>
<p>Additionally, edge computing helps reduce data traffic on the network, which is particularly useful in areas with limited bandwidth. This can help improve overall network performance and reduce data transmission costs.</p>
<h2 id="heading-edge-computing-on-bohrio"><strong>Edge computing on bohr.io</strong></h2>
<p>For developers hosting/deploying their applications on <a target="_blank" href="http://bohr.io">bohr.io</a>, edge computing means ensuring that end-user access will happen on the server located closest to them.</p>
<blockquote>
<p><strong><em>With bohr.io, due to the use of edge computing, the hosted application will be distributed across several servers around the world (which increases its security due to decentralization), and the end user will access it through the closer server (which decreases latency).</em></strong></p>
</blockquote>
<p>In summary, the user of the application hosted on bohr.io benefits from faster responses. ⚡</p>
<h2 id="heading-what-are-cloudflare-workers"><strong>What are Cloudflare Workers?</strong></h2>
<p>Cloudflare Workers is a <a target="_blank" href="https://blog.bohr.io/what-is-serverless-computing-is-this-thing-for-me">serverless</a> computing platform that lets you run code (HTML, JavaScript, etc.) and images straight at the edge of Cloudflare's global network.</p>
<p>With this technology, it is possible to customize the server's behavior to offer a unique user experience.</p>
<p>Workers also let you run custom code directly to the edge without needing a dedicated server. In this way, it is possible to optimize the loading speed of a website and improve its security.</p>
<h2 id="heading-how-can-edge-computing-and-cloudflare-workers-help-your-application"><strong>How can edge computing and Cloudflare Workers help your application?</strong></h2>
<p>The combination of edge computing and Cloudflare Workers offers a powerful solution for optimizing the performance and security of a website or an application.</p>
<p>Here is a list of benefits that become possible with the connection between the two technologies:</p>
<ul>
<li><p><strong>Improve loading speed:</strong> Since processing happens directly at the network's edge, there's a significant reduction in response time. This improves the user experience and application performance.</p>
</li>
<li><p><strong>Reduce latency:</strong> Real-time data processing at the network's edge helps reduce latency, making the user experience faster and smoother.</p>
</li>
<li><p><strong>Increase security:</strong> Cloudflare offers several security solutions, including DDoS protection, web application firewall (WAF), and malicious content filtering. With the combination of Cloudflare Workers and edge computing, you can achieve higher levels of security.</p>
</li>
<li><p><strong>Customize server behavior:</strong> With server customization, you can offer a unique user experience - which, consequently, can improve sales conversion, increase customer retention and generate more revenue for your business.</p>
</li>
</ul>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>Using edge computing technology combined with Cloudflare Workers offers a powerful solution to optimize the speed, security, and customization of your website/application. By combining these technologies, you improve the user experience, which will drive positive effects on your business, such as increased customer retention and revenue generation.</p>
<p>With edge computing and Cloudflare Workers, you'll be operating at the forefront of technology while providing your users with an unparalleled experience.</p>
<p>Also, with the improved loading speed, you will boost your website ranking in search engines, generating more traffic and business opportunities.</p>
<p>Do you have doubts about the applicability of edge computing for your website or application? Leave a comment below or join the <a target="_blank" href="http://bohr.io">bohr.io</a> <a target="_blank" href="https://discord.com/invite/p3hhfGg2Uy">server on Discord⇗</a>. There are always people ready to help! 🤝</p>
]]></content:encoded></item><item><title><![CDATA[Edge Computing e Cloudflare Workers: a relação que está transformando o desenvolvimento de aplicações]]></title><description><![CDATA[🛂 English Version
A evolução da tecnologia não para e, naturalmente, a necessidade de processamento de dados e informações em tempo real tem crescido exponencialmente. A fim de atender a essa demanda, a edge computing (computação de borda) tem se mo...]]></description><link>https://blog.bohr.io/edge-computing-e-cloudflare-workers-a-relacao-que-esta-transformando-o-desenvolvimento-de-aplicacoes</link><guid isPermaLink="true">https://blog.bohr.io/edge-computing-e-cloudflare-workers-a-relacao-que-esta-transformando-o-desenvolvimento-de-aplicacoes</guid><category><![CDATA[edge computing]]></category><category><![CDATA[cloudflare-worker]]></category><category><![CDATA[deployment]]></category><category><![CDATA[cloudflare]]></category><category><![CDATA[serverless]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Tue, 21 Mar 2023 18:09:37 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679419404190/bb9e94cc-f440-4ca6-9815-f2d8ced87867.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>🛂 <a target="_blank" href="https://blog.bohr.io/edge-computing-and-cloudflare-workers-the-relation-thats-changing-application-development"><em>English Version</em></a></p>
<p>A evolução da tecnologia não para e, naturalmente, a necessidade de processamento de dados e informações em tempo real tem crescido exponencialmente. A fim de atender a essa demanda, a <strong>edge computing</strong> (computação de borda) tem se mostrado uma solução eficaz para acelerar a velocidade de processamento e melhorar a experiência tanto dos desenvolvedores quanto dos usuários finais de suas aplicações.</p>
<p>Vamos falar sobre uma solução de ponta que levou a experiência de uso da edge computing para outro patamar: o <a target="_blank" href="https://workers.cloudflare.com/">Cloudflare Workers</a>⇗. Com essa leitura, você será capaz de entender como funciona a otimização da velocidade de carregamento e o aprimoramento da segurança de um site ou aplicação - o que, consequentemente, incrementa o seu desempenho.</p>
<p>Vamos começar conceituando cada uma dessas tecnologias.</p>
<h2 id="heading-o-que-e-edge-computing"><strong>O que é edge computing?</strong></h2>
<p>Edge computing é uma tecnologia que permite o processamento de dados em tempo real (ou o mais próximo possível disso), diretamente no ponto de origem. Isso significa que o processamento acontece na "borda" da rede, em vez de ser realizado em um data center remoto.</p>
<p>Com isso, a latência é reduzida e a velocidade de processamento é significativamente mais rápida.</p>
<p>Assim, a edge computing é ideal para processar grandes quantidades de dados em tempo real, como sensores IoT, streaming de vídeo e aplicativos que exigem baixa latência.</p>
<h3 id="heading-exemplo-de-uso-da-edge-computing"><strong>Exemplo de uso da edge computing</strong></h3>
<p>Um caso de uso comum para a edge computing é o controle de dispositivos domésticos smart, como termostatos inteligentes ou lâmpadas conectadas à internet. Em vez de enviar dados para um servidor remoto, o processamento é feito localmente no dispositivo (ou em um dispositivo próximo), reduzindo a latência e melhorando a resposta em tempo real.</p>
<p>Por exemplo, um termostato inteligente pode coletar dados sobre a temperatura ambiente e ajustá-la automaticamente com base nas preferências do usuário. Como essas informações são processadas no próprio termostato, o dispositivo pode responder mais rapidamente às mudanças de temperatura, e até mesmo ser usado quando não há uma conexão de internet estável.</p>
<p>Além disso, a edge computing ajuda a reduzir o tráfego de dados na rede, o que é particularmente útil em áreas com largura de banda limitada. Isso pode ajudar a melhorar o desempenho geral da rede e reduzir os custos de transmissão de dados.</p>
<h3 id="heading-edge-computing-na-bohrio"><strong>Edge computing na</strong> <strong>bohr.io</strong></h3>
<p>Para os desenvolvedores que hospedam/fazem deploy de suas aplicações na <a target="_blank" href="http://bohr.io">bohr.io</a>, a edge computing representa a garantia de que o acesso do usuário final acontecerá no servidor localizado mais próximo dele.</p>
<blockquote>
<p><strong><em>Com a bohr.io, devido ao uso da edge computing, a aplicação hospedada estará distribuída por vários servidores espalhados pelo mundo (o que aumenta a sua sua segurança, devido à descentralização), e o usuário final vai acessá-la por meio do servidor mais próximo (o que diminui a latência)</em>.</strong> 🚀</p>
</blockquote>
<p>Em resumo, o usuário da aplicação hospedada na bohr.io é beneficiado por respostas mais rápidas. ⚡</p>
<h2 id="heading-o-que-e-cloudflare-workers"><strong>O que é Cloudflare Workers?</strong></h2>
<p><strong>Cloudflare Workers</strong> é uma plataforma de computação <a target="_blank" href="https://blog.bohr.io/o-que-e-serverless-esse-negocio-e-para-mim">serverless</a> que permite executar código (HTML, JavaScript etc.) e até imagens diretamente na borda da rede global da Cloudflare.</p>
<p>Com essa tecnologia, é possível personalizar o comportamento do servidor para oferecer uma experiência diferenciada ao usuário.</p>
<p>O Workers também permite executar códigos personalizados diretamente na borda, sem precisar de um servidor dedicado. Dessa forma, é possível otimizar a velocidade de carregamento de um site e melhorar a sua segurança.</p>
<h2 id="heading-como-edge-computing-e-cloudflare-workers-podem-ajudar-a-sua-aplicacao"><strong>Como edge computing e Cloudflare Workers podem ajudar a sua aplicação?</strong></h2>
<p>A combinação da edge computing e o Cloudflare Workers oferece uma solução poderosa para otimizar o desempenho e a segurança de um site ou uma aplicação.</p>
<p>Eis uma lista de benefícios que se tornam possíveis com a relação entre as duas tecnologias:</p>
<ul>
<li><p><strong>Melhorar a velocidade de carregamento:</strong> como o processamento acontece diretamente na borda da rede, o tempo de resposta é significativamente reduzido. Isso melhora a experiência do usuário e a performance da aplicação.</p>
</li>
<li><p><strong>Reduzir a latência:</strong> o processamento de dados em tempo real na borda da rede ajuda a reduzir a latência, tornando a experiência do usuário mais rápida e fluida.</p>
</li>
<li><p><strong>Aumentar a segurança:</strong> a Cloudflare oferece várias soluções de segurança, incluindo proteção DDoS, firewall de aplicativos web (WAF) e filtragem de conteúdo malicioso. Com a combinação de Cloudflare Workers e edge computing, é possível ter uma segurança ainda mais robusta.</p>
</li>
<li><p><strong>Personalizar o comportamento do servidor:</strong> com a personalização do servidor, você consegue oferecer uma experiência única ao usuário - o que, consequentemente, pode melhorar a conversão de vendas, aumentar a retenção de clientes e gerar mais receita para o seu negócio.</p>
</li>
</ul>
<h2 id="heading-conclusao"><strong>Conclusão</strong></h2>
<p>A tecnologia da edge computing em conjunto com o Cloudflare Workers oferece uma solução poderosa para otimizar a velocidade, a segurança e a personalização do seu site/aplicação. Ao combinar essas tecnologias, você será capaz de melhorar a experiência do usuário - o que pode trazer efeitos positivos para o seu empreendimento, como o aumento da retenção de clientes e da geração de receita.</p>
<p>Com a edge computing e o Cloudflare Workers você estará operando na vanguarda da tecnologia e, ao mesmo tempo, oferecendo aos seus usuários uma experiência inigualável.</p>
<p>Além disso, com a velocidade de carregamento aprimorada, você poderá melhorar a classificação do seu site nos mecanismos de busca, gerando mais tráfego e oportunidades de negócios.</p>
<p>Ficou com dúvidas sobre a aplicabilidade da edge computing para o seu site ou aplicação? Deixe um comentário abaixo ou entre no <a target="_blank" href="https://discord.com/invite/p3hhfGg2Uy">servidor da</a> <a target="_blank" href="http://bohr.io">bohr.io</a> <a target="_blank" href="https://discord.com/invite/p3hhfGg2Uy">no Discord</a>⇗. Lá sempre tem gente pronta para ajudar! 🤝</p>
]]></content:encoded></item><item><title><![CDATA[Cold start em serverless: o problema superado que ainda gera preconceito]]></title><description><![CDATA[Até cerca de 4 anos atrás, o cold start em serverless computing realmente representava um problema, especialmente para aplicações que não permitiam tempo de espera para a sua inicialização.
🛂 English Version
Hoje, esta deficiência já foi superada e ...]]></description><link>https://blog.bohr.io/cold-start-em-serverless-o-problema-superado-que-ainda-gera-preconceito</link><guid isPermaLink="true">https://blog.bohr.io/cold-start-em-serverless-o-problema-superado-que-ainda-gera-preconceito</guid><category><![CDATA[serverless]]></category><category><![CDATA[lambda]]></category><category><![CDATA[Azure]]></category><category><![CDATA[GCP]]></category><category><![CDATA[coldstart]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Wed, 01 Mar 2023 21:16:55 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1677680783471/193d1a0e-1588-4455-85e4-5cc82a23a18d.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Até cerca de 4 anos atrás, o <strong>cold start em</strong> <a target="_blank" href="https://blog.bohr.io/o-que-e-serverless-esse-negocio-e-para-mim"><strong>serverless computing</strong></a> realmente representava um problema, especialmente para aplicações que não permitiam tempo de espera para a sua inicialização.</p>
<p>🛂 <a target="_blank" href="https://blog.bohr.io/cold-start-in-serverless-the-overcome-problem-that-still-generates-prejudice"><strong><em>English Version</em></strong></a></p>
<p>Hoje, esta deficiência já foi superada e o cold é praticamente insignificante. Mas, mesmo assim, ele ainda é apontado como um “problema do serverless”, principalmente por pessoas que apenas leram sobre o assunto e não utilizam essa tecnologia no dia a dia.</p>
<p>Neste artigo, vamos apresentar o conceito de cold start em serviços serverless, veremos as suas principais causas, como funciona o cold start nas Lambdas da AWS, no Microsoft Azure e na Google Cloud Platform (GCP), quais são as linguagens de programação mais eficientes e quais tecnologias têm sido usadas para a superação do problema.</p>
<h2 id="heading-o-que-e-cold-start-em-serverless">O que é cold start em serverless?</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1677703309148/6e333780-808f-4226-998d-ab7bad433c18.png" alt="cold start em serverless" class="image--center mx-auto" /></p>
<p>O serverless computing é uma das principais tendências da tecnologia atualmente, e um dos maiores benefícios desse tipo de computação é a <strong>escalabilidade automática</strong>, que permite que as empresas e desenvolvedores criem <strong>serviços altamente escaláveis ​​sem se preocupar com a infraestrutura subjacente</strong>.</p>
<p>No entanto, até uns 4 anos atrás, os desenvolvedores em serverless enfrentavam um problema chamado cold start, que ocorre quando uma função serverless é ativada pela primeira vez e há uma latência perceptível até que a função seja executada completamente.</p>
<blockquote>
<p><strong><em>O cold start é um termo utilizado para descrever o tempo que um serviço serverless leva para iniciar após ficar um período sem atividade. Quando um serviço está em "modo de espera", seu ambiente é desligado para economizar recursos e diminuir custos. Quando uma solicitação é recebida após um período de inatividade, o ambiente precisa ser reiniciado, o que pode levar a um atraso inicial.</em></strong></p>
</blockquote>
<p>O cold start afetava diretamente o desempenho do serviço e, portanto, a experiência do usuário, que era obrigado a esperar alguns segundos até que o serviço fosse executado completamente - o que era um problema crítico em algumas situações, como em transações financeiras, por exemplo.</p>
<h2 id="heading-o-que-e-o-cold-start-de-lambda-da-aws">O que é o cold start de Lambda da AWS?</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1677703648138/2450df0b-161e-4daa-bf05-91d3eebe64da.png" alt class="image--center mx-auto" /></p>
<p>O cold start de Lambda acontece quando uma função serverless é ativada pela primeira vez, ou após um período de inatividade, e precisa ser inicializada pelo serviço de computação da AWS. Isso pode levar a um atraso perceptível no tempo de execução da função, já que a infraestrutura precisa ser preparada para executar a função completamente.</p>
<p>As principais causas do cold start em uma Lambda da AWS incluem:</p>
<ul>
<li><p><strong>Ausência de instâncias em execução:</strong> quando uma função é ativada e não há nenhuma instância em execução, o serviço precisa criar uma nova instância e prepará-la para executar a função. Esse processo pode levar alguns segundos e resultar em um atraso perceptível na sua execução.</p>
</li>
<li><p><strong>Tempo de vida da instância:</strong> as instâncias que executam funções serverless na AWS têm um tempo de vida limitado e podem ser desativadas após um período de inatividade. Quando uma função é ativada após esse período, pode ser necessário criar uma nova instância, resultando em um cold start.</p>
</li>
<li><p><strong>Tamanho da função:</strong> funções serverless grandes ou complexas podem levar mais tempo para inicializar e, portanto, levar a um cold start mais perceptível.</p>
</li>
<li><p><strong>Linguagem de programação:</strong> Algumas linguagens de programação podem levar mais tempo para inicializar. É o que veremos agora.</p>
</li>
</ul>
<h3 id="heading-qual-e-a-melhor-linguagem-de-programacao-para-o-cold-start-de-lambda">Qual é a melhor linguagem de programação para o cold start de Lambda?</h3>
<p>A escolha da <strong>linguagem de programação</strong> pode ser um fator importante ao lidar com o cold start em serviços serverless. Algumas linguagens tendem a ter tempos de inicialização mais rápidos do que outras, o que pode influenciar a eficiência de uma função.</p>
<blockquote>
<p><strong><em>As linguagens de programação mais comuns em serviços serverless são o Node.js, Python, Java, Go e C#. Cada uma dessas linguagens tem suas vantagens e desvantagens em relação ao cold start.</em></strong></p>
</blockquote>
<p>🖳 <a target="_blank" href="https://nodejs.org/en/"><strong>Node.js</strong></a>⇗ é conhecido por ter tempos de inicialização mais rápidos do que outras linguagens. Isso se deve em parte ao fato de que o Node.js é executado em um único thread, o que simplifica a inicialização e reduz o tempo necessário para carregar módulos.</p>
<p>🖳 <a target="_blank" href="https://www.python.org/"><strong>Python</strong></a>⇗ também é uma boa escolha para o cold start de Lambda, pois é uma linguagem interpretada que não requer a compilação de código antes da execução. No entanto, o tempo de inicialização pode ser afetado pelo tamanho do código e pela complexidade do ambiente de execução.</p>
<p>🖳 <a target="_blank" href="https://www.java.com/pt-BR/"><strong>Java</strong></a>⇗ é uma linguagem compilada que pode levar mais tempo para ser inicializada, mas é conhecida por ser eficiente em termos de desempenho uma vez que a inicialização é concluída. Além disso, a <a target="_blank" href="https://www.javatpoint.com/jvm-java-virtual-machine">JVM</a>⇗ (Java Virtual Machine) tem uma ampla variedade de ferramentas de otimização e depuração disponíveis.</p>
<p>🖳 <a target="_blank" href="https://go.dev/"><strong>Go</strong></a>⇗ é uma linguagem que foi projetada para ter tempos de inicialização rápidos e é conhecida por ser eficiente em termos de desempenho. É uma boa escolha para serviços serverless que precisam de um alto nível de desempenho e baixa latência.</p>
<p>🖳 <a target="_blank" href="https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/"><strong>C#</strong></a>⇗ é uma linguagem que oferece suporte à compilação just-in-time (JIT) e pode ter tempos de inicialização mais longos. No entanto, o C# é conhecido por ser uma linguagem de programação poderosa e flexível.</p>
<p>💡 <em>Em resumo, não há uma resposta definitiva sobre qual é a melhor linguagem para lidar com o cold start em serviços serverless. Cada linguagem tem suas próprias vantagens e desvantagens e a escolha dependerá do contexto específico e das necessidades do projeto.</em></p>
<h3 id="heading-como-lidar-com-cold-start-de-lambda">Como lidar com cold start de Lambda?</h3>
<p>Ao lidar com o cold start de Lambda, existem várias técnicas e tecnologias disponíveis. Uma abordagem comum é o <strong>pré-aquecimento do ambiente</strong>, que consiste em manter uma instância da função sempre em execução, para que não ocorra o tempo de inicialização quando houver uma solicitação.</p>
<p>Outra técnica é o uso de <strong>hot functions</strong>, que envolve manter as funções em um estado “quente” para evitar que elas sejam desativadas e precisem ser reiniciadas. Isso pode ser feito através do uso de eventos programados ou chamadas de função regulares.</p>
<p>O uso de <strong>ferramentas de monitoramento e análise de desempenho</strong> também pode ser útil para identificar gargalos em suas funções e fazer ajustes para reduzir o tempo de inicialização.</p>
<p>💡 <em>É importante lembrar que essas técnicas e tecnologias podem ser usadas em conjunto para obter o melhor desempenho possível ao lidar com o cold start de Lambda.</em></p>
<h2 id="heading-o-que-e-o-cold-start-das-azure-functions">O que é o cold start das Azure Functions?</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1677704317691/59f51746-5fd4-4fc5-b149-6a8b9d2950b7.png" alt class="image--center mx-auto" /></p>
<p>Em primeiro lugar, é preciso fazer a distinção entre os dois tipos principais de Azure Functions da Microsoft: <strong>plano de consumo</strong> e <strong>plano dedicado</strong>.</p>
<p>O <strong>plano de consumo é o modelo serverless:</strong> o código reage a eventos, escala efetivamente para atender a qualquer carga e reduz quando o código não está em execução - e você é cobrado apenas pelo que usa. É nesse plano que acontece o cold start.</p>
<p>Já no <strong>plano dedicado</strong>, que envolve o aluguel do controle de uma máquina virtual, disponível 24 horas por dia, 7 dias por semana, não há cold starts - mas você paga por essa disponibilidade.</p>
<p>Assim como nas Lambdas da AWS, o cold start nas Azure Functions é o tempo total que um usuário deve esperar desde quando um evento acontece para iniciar uma função até que essa função conclua a resposta ao evento.</p>
<h3 id="heading-o-que-acontece-durante-um-cold-start-em-functions-da-azure">O que acontece durante um cold start em Functions da Azure?</h3>
<ul>
<li><p>A Azure aloca um servidor pré-configurado do pool de workers “mornos” para seu aplicativo. Este servidor já possui o tempo do Functions em execução, mas não é especializado.</p>
</li>
<li><p>Esse worker torna-se especializado configurando o tempo de execução da Function de maneiras específicas para seu aplicativo. Algumas coisas acontecem para fazer essa especialização:</p>
<ul>
<li><p>A infraestrutura da Azure Functions monta seu conteúdo de arquivos para o worker que lhe foi atribuído.</p>
</li>
<li><p>As configurações do aplicativo específicas para seu aplicativo de Function são aplicadas ao worker.</p>
</li>
</ul>
</li>
<li><p>O tempo de execução das Functions é redefinido e todas as extensões necessárias são carregadas no worker. Para descobrir quais extensões carregar, o tempo de execução lê os arquivos ``function.json`` de qualquer função no aplicativo de Functions. Por exemplo, isso acontece se você estiver usando Durable Functions ou se tiver chamadas de entrada ou saída.</p>
</li>
<li><p>As próprias funções são carregadas na memória pelos provedores de idioma. Isso levará uma quantidade variável de tempo com base no tamanho do seu aplicativo.</p>
</li>
<li><p>Seu código é executado.</p>
</li>
</ul>
<p>Se você executou sua função recentemente, as etapas 1 a 4 já ocorreram, os recursos já estão alocados e seu site está aquecido. Como você pode imaginar, neste cenário as coisas são consideravelmente mais rápidas.</p>
<blockquote>
<p><strong><em>A Azure desaloca recursos após aproximadamente 20 minutos de inatividade, após os quais sua próxima chamada será um cold start e todo esse processo acontecerá novamente.</em></strong></p>
</blockquote>
<h3 id="heading-quais-sao-as-melhores-linguagens-de-programacao-para-o-cold-start-da-azure">Quais são as melhores linguagens de programação para o cold start da Azure?</h3>
<p>A Microsoft aconselha as linguagens geralmente disponíveis, como C#, F# e JavaScript (há várias linguagens experimentais que não são totalmente suportadas e otimizadas, as quais geram um novo processo a cada execução, o que afeta bastante a latência).</p>
<h3 id="heading-como-evitar-totalmente-o-cold-start-na-microsoft-azure">Como evitar totalmente o cold start na Microsoft Azure?</h3>
<p>Assinando o plano dedicado você controla o que acontece em sua máquina virtual. Isso é um pouco mais caro e não é serverless, mas se sua solução tiver um requisito rígido de baixa latência em cada chamada individual, essa é a melhor saída.</p>
<p>Se a sua aplicação tem tolerância a uma pequena latência, saiba que as Azure Functions evoluíram o suficiente para que o cold start não seja mais um problema.</p>
<h2 id="heading-o-que-e-o-cold-start-nas-google-cloud-functions">O que é o cold start nas Google Cloud Functions?</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1677704485190/6eed5a76-f030-40d9-af7e-fd356c44c614.png" alt class="image--center mx-auto" /></p>
<p>Assim como nas Lambdas da AWS e nas Azure Functions, o cold start nas Google Cloud Functions ocorre quando a primeira solicitação chega após o deploy.</p>
<blockquote>
<p><strong><em>Depois do processamento desta solicitação, a instância permanece ativa por 15 minutos. Depois deste período, as instâncias são recicladas.</em></strong></p>
</blockquote>
<p>Com relação às <strong>principais linguagens de programação</strong> para as Google Cloud Functions no que tange os cold starts, esta é a sequência (da melhor para a pior performance, apesar de as diferenças serem mínimas): <strong>JavaScript</strong>, <strong>Go</strong> e <strong>Python</strong>.</p>
<p>O <strong>tamanho do pacote é outro</strong> fator que influencia o cold start nas Google Cloud Functions. Adicionar dependências, aumentando assim o tamanho do pacote implementado, aumentará as durações dos cold starts.</p>
<p>As funções com muitas dependências podem ser 5 vezes mais lentas para iniciar.</p>
<h2 id="heading-como-o-problema-do-cold-start-em-serverless-foi-superado">Como o problema do cold start em serverless foi superado?</h2>
<p>Nos últimos anos, várias tecnologias e abordagens foram desenvolvidas para a superação do problema do cold start em serviços serverless. Aqui estão as principais:</p>
<ul>
<li><p><a target="_blank" href="https://nodejs.dev/pt/learn/the-v8-javascript-engine/"><strong>Node.js V8 Engine</strong></a>⇗**:** o uso do Node.js com o engine V8 pode ajudar a reduzir o tempo de inicialização e melhorar o desempenho geral de uma função Lambda.</p>
</li>
<li><p><strong>Runtime Customization:</strong> essa abordagem permite a personalização do ambiente de execução de uma função Lambda, permitindo o pré-carregamento de bibliotecas e módulos específicos que são necessários para a função.</p>
</li>
<li><p><strong>Estratégias de cache:</strong> o uso de cache pode ajudar a reduzir o tempo de inicialização e ocorrência de cold start em funções lambda, principalmente quando se trata de requisições de rede e armazenamento de dados.</p>
</li>
<li><p><a target="_blank" href="https://aws.amazon.com/pt/blogs/aws/new-provisioned-concurrency-for-lambda-functions/"><strong>AWS Lambda Provisioned Concurrency</strong></a>⇗**:** essa tecnologia permite pré-alocar um número específico de instâncias de uma função Lambda, reduzindo o tempo de inicialização e o risco de cold start (essa merece um capítulo próprio).</p>
</li>
</ul>
<h2 id="heading-aws-provisioned-concurrency-e-o-fim-do-cold-start">AWS Provisioned Concurrency e o fim do cold start</h2>
<p><strong>Provisioned Concurrency</strong> (“simultaneidade provisionada”, em tradução literal) é um recurso da AWS que oferece mais controle sobre o desempenho de aplicativos serverless. Com ele, você ganha a habilidade de evitar o cold start nas funções Lambda.</p>
<p><strong>A simultaneidade provisionada permite criar aplicativos serverless escalonáveis com latência previsível.</strong> Você pode definir a simultaneidade desejada para todas as versões ou aliases de uma função.</p>
<p>A AWS Lambda prepara containers para suas funções, garantindo que eles possam ser invocados com latência de milissegundos de dois dígitos após serem chamados. Isso significa que as funções serverless podem se adaptar a picos repentinos de tráfego ou eventos de dimensionamento significativos sem aumentar a latência.</p>
<p>⚠️ No entanto, a simultaneidade provisionada tem um custo: <strong>você é cobrado a partir do momento em que a habilita, arredondada para os 5 minutos mais próximos</strong>. O preço é calculado de acordo com a quantidade de simultaneidade (número de chamadas de função simultâneas que podem ser executadas sem latência) e a quantidade de memória alocada.</p>
<p>Isso significa que você deve definir a simultaneidade provisionada com cuidado, especificando apenas o suficiente para suas cargas de trabalho, para evitar incorrer em custos desnecessários.</p>
<h2 id="heading-conclusao">Conclusão</h2>
<p>Ao longo deste artigo, apresentamos o conceito de cold start em serviços serverless e como ele pode afetar o desempenho de uma aplicação. Vimos também as principais causas do cold start em Lambdas da AWS e nas Functions da Azure e da Google Cloud Platform e estratégias para lidar com esse problema, como o pré-aquecimento do ambiente, o uso de hot functions, a escolha de linguagens de programação mais eficientes e o uso de ferramentas de monitoramento e análise de desempenho.</p>
<p>Além disso, discutimos a possibilidade de minimizar a latência e abordamos tecnologias recentes que têm sido usadas para a superação do problema do cold start.</p>
<p>Em resumo, foi-se o tempo em que lidar com o cold start em serviços serverless era um problemão para os desenvolvedores. A tecnologia evoluiu, e não só nos softwares. Surgiram novidades de hardware como SSDs e dispositivos de storage de alta velocidade. Tudo isso causou impactos positivos nas Lambdas e nas Functions. Os próprios computadores pessoais evoluíram, ocasionando melhores performances das aplicações.</p>
<p>Além disso, todas as plataformas citadas estão constantemente trabalhando para mitigar os efeitos do cold start, cada uma à sua maneira.</p>
<blockquote>
<p><strong>Assim, com hardwares e softwares evoluindo em conjunto, conseguimos diminuir a latência das aplicações, o que resultou no aprimoramento da experiência do usuário.</strong></p>
</blockquote>
<p>Embora (ainda) não seja possível evitar completamente o cold start em serviços serverless, hoje sua latência é tão pequena que fica até feio tentar justificar a não adesão a essa tecnologia usando o cold start como exemplo.</p>
<p>Então, se esse era o seu receio, pode abraçar os benefícios do serverless computing sem medo! 🚀</p>
]]></content:encoded></item><item><title><![CDATA[Cold Start in Serverless: The Overcome Problem That Still Generates Prejudice]]></title><description><![CDATA[🛂 Versão Português Brasil
About 4 years ago, cold start in serverless computing truly represented a problem, especially for applications that didn't allow for waiting time during their initialization.
Today, this deficiency has been overcome, and co...]]></description><link>https://blog.bohr.io/cold-start-in-serverless-the-overcome-problem-that-still-generates-prejudice</link><guid isPermaLink="true">https://blog.bohr.io/cold-start-in-serverless-the-overcome-problem-that-still-generates-prejudice</guid><category><![CDATA[serverless]]></category><category><![CDATA[lambda]]></category><category><![CDATA[AWS]]></category><category><![CDATA[Azure]]></category><category><![CDATA[coldstart]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Wed, 01 Mar 2023 14:25:59 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1679578999533/60d76918-d4af-4f16-8ffc-fba3b29dc7c9.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>🛂 <a target="_blank" href="https://blog.bohr.io/cold-start-em-serverless-o-problema-superado-que-ainda-gera-preconceito"><strong><em>Versão Português Brasil</em></strong></a></p>
<p>About 4 years ago, cold start in <a target="_blank" href="https://blog.bohr.io/what-is-serverless-computing-is-this-thing-for-me">serverless computing</a> truly represented a problem, especially for applications that didn't allow for waiting time during their initialization.</p>
<p>Today, this deficiency has been overcome, and cold start is practically insignificant. Yet, it's still referred to as a "serverless problem," mainly by people who have only read about the subject and don't use this technology daily.</p>
<p>In this article, we will introduce the concept of cold start in serverless services, explore its main causes, examine how cold start works in AWS Lambdas, Microsoft Azure, and Google Cloud Platform (GCP), identify the most efficient programming languages, and discuss the technologies used to overcome the problem.</p>
<h2 id="heading-what-is-cold-start-in-serverless"><strong>What is cold start in serverless?</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679579163390/ae8f07b4-fab4-41c8-b4f7-ba3280c27fbe.png" alt class="image--center mx-auto" /></p>
<p>Serverless computing is one of the main technology trends currently, and one of the most significant benefits of this type of computing is <strong>automatic scalability</strong>, allowing businesses and developers to create <strong>highly scalable services without worrying about the underlying infrastructure</strong>.</p>
<p>However, until about 4 years ago, serverless developers faced a problem called cold start, which occurs when a serverless function is triggered for the first time, and there's a noticeable latency until the function is fully executed.</p>
<blockquote>
<p><strong><em>Cold start is a term used to describe the time a serverless service takes to start after a period of inactivity. When a service is in "standby mode," its environment is shut down to save resources and reduce costs. When a request is received after a period of inactivity, the environment needs to be restarted, which can lead to an initial delay.</em></strong></p>
</blockquote>
<p>Cold start directly affected the service's performance and, therefore, the user experience, forcing users to wait a few seconds until the service was fully executed - a critical issue in some situations, such as in financial transactions, for example.</p>
<h2 id="heading-what-is-aws-lambda-cold-start"><strong>What is AWS Lambda cold start?</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679579255780/36bb7136-6365-47f3-9774-02e3647b00b2.png" alt class="image--center mx-auto" /></p>
<p>AWS Lambda cold start happens when a serverless function is activated for the first time or after a period of inactivity and needs to be initialized by the AWS computing service. This can lead to a noticeable delay in the function's execution time, as the infrastructure needs to be prepared to execute the function fully.</p>
<p>The main causes of cold start in an AWS Lambda include:</p>
<ul>
<li><p><strong>Lack of running instances:</strong> when a function is activated, and there are no running instances, the service needs to create a new instance and prepare it to execute the function. This process can take a few seconds and result in a noticeable delay in its execution.</p>
</li>
<li><p><strong>Instance lifespan:</strong> instances that run serverless functions on AWS have a limited lifespan and can be deactivated after a period of inactivity. When a function is activated after this period, a new instance may need to be created, resulting in a cold start.</p>
</li>
<li><p><strong>Function size:</strong> large or complex serverless functions may take longer to initialize and, therefore, cause a more noticeable cold start.</p>
</li>
<li><p><strong>Programming language:</strong> Some programming languages may take longer to initialize. We will explore this further now.</p>
</li>
</ul>
<h2 id="heading-what-is-the-best-programming-language-for-lambda-cold-start"><strong>What is the best programming language for Lambda cold start?</strong></h2>
<p>The choice of <strong>programming language</strong> can be an important factor when dealing with cold start in serverless services. Some languages tend to have faster startup times than others, which can influence a function's efficiency.</p>
<blockquote>
<p><strong><em>The most common programming languages in serverless services are Node.js, Python, Java, Go, and C#. Each of these languages has its advantages and disadvantages regarding cold start.</em></strong></p>
</blockquote>
<p>🖳 <a target="_blank" href="https://nodejs.org/en">Node.js⇗</a> is known for having faster startup times than other languages. This is partly due to Node.js running on a single thread, which simplifies initialization and reduces the time needed to load modules.</p>
<p>🖳 <a target="_blank" href="https://www.python.org/">Python⇗</a> is also a good choice for Lambda cold start, as it is an interpreted language that doesn't require code compilation before execution. However, the startup time can be affected by the code size and the complexity of the runtime environment.</p>
<p>🖳 <a target="_blank" href="https://www.java.com/">Java⇗</a> is a compiled language that may take longer to initialize, but it is known for its efficient performance once initialization is completed. Additionally, the <a target="_blank" href="https://www.javatpoint.com/jvm-java-virtual-machine">JVM⇗</a> (Java Virtual Machine) has a wide range of optimization and debugging tools available.</p>
<p>🖳 <a target="_blank" href="https://go.dev/">Go⇗</a> is a language designed for fast startup times and is known for its performance efficiency. It's a good choice for serverless services that require a high level of performance and low latency.</p>
<p>🖳 <a target="_blank" href="https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/">C#⇗</a> is a language that supports just-in-time (JIT) compilation and may have longer startup times. However, C# is known for being a powerful and flexible programming language.</p>
<p>💡 <em>In summary, there isn't a definitive answer to which is the best language for handling cold start in serverless services. Each language has its advantages and disadvantages, and the choice will depend on the specific context and project requirements.</em></p>
<h2 id="heading-what-is-the-cold-start-of-azure-functions"><strong>What is the cold start of Azure Functions?</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679579392084/517c2c12-33ba-4a89-bc61-72c321494243.png" alt class="image--center mx-auto" /></p>
<p>First and foremost, it is essential to distinguish between the two main types of Microsoft Azure Functions: the <strong>consumption plan</strong> and the <strong>dedicated plan</strong>.</p>
<p><strong>The consumption plan is the serverless model:</strong> the code reacts to events, scales effectively to meet any load, and reduces when the code is not running - and you are only charged for what you use. It is in this plan that the cold start occurs.</p>
<p>In the <strong>dedicated plan</strong>, which involves renting control of a virtual machine available 24/7, there are no cold starts - but you pay for this availability.</p>
<p>Similar to AWS Lambdas, the cold start in Azure Functions is the total time a user must wait from when an event occurs to start a function until that function completes the response to the event.</p>
<h3 id="heading-what-happens-during-a-cold-start-in-azure-functions"><strong>What happens during a cold start in Azure Functions?</strong></h3>
<ul>
<li><p>Azure allocates a pre-configured server from the "warm" worker pool to your application. This server already has the Functions runtime running, but it is not specialized.</p>
</li>
<li><p>This worker becomes specialized by configuring the Function runtime in specific ways for your application. Some things happen to make this specialization:</p>
<ul>
<li><p>The Azure Functions infrastructure mounts your file content to the assigned worker.</p>
</li>
<li><p>Application-specific settings for your Function application are applied to the worker.</p>
</li>
</ul>
</li>
<li><p>The Functions runtime is reset, and all necessary extensions are loaded onto the worker. To find out which extensions to load, the runtime reads the <code>function.json</code> files of any functions in the Functions application. For example, this occurs if you are using Durable Functions or if you have input or output calls.</p>
</li>
<li><p>The functions themselves are loaded into memory by the language providers. This will take a variable amount of time based on the size of your application.</p>
</li>
<li><p>Your code is executed.</p>
</li>
</ul>
<p>If you have run your function recently, steps 1-4 have already occurred, resources are already allocated, and your site is warmed up. As you can imagine, things are considerably faster in this scenario.</p>
<blockquote>
<p><strong><em>Azure deallocates resources after about 20 minutes of inactivity, after which your next call will be a cold start, and this entire process will happen again.</em></strong></p>
</blockquote>
<h3 id="heading-what-are-the-best-programming-languages-for-azure-cold-start"><strong>What are the best programming languages for Azure cold start?</strong></h3>
<p>Microsoft advises generally available languages like C#, F#, and JavaScript (there are several experimental languages that are not fully supported and optimized, which generate a new process with each execution, greatly affecting latency).</p>
<h3 id="heading-how-to-completely-avoid-the-cold-start-in-microsoft-azure"><strong>How to completely avoid the cold start in Microsoft Azure?</strong></h3>
<p>By subscribing to the dedicated plan, you control what happens on your virtual machine. This is a bit more expensive and not serverless, but if your solution has a strict low-latency requirement for each individual call, this is the best option.</p>
<p>If your application tolerates a small latency, be aware that Azure Functions have evolved enough for cold start to no longer be a problem.</p>
<h2 id="heading-what-is-the-cold-start-in-google-cloud-functions"><strong>What is the cold start in Google Cloud Functions?</strong></h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1679579589082/683f3dbb-a3f6-4edc-a085-998cbde834ea.png" alt class="image--center mx-auto" /></p>
<p>Just like in AWS Lambdas and Azure Functions, the cold start in Google Cloud Functions occurs when the first request arrives after deployment.</p>
<blockquote>
<p><strong><em>After processing this request, the instance remains active for 15 minutes. After this period, the instances are recycled.</em></strong></p>
</blockquote>
<p>Regarding the <strong>main programming languages</strong> for Google Cloud Functions concerning cold starts, this is the sequence (from best to worst performance, although differences are minimal): <strong>JavaScript, Go</strong>, and <strong>Python</strong>.</p>
<p>The <strong>package size</strong> is another factor that influences cold start in Google Cloud Functions. Adding dependencies, thus increasing the size of the deployed package, will increase cold start durations.</p>
<p>Functions with many dependencies can be 5 times slower to start.</p>
<h2 id="heading-how-was-the-cold-start-problem-in-serverless-overcome"><strong>How was the cold start problem in serverless overcome?</strong></h2>
<p>In recent years, several technologies and approaches have been developed to overcome the cold start problem in serverless services. Here are the main ones:</p>
<ul>
<li><p><a target="_blank" href="https://nodejs.dev/en/learn/the-v8-javascript-engine/"><strong>Node.js V8 Engine</strong>⇗</a><strong>:</strong> using Node.js with the V8 engine can help reduce startup time and improve the overall performance of a Lambda function.</p>
</li>
<li><p><strong>Runtime Customization:</strong> This approach allows for the customization of a Lambda function's runtime environment, enabling the pre-loading of specific libraries and modules that are required for the function.</p>
</li>
<li><p><strong>Caching Strategies:</strong> Using caching can help reduce startup time and cold start occurrences in Lambda functions, especially when it comes to network requests and data storage.</p>
</li>
<li><p><a target="_blank" href="https://aws.amazon.com/pt/blogs/aws/new-provisioned-concurrency-for-lambda-functions/"><strong>AWS Lambda Provisioned Concurrency</strong>⇗</a><strong>:</strong> This technology allows you to pre-allocate a specific number of instances of a Lambda function, reducing startup time and the risk of cold start (this deserves its own chapter).</p>
</li>
</ul>
<h2 id="heading-aws-provisioned-concurrency-and-the-end-of-cold-start"><strong>AWS Provisioned Concurrency and the end of cold start</strong></h2>
<p><strong>Provisioned Concurrency</strong> is an AWS feature that offers more control over the performance of serverless applications. With it, you gain the ability to avoid cold starts in Lambda functions.</p>
<p><strong>Provisioned Concurrency allows you to create scalable serverless applications with predictable latency</strong>. You can set the desired concurrency for all versions or aliases of a function.</p>
<p>AWS Lambda prepares containers for your functions, ensuring that they can be invoked with two-digit millisecond latency after being called. This means that serverless functions can adapt to sudden traffic spikes or significant scaling events without increasing latency.</p>
<p>⚠️ However, provisioned concurrency has a cost: <strong>You are charged from the moment you enable it, rounded to the nearest 5 minutes.</strong> The price is calculated based on the amount of concurrency (number of simultaneous function calls that can be executed without latency) and the amount of allocated memory.</p>
<p>This means that you should set provisioned concurrency carefully, specifying only enough for your workloads to avoid incurring unnecessary costs.</p>
<h2 id="heading-conclusion"><strong>Conclusion</strong></h2>
<p>Throughout this article, we have introduced the concept of cold start in serverless services and how it can affect an application's performance. We have also looked at the main causes of cold start in AWS Lambdas and Azure and Google Cloud Platform Functions, and strategies for dealing with this problem, such as warming up the environment, using hot functions, choosing more efficient programming languages, and utilizing performance monitoring and analysis tools.</p>
<p>Additionally, we discussed the possibility of minimizing latency and addressed recent technologies that have been used to overcome the cold start problem.</p>
<p>In summary, the days when dealing with cold start in serverless services was a significant problem for developers are gone. Technology has evolved, not only in software but also in hardware, such as SSDs and high-speed storage devices. All of this has had positive impacts on Lambdas and Functions. Personal computers themselves have evolved, resulting in better application performance.</p>
<p>Moreover, all the mentioned platforms are continually working to mitigate the effects of cold start, each in its own way.</p>
<blockquote>
<p><strong><em>Thus, with hardware and software evolving together, we have managed to reduce application latency, resulting in an improved user experience.</em></strong></p>
</blockquote>
<p>Although it is (still) not possible to completely avoid cold start in serverless services, its latency is now so small that it becomes trivial to try to justify not adopting this technology using cold start as an example.</p>
<p>So, if that was your concern, feel free to embrace the benefits of serverless computing without fear! 🚀</p>
]]></content:encoded></item><item><title><![CDATA[bohr.io lança template gerador de slogans usando o GPT-3 da OpenAI]]></title><description><![CDATA[Vai dizer que você nunca passou horas tentando encontrar o slogan perfeito para o seu projeto? 😬
A boa notícia é que você está livre desse problema! O bohr.io, a nossa plataforma de deploy de aplicações serverless, acaba de lançar o SloganCreator, u...]]></description><link>https://blog.bohr.io/bohrio-lanca-template-gerador-de-slogans-usando-o-gpt-3-da-openai</link><guid isPermaLink="true">https://blog.bohr.io/bohrio-lanca-template-gerador-de-slogans-usando-o-gpt-3-da-openai</guid><category><![CDATA[openai]]></category><category><![CDATA[GPT 3]]></category><category><![CDATA[bohr.io]]></category><category><![CDATA[inteligencia artificial ]]></category><category><![CDATA[deployment]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Mon, 30 Jan 2023 17:57:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1675100604147/ec08ad38-8b46-4a3b-93a5-fafa9b295995.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Vai dizer que você nunca passou horas tentando encontrar o slogan perfeito para o seu projeto? 😬</p>
<p>A boa notícia é que você está livre desse problema! O <a target="_blank" href="http://bohr.io">bohr.io</a>, a nossa <strong>plataforma de deploy de aplicações serverless</strong>, acaba de lançar o <a target="_blank" href="https://sc.bohr.io/">SloganCreator</a>, um <strong>template super bacana que integra a API da OpenAI, usando o GPT-3 para gerar slogans</strong>. 🔥</p>
<blockquote>
<p><em>A partir de agora, você não vai precisar quebrar a cabeça procurando a frase perfeita. Com o</em> <strong><em>SloganCreator</em></strong>, basta fornecer algumas informações básicas sobre o seu projeto e deixar a magia do GPT-3 acontecer. 🪄</p>
</blockquote>
<p>O SloganCreator está disponível no nosso <a target="_blank" href="https://bohr.io/projects">marketplace de templates</a> - que também oferece, além de <strong>opções curadas</strong>, outros <strong>templates produzidos por membros da comunidade</strong>. São várias alternativas para você escolher a que mais combina com o seu projeto. 🎯</p>
<h2 id="heading-usabilidade-perfeita-para-iniciantes">Usabilidade perfeita para iniciantes</h2>
<p>O <a target="_blank" href="http://bohr.io">bohr.io</a> é uma plataforma acessível e super fácil de usar, ideal para iniciantes na carreira de tecnologia. Não precisa ser um expert em programação para usar o template. Basta seguir as instruções e deixar o GPT-3 trabalhar para você.</p>
<p>Não perca mais tempo procurando o slogan perfeito! Experimente <a target="_blank" href="https://sc.bohr.io/">agora</a> o template gerador de slogans integrado à API da OpenAI no <a target="_blank" href="http://bohr.io">bohr.io</a> e deixe a sua criatividade fluir! 🚀</p>
<h2 id="heading-como-funciona">Como funciona</h2>
<p>Para usar este template você precisa <strong>criar uma conta na</strong> <a target="_blank" href="https://openai.com/"><strong>OpenAI</strong></a><strong>⇗ e gerar um <em>access token</em></strong>. Atualmente a OpenAI está dando <strong>US$18 de crédito para novas contas</strong>. Aproveite!</p>
<p>Você encontra o <strong>repositório do SloganCreator no GitHub</strong> <a target="_blank" href="https://github.com/bohr-io/openai-template">aqui</a>⇗.</p>
<h3 id="heading-para-rodar-localmente">Para rodar localmente</h3>
<p>1️⃣ Faça o deploy pelo <a target="_blank" href="http://bohr.io">bohr.io</a>;</p>
<p>2️⃣ Acesse o repositório que será criado na sua conta do GitHub;</p>
<p>3️⃣ Faça o clone;</p>
<p>4️⃣ Rode o código <code>npx -y bohr@latest dev</code>.</p>
<p>Encontrou algum problema? Peça ajuda no nosso <a target="_blank" href="https://discord.com/invite/p3hhfGg2Uy">servidor no Discord</a>⇗. 🦾</p>
]]></content:encoded></item><item><title><![CDATA[Qual é a diferença de programar uma aplicação serverless? [bohr.io + ChatGPT]]]></title><description><![CDATA[Este é o início da série de conteúdos gerados pela parceria bohr.io + ChatGPT.
A ideia é lançar questões de interesse do nosso público no prompt do modelo de linguagem da OpenAI⇗, avaliar as resposta obtidas, editá-las e melhorá-las quando necessário...]]></description><link>https://blog.bohr.io/qual-e-a-diferenca-de-programar-uma-aplicacao-serverless-bohrio-chatgpt</link><guid isPermaLink="true">https://blog.bohr.io/qual-e-a-diferenca-de-programar-uma-aplicacao-serverless-bohrio-chatgpt</guid><category><![CDATA[serverless]]></category><category><![CDATA[chatgpt]]></category><category><![CDATA[openai]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Fri, 16 Dec 2022 21:40:38 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1671226269669/e7-rjETwx.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Este é o início da série de conteúdos gerados pela parceria <code>bohr.io + ChatGPT</code>.</p>
<p>A ideia é lançar questões de interesse do nosso público no prompt do <a target="_blank" href="https://chat.openai.com/chat">modelo de linguagem da OpenAI</a>⇗, avaliar as resposta obtidas, editá-las e melhorá-las quando necessário, usando a boa e velha (e insubstituível, até segunda ordem) <strong>capacidade de julgamento humano</strong>.</p>
<blockquote>
<p>Não se trata de provar que este modelo de IA é incompetente sem a intervenção humana, ou, menos ainda, de que ele vai substituir o Google, os empregos das pessoas e causar o armagedom. Pelo contrário: queremos extrair o máximo do que essa aliança pode proporcionar para a produção de conteúdos úteis e de fácil assimilação.</p>
</blockquote>
<p>Feita a nossa declaração de intenções com o <code>bohr.io + ChatGPT</code>, aí vai a curadoria da resposta do chatbot para a seguinte pergunta:</p>
<p><strong>Qual é a diferença de programar uma aplicação serverless?</strong></p>
<p><code>bohr.io + ChatGPT</code>:</p>
<p>Programar uma aplicação serverless é diferente de programar uma aplicação tradicional em vários aspectos.</p>
<p>Uma das principais diferenças é que, em uma aplicação serverless, <strong>o desenvolvedor não precisa se preocupar com a configuração e o gerenciamento dos servidores onde a aplicação será executada</strong>. Em vez disso, a aplicação é executada em resposta a eventos, e a infraestrutura necessária para executá-la é fornecida de forma transparente pelo provedor de serviços serverless. Isso pode simplificar o processo de desenvolvimento e torná-lo mais escalável e econômico.</p>
<p>Além disso, uma aplicação serverless é geralmente construída usando <strong>microserviços</strong>, o que permite ao desenvolvedor modularizar o código em componentes menores e independentes, o que pode facilitar a manutenção e o desenvolvimento em equipe.</p>
<p>A seguir, vamos ver algumas vantagens pontuais de desenvolver uma aplicação no modelo serverless.</p>
<h2 id="heading-escalabilidade">Escalabilidade</h2>
<p>Uma das principais vantagens de usar o modelo serverless é a <strong>escalabilidade</strong>. Como a aplicação é executada em resposta a eventos, ela pode facilmente lidar com uma alta demanda, pois a infraestrutura necessária para executá-la é fornecida pelo provedor de serviços serverless.</p>
<blockquote>
<p>Isso significa que a aplicação pode se adaptar automaticamente às necessidades do usuário, sem que o desenvolvedor precise se preocupar em dimensionar manualmente os servidores ou em lidar com picos de tráfego.</p>
</blockquote>
<h2 id="heading-custo">Custo</h2>
<p>Como a aplicação é executada em resposta a eventos, <strong>o desenvolvedor só paga pelo tempo de execução real da aplicação</strong>, em vez de pagar por servidores que ficam ociosos quando ela não está sendo usada.</p>
<p>Isso pode resultar em economias significativas, quando comparado com o modelo tradicional de hospedagem em servidores.</p>
<h2 id="heading-modularizacao-do-codigo">Modularização do código</h2>
<p>Além disso, o modelo serverless permite ao desenvolvedor modularizar o código em microserviços, o que pode facilitar a manutenção e o desenvolvimento em equipe.</p>
<p>Como cada microserviço é independente, diferentes equipes ou desenvolvedores podem trabalhar em diferentes partes da aplicação ao mesmo tempo, sem interferir uns nos outros. Isso pode acelerar o desenvolvimento e torná-lo mais eficiente.</p>
<h2 id="heading-desvantagens-do-modelo-serverless">Desvantagens do modelo serverless</h2>
<p>É importante notar, no entanto, que o modelo serverless também tem algumas desvantagens.</p>
<p>Por exemplo, como a aplicação é executada em resposta a eventos, pode haver uma certa <strong>latência na execução da aplicação</strong>, dependendo do tipo de evento que está sendo processado. Isso pode ser um problema em aplicações que exigem tempo de resposta rápido.</p>
<p>Além disso, como o desenvolvedor não tem controle direto sobre a infraestrutura onde a aplicação é executada, pode ser mais difícil depurar problemas ou realizar otimizações de desempenho.</p>
<hr />
<h2 id="heading-conclusao">Conclusão</h2>
<p>Aqui vai a nossa impressão após a experiência:</p>
<p>O ChatGPT realmente impressiona com a qualidade da resposta em termos semânticos e sintáticos. As frases são muito bem construídas, do ponto de vista gramático e ortográfico.</p>
<p>Quanto ao conteúdo em si, achamos a experiência bastante satisfatória, mas há a necessidade de curadoria humana - pelo menos em assuntos relacionados à tecnologia. De vez em quando, escapa aqui e ali uma afirmação que merece um trato, mas admitimos que, neste artigo, não identificamos nenhuma informação totalmente falsa (no máximo, insatisfatória).</p>
<p>O próprio ChatGPT, quando perguntado sobre como as empresas estão se aproveitando dele para dar um boost na criação de conteúdos, fez a seguinte ressalva:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1671217926281/XxqV4bm8A.png" alt class="image--center mx-auto" /></p>
<p>Vamos seguir experimentando o formato. Acreditamos que um toque humano nos textos do ChatGPT pode resultar em materiais com qualidade elevada.</p>
<p>Certamente, deixar tudo na mão do ChatGPT, simplesmente apostando no volume de conteúdo que ele pode proporcionar, não é algo seguro. É preciso aplicar o filtro humano para garantir a credibilidade do texto. O próprio ChatGPT aconselha isso.</p>
<p>E você? O que achou do texto? Satisfez a usa necessidade ou deixou a desejar?</p>
<p>Compartilhe a sua opinião nos comentários!</p>
]]></content:encoded></item><item><title><![CDATA[# O Next.js 13 muda muita coisa, mas cuidado com o hype]]></title><description><![CDATA[Em 25/10/22 aconteceu o Next.js Conf 2022⇗, o evento online promovido pela Vercel⇗ que serviu de palco para o lançamento do Next.js 13⇗.
A 13ª versão do framework front-end React de código aberto criado pela Vercel chegou cheia de hype, com algumas n...]]></description><link>https://blog.bohr.io/o-nextjs-13-muda-muita-coisa-mas-cuidado-com-o-hype</link><guid isPermaLink="true">https://blog.bohr.io/o-nextjs-13-muda-muita-coisa-mas-cuidado-com-o-hype</guid><category><![CDATA[Next.js]]></category><category><![CDATA[Vercel]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Mon, 14 Nov 2022 11:34:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1668422782508/xdxNZR2BX.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Em 25/10/22 aconteceu o <a target="_blank" href="https://nextjs.org/conf">Next.js Conf 2022</a>⇗, o evento online promovido pela <a target="_blank" href="https://vercel.com/">Vercel</a>⇗ que serviu de palco para o lançamento do <a target="_blank" href="https://nextjs.org/blog/next-13">Next.js 13</a>⇗.</p>
<p>A 13ª versão do framework front-end React de código aberto criado pela Vercel chegou cheia de hype, com algumas novidades realmente marcantes, mas também com um tanto de promessas ousadas - que talvez se mostrem exageradas conforme os desenvolvedores começarem a usar o Next.js 13 na prática.</p>
<p>Nos chamaram a atenção as <a target="_blank" href="https://www.youtube.com/watch?v=_w0Ikk4JY7U">opiniões sobre o lançamento</a>⇗ feitas pelo canal do YouTube chamado <a target="_blank" href="https://www.youtube.com/c/Fireship">Fireship</a>⇗. </p>
<p>Então, depois de mais de 100 mil visualizações do evento de lançamento - e um tanto de comentários sobre as novidades -, trouxemos aqui os principais pontos de reflexão sobre os recursos do Next.js 13 propostos pelo Fireship. Fizemos isso porque concordamos com as afirmações do canal. Mas a sua opinião só pode ser construída por você mesmo. Por isso, leia o texto, experimente a nova versão do Next.js e chegue às suas próprias conclusões. 🎯</p>
<h2 id="heading-pois-e-seu-framework-front-end-predileto-mudou-bora-reaprender">Pois é, seu framework front-end predileto mudou. Bora reaprender? 😏</h2>
<p>É legal deixarmos clara a nossa opinião sobre o Next.js 13 desde o início, citando uma frase do vídeo do Fireship:</p>
<blockquote>
<p><em>Esses novos recursos mudam o jogo e são incrivelmente rápidos, mas não estão isentos de trade-offs.</em></p>
</blockquote>
<p>Vamos entender melhor esta afirmação, falando um pouco sobre as principais novidades do Next.js 13.</p>
<h3 id="heading-turbopack">Turbopack</h3>
<p>Este é o nome da nova ferramenta de <code>build</code> do Next.js. O <a target="_blank" href="https://vercel.com/blog/turbopack">Turbopack</a>⇗ é o sucessor do Webpack, que já foi baixado mais de 3 bilhões de vezes e, por isso mesmo, tornou-se parte integrante da construção da Web.</p>
<p>Então, por que substituir o Webpack? 🤔</p>
<p> Segundo a própria Vercel, "é hora de ir mais rápido e escalar sem limites."</p>
<p>Para dar conta do desafio, a Vercel contratou Tobias Koppers, o criador do Webpack, que é bastante versado em agrupamentos de módulos. O Turbopack foi construído desde o início com Rust, se integrando ao Turborepo para armazenar em cache operações duplicadas.</p>
<p> Juntos, esses fatores podem satisfazer sua necessidade de uma velocidade incrivelmente rápida. Tanto é que, durante o Next.js Conf 2022, foi feita a seguinte afirmação:</p>
<blockquote>
<p><em>“O Turbopack mostra atualizações 10 vezes mais rápidas que o Vite e 700 vezes mais rápidas que Webpack”</em>.</p>
</blockquote>
<p>Só que essa comparação já foi refutada por Evan You, criador do <a target="_blank" href="https://vuejs.org/">VueJS</a>⇗ e do <a target="_blank" href="https://vitejs.dev/">Vite</a>⇗. Em seu repositório no GitHub (yyx990803), You chamou os números de "enganosos" e "escolhidos a dedo", já que o Vite ainda usava Babel no momento do benchmarking - ou seja, dizer que o Turbopack é 10x mais rápido não se aplica ao caso.</p>
<p>Enfim, o Turbopack realmente parece incrível, mas atualmente é um alfa. Segundo o Fireship, há motivos para desconfiança:</p>
<ul>
<li>Já existe um enorme ecossistema de plug-ins do Webpack, o que dificultará a migração de aplicativos existentes.</li>
<li>A Vercel provavelmente precisará contar com contribuições da comunidade com algum tipo de sistema de plug-in, e isso pode ser difícil porque muitos desenvolvedores de JavaScript não vão se dar ao trabalho de aprender Rust.</li>
</ul>
<p>Além disso, esses ganhos de velocidade são realmente relevantes somente para projetos de grandes empresas. O Vite já é rápido o suficiente para a maioria dos projetos e oferece uma experiência de desenvolvedor incrível. Isso é difícil de bater.</p>
<p>🤑 Também não podemos esquecer que a Vercel tem interesse em ganhar dinheiro com o armazenamento de compilações na nuvem remotamente em cache, pois ela usa essa arquitetura há muito tempo.</p>
<h2 id="heading-novo-sistema-de-roteamento">Novo sistema de roteamento</h2>
<p>Uma das features mais empolgantes do Next.js 13 é o novo <strong>sistema de roteamento</strong>, citado na conferência como “o melhor roteador possível”, o qual  adiciona uma variedade de possibilidades e melhorias de desempenho ao framework.</p>
<p>Essas são grandes mudanças nas quais eles trabalharam diretamente com a equipe principal do React. E o melhor é que tudo pode ser adotado de forma incremental para que não interrompa seu projeto existente. </p>
<p>O Next.js 13 adiciona um novo diretório de aplicativos que também usa roteamento baseado em sistema de arquivos como antes, só que agora é tudo baseado em diretório. Junto com várias convenções de nomenclatura para diferentes casos de uso, para criar uma página, você dá ao diretório o nome da rota e adiciona um arquivo <code>page.js</code> a ele. Isso exporta o componente que você deseja exibir lá.  </p>
<p>No entanto, por ser um diretório, podemos colocar componentes extras aqui também, em vez de precisar criar um diretório de componentes separado ou algum outro tipo de convenção. Mais importante, isso também abre a porta para layouts e <em>nested routing</em>.</p>
<p>Quando você dá a um arquivo o nome de <code>layout.js</code>, ele cria uma interface do usuário que as rotas filhas podem herdar e, quando você navega para uma rota dentro de um layout, apenas a interface do usuário interna é renderizada, em oposição à página inteira. </p>
<p>Isso é muito legal porque também temos convenções de nomenclatura de arquivos para carregamento e erro que podem renderizar uma interface do usuário diferente no nível do componente com base em seu estado atual. </p>
<p>Por exemplo: se o componente quebrar, ele vai renderizar <code>error.js</code> em vez de <code>page.js</code>, enquanto o restante da interface do usuário permanece intacto. Isso torna a vida muito mais fácil. 🎯</p>
<h2 id="heading-data-fetching">Data fetching</h2>
<p>Segundo o vídeo do Fireship, o recurso mais épico desta nova versão é a <strong>busca de dados</strong>. </p>
<p>O Next.js é praticamente o <em>framework oficial do React</em>. A Vervel valorizou isso na Next.js Conf 2022:</p>
<blockquote>
<p><em>"Isso é o nosso endosso de que esta é a solução de busca de dados para o React que todos estavam esperando”</em>.</p>
</blockquote>
<p>Acontece que todos esses são componentes do servidor React por default. Segundo o vídeo do Fireship, os componentes do servidor são uma primitiva de baixo nível no React que permite a renderização do lado do servidor, mas até agora eles sempre foram meio difíceis para o desenvolvedor comum usar. </p>
<p>Então isso representa uma grande vantagem porque agora podemos nos livrar totalmente de coisas como obter props estáticos e props do lado do servidor. Em vez disso, podemos simplesmente escrever uma função JavaScript simples que usa Fetch e aguardar o resultado dessa função diretamente em um componente. Não há necessidade de passar props entre cliente e servidor. </p>
<p><em>"Parece totalmente natural, como se você estivesse apenas usando Vanilla JS, e você nem precisa serializar dados, o que pode ser um grande problema"</em>, diz o vídeo.</p>
<p>Além disso, você não precisa mais de conceitos como ISR, SSR e SSG. O novo modelo mental gira inteiramente em torno do cache. Por padrão, todas as páginas serão armazenadas em cache para fornecer o desempenho de um site estático, mas, se você quiser novos dados em cada solicitação, como SSR, poderá adicionar a opção de cache <code>no-store</code> para buscar - ou, para regeneração estática incremental, usar a próxima opção com o número de segundos de revalidação.</p>
<p>Outra coisa incrível é que a interface do usuário pode ser transmitida de forma incremental, graças ao React.Suspense. Tudo o que você precisa fazer é definir um arquivo <code>loading.js</code> para definir a interface do usuário.</p>
<p>Se um componente ainda estiver aguardando dados, ele o mostrará automaticamente no nível do componente enquanto renderiza todo o resto no aplicativo. </p>
<p>Ok, isso é revolucionário, só que muitos desses recursos são claramente inspirados no framework full stack <a target="_blank" href="https://remix.run/">Remix</a>⇗, que, segundo o Fireship, é realmente ótimo. Estranhamente, não há como escrever rotas de API no novo diretório de aplicativos, e isso parece um desleixo do Next.js 13. Então  falta uma maneira de gravar dados, semelhantes aos formulários do Remix.</p>
<p>Enfim, concordamos com o Fireship que a busca de dados parece incrível, mas as mutações são uma história totalmente diferente. Na documentação diz que a equipe Next está trabalhando em um novo RFC para dados mutantes, mas, atualmente, você usaria um componente do lado do cliente, escreveria sua lógica de mutação e passaria uma função de retorno de chamada de uma atualização para atualizar quaisquer dados nesse rota após a mutação estar completa.</p>
<p>Isso é semelhante a como as coisas funcionam na consulta React, mas parece que o framework poderia fornecer uma solução mais intuitiva aqui. </p>
<h2 id="heading-nextjs-13-o-veredito-ou-ainda-e-cedo">Next.js 13: o veredito (ou ainda é cedo?) 🤔</h2>
<p>Tanto o Fireship quanto o time do <a target="_blank" href="https://bohr.io/">bohr.io</a> acha que o Next.js 13 parece incrível, mas traz um probemão:</p>
<p><strong><em>As principais mudanças aqpresentadas basicamente tornam todos os tutoriais existentes obsoletos.</em></strong></p>
<blockquote>
<p>Mesmo que essas mudanças representem um passo à frente, a realidade é que as pessoas não gostam de mudanças. No momento, todo mundo está super empolgado com esses novos recursos, mas se você é o cara que precisa migrar uma quantidade absurda de código, sua empolgação inicial pode se transformar em raiva.</p>
</blockquote>
<p><a target="_blank" href="https://www.youtube.com/@boemeke">Lucas Boemeke</a>⇗, CTO do bohr.io, acha que a Vercel está retrocedendo na questão dos server components:</p>
<blockquote>
<p><em>"Essa coisa de mandar renderizar o HTML no servidor, isso é como funcionava a base da internet. O PHP funciona assim. Muitos dos benefícios do Jamstack se perdem com o modelo de server components que estão propondo."</em> </p>
</blockquote>
<p>Boemeke acredita que o React continuará sendo por muito tempo o principal framework front-end, mas também acha que adotá-lo cegamente para tudo é um radicalismo não muito inteligente. </p>
<p>As pessoas mais versadas em tecnologia acabam descobrindo que existem várias outras formas de fazer as coisas, ao invés de mergulhar 100% no que está sendo proposto pela Vercel. Até porque esta dependência de uso do React está ficando com cara de <em>walled garden</em>, e ninguém gosta disso - a não ser própria corporação, é claro.</p>
<p>Sendo assim, não há melhor forma de terminar este blog post do que usando um jargão bastante surrado para falar sobre o futuro do Next.js 13:</p>
<p><em>Só o tempo irá dizer.</em> 🔮</p>
<hr />
<p>Você já experimentou as novidades no Next.js 13? Concorda com o que escrevemos aqui ou até agora tudo está suave? Compartilhe suas experiências nos comentários!</p>
]]></content:encoded></item><item><title><![CDATA[Developer Portfolio: Learn how to create your own]]></title><description><![CDATA[🛂 Versão Português Brasil
A developer portfolio is the place where developers show the best projects they had already executed (in the case of those who already have professional experience) or the technologies and languages ​​that they studied/are ...]]></description><link>https://blog.bohr.io/developer-portfolio-learn-how-to-create-your-own</link><guid isPermaLink="true">https://blog.bohr.io/developer-portfolio-learn-how-to-create-your-own</guid><category><![CDATA[Developer]]></category><category><![CDATA[portfolio]]></category><category><![CDATA[coding]]></category><category><![CDATA[programmer]]></category><category><![CDATA[bohr.io]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Sun, 26 Jun 2022 11:45:11 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1656675115990/8hM5oecXp.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>🛂 <a target="_blank" href="https://blog.bohr.io/portfolio-de-desenvolvedor-saiba-como-criar-o-seu"><em>Versão Português Brasil</em></a></p>
<p>A <strong>developer portfolio</strong> is the place where developers show the best projects they had already executed (in the case of those who already have professional experience) or the technologies and languages ​​that they studied/are studying, such as <a target="_blank" href="https://blog.bohr.io/what-is-serverless-computing-is-this-thing-for-me">serverless</a>, edge computing, blockchain, Web3 etc.</p>
<p>As well as traditional CVs, the portfolio records the developer's trajectory so that potential hires or recruiters can assess whether their profile is suitable for the job opportunity in question.</p>
<blockquote>
<p><strong>It is through your portfolio that you will prove that you know how to create an app, a website or a system, for example.</strong></p>
</blockquote>
<h2 id="heading-developer-portfolio-types">Developer Portfolio Types</h2>
<p>The developer portfolio can be a website focused on visually displaying the projects or the code for those projects.</p>
<p>The <strong>visual portfolio</strong> is quite obvious: it shows the work done through illustrations.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655834238939/OpSOlh_uc.png" alt="portfolio-de-programador- gustavo-willeman.png" /></p>
<p>The <strong>code portfolio</strong>, better known as <code>repository</code>, shows <strong>how you wrote your code</strong>:</p>
<pre><code class="lang-plaintext">&lt;!DOCTYPE html&gt;
&lt;html lang="en"&gt;
&lt;head&gt;
  &lt;meta charset="UTF-8"&gt;
  &lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;
  &lt;title&gt;Portfolio&lt;/title&gt;
  &lt;link rel="stylesheet" href="styles.css"&gt;
  &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.6.1/gsap.min.js"&gt;&lt;/script&gt;
  &lt;script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.2.0/zepto.min.js"&gt;&lt;/script&gt;
  &lt;script src="/scripts/paralax-carousel.js" type="module"&gt;&lt;/script&gt;
</code></pre>
<p>The main code repository is Microsoft's <code>github</code>, which looks like this:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655834301891/y05RLJ8So.png" alt="portfolio-de-programador-github-bohr.png" /></p>
<p>And this is the <a target="_blank" href="https://github.com/bohr-io">bohr.io repository</a>⇗ on <code>github</code>.</p>
<h2 id="heading-tips-for-creating-a-programmer-portfolio">Tips for creating a programmer portfolio</h2>
<p>First of all, you need to have something to show, right? You must have at least one <strong>project</strong> on hand to exhibit in your portfolio (it could be the one you developed in college) or a <strong>list of systems and languages you master</strong>.</p>
<p>Obviously, portfolios with impressive work will make you more interesting for the job market.</p>
<p>But everyone has to start somehow, right? 🚀</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655833976275/M8O2htr3c.gif" alt="início de carreira de dev.gif" /></p>
<p>And here's a tip that not every dev exploits:</p>
<blockquote>
<p><strong>Don't miss the opportunity to work on your personal brand and to express your personality! This gives potential employers a better understanding of how you might fit into their company culture or whether you will succeed in the role they want you to fill in.</strong></p>
</blockquote>
<p>Another cool tip is to show your <strong>hard skills</strong> - and especially your <strong>soft skills</strong> - in your portfolio.</p>
<p>According to the Exame website, these are the <a target="_blank" href="https://exame.com/carreira/qual-e-a-diferenca-entre-hard-skills-e-soft-skills/">skills types definitions</a>⇗ that recruiters are always seeking for in developer portfolios:</p>
<p>▶️ <strong>Hard skills (technical skills)</strong></p>
<p>These are skills that can be learned and easily quantified. You learn hard skills in the classroom, with books, handouts, online courses or even at work.</p>
<p>In general, they are proven through certificates and diplomas.</p>
<p>▶️ <strong>Soft skills (behavioral skills)</strong></p>
<p>These are subjective skills, linked to the way you relate and interact with people - therefore, they are more difficult to assess.</p>
<p>💡<em>Recruiters pay special attention to soft skills because it is much easier for the company to train a technical competence than a behavioral one</em>.</p>
<p>Here are some <strong>examples of soft skills</strong>: communication, conflict resolution, attitude, creativity, critical thinking, organizational skills, leadership, ethics, flexibility, teamwork, and time management, among many others.</p>
<blockquote>
<p><strong>Golden tip for exploring soft skills: read the job description carefully to understand which skills the company is looking for in candidates and be thoughtful in describing your skills that match the expectations of the contractors.</strong></p>
</blockquote>
<h3 id="heading-crucial-components-of-a-developers-portfolio">Crucial components of a developer's portfolio</h3>
<p>According to <a target="_blank" href="https://www.springboard.com/blog/software-engineering/programmer-portfolio/">Springboard</a>⇗, a junior developer's portfolio should include at least <strong>3 main components</strong>:</p>
<ul>
<li><p><strong>About Me</strong> – People want to know who you are. So include your name, a photo, and a brief synopsis of what you've done and where you hope to go in your career. It's a good idea to refine this narrative over time as your career progresses.</p>
</li>
<li><p><strong>Projects</strong> – The best samples of your work are the critical component of the programming portfolio. This section should be as captivating as possible. Get creative: Use compelling videos, GIFs, designs, and text.</p>
</li>
<li><p><strong>Contact</strong> - Ideally, it would be nice if you include a contact form + social media channels (especially LinkedIn). If you don't want to do this, at the very least you should add your email address and links to <code>github</code>.</p>
</li>
</ul>
<p>Want to go beyond the basics and dive in a little deeper? 🔥</p>
<p>Also according to Springboard, these are the <strong>7 best practices for building a developer portfolio</strong>:</p>
<ol>
<li><p><strong>Adapt the portfolio to the position you are looking for:</strong> e.g. if you are applying for a coding job, edit the material and add more experience related to writing code.</p>
</li>
<li><p><strong>Include extracurricular work:</strong> You can develop, on your own initiative, a new version of a landing page or website for the company you are trying to impress. This will not only show your skills but also prove that you have a self-taught attitude.</p>
</li>
<li><p><strong>Make sure you have a responsive design:</strong> Find a responsive template that offers a fantastic user experience on all devices (or better yet, develop your own 💪).</p>
</li>
<li><p><strong>Attractive design and layout:</strong> Using a free template saves a lot of time spent on design or development, but it is very important to customize it. Also, you must create a visually appealing layout that will impress your visitors.</p>
</li>
<li><p><strong>Custom URL:</strong> Your programming portfolio is a big part of your personal brand. So choose a proper URL (ideally, it should include your name or at least reflect the work you do). Also, buying your own domain gives a more professional impression than using a free one.</p>
</li>
<li><p><strong>Minimize touchpoints:</strong> A junior developer's portfolio doesn't have to be a complex maze with many pages and options. You should make the UI smooth and straightforward so that visitors can navigate your site with just a few clicks.</p>
</li>
<li><p><strong>Include social proof:</strong> Getting testimonials from satisfied customers is always a plus for your programming portfolio. If you can, encourage past clients to write a few sentences that explicitly state how your work has had a positive impact on the project or business.</p>
</li>
</ol>
<h2 id="heading-how-to-create-a-developer-portfolio-with-bohrio">How to create a developer portfolio with bohr.io</h2>
<p>When you create your bohr.io account you will receive a <a target="_blank" href="https://github.com/bohr-io/portfolio-template">link</a>⇗, where you will need to click on the <strong>Use this template</strong> button:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656070822734/AAeBVkow_.png" alt="portfolio-de-desenvolvedor-1.png" /></p>
<p>Then you <strong>name the repository</strong> and click <strong>Create repository from template</strong>:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656070936898/2cSaR6pWW.png" alt="portfolio-de-desenvolvedor-2.png" /></p>
<p>Then <code>github</code> will create a new repository in your account:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071053187/_uo0ooPU2.png" alt="portfolio-de-desenvolvedor-3.png" /></p>
<p>After that, <code>github</code> will automatically trigger bohr.io to <code>deploy</code>:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071146714/9vqK8DS9x.png" alt="portfolio-de-desenvolvedor-4.png" /></p>
<p>In less than 1 minute the <code>deploy</code> will be completed and bohr.io will create an <code>environment</code>:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071285535/8M3-rMqsZ.png" alt="portfolio-de-desenvolvedor-5.png" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071353440/WrQWpHhdC.png" alt="portfolio-de-desenvolvedor-6.png" /></p>
<p>And that's it! ✅</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071398848/tg2RHJivx.png" alt="portfolio-de-desenvolvedor-7.png" /></p>
<p>Got any questions or need some assistance?</p>
<p>Access our <a target="_blank" href="https://discord.gg/p3hhfGg2Uy">Discord server</a>⇗. There are always people ready to help you out. 🤝</p>
]]></content:encoded></item><item><title><![CDATA[Portfólio de desenvolvedor: saiba como criar o seu]]></title><description><![CDATA[🛂 English Version
O portfólio de desenvolvedor é a interface onde ele mostra os melhores projetos que já executou (no caso dos que já têm experiência profissional) ou as tecnologias e linguagens que estudou/está estudando, a exemplo de serverless, e...]]></description><link>https://blog.bohr.io/portfolio-de-desenvolvedor-saiba-como-criar-o-seu</link><guid isPermaLink="true">https://blog.bohr.io/portfolio-de-desenvolvedor-saiba-como-criar-o-seu</guid><category><![CDATA[Developer]]></category><category><![CDATA[portfolio]]></category><category><![CDATA[desenvolvedor]]></category><category><![CDATA[programador]]></category><category><![CDATA[código]]></category><dc:creator><![CDATA[Cristian Amaral]]></dc:creator><pubDate>Sat, 25 Jun 2022 11:47:18 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1656000265738/mL-gRAxYa.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>🛂 <a target="_blank" href="https://blog.bohr.io/developer-portfolio-learn-how-to-create-your-own"><em>English Version</em></a></p>
<p>O <strong>portfólio de desenvolvedor</strong> é a interface onde ele mostra os melhores projetos que já executou (no caso dos que já têm experiência profissional) ou as tecnologias e linguagens que estudou/está estudando, a exemplo de <a target="_blank" href="https://blog.bohr.io/o-que-e-serverless-esse-negocio-e-para-mim">serverless</a>, edge computing, blockchain, Web3 etc.</p>
<p>Assim como os tradicionais currículos, o portfólio registra a trajetória do desenvolvedor para que possíveis contratantes ou recrutadores possam avaliar se o seu perfil é adequado para o job em questão.</p>
<blockquote>
<p>É com o seu portfólio que você vai provar que sabe criar um app, um site ou um sistema, por exemplo.</p>
</blockquote>
<h2 id="heading-tipos-de-portfolio-de-desenvolvedor">Tipos de portfólio de desenvolvedor</h2>
<p>O portfólio do desenvolvedor pode ser um site focado em exibir visualmente os projetos ou os códigos desses projetos.</p>
<p>O <strong>portfólio visual</strong> é bastante óbvio: mostra os trabalhos realizados por meio de ilustrações.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655834238939/OpSOlh_uc.png" alt="portfolio-de-programador- gustavo-willeman.png" /></p>
<p>Já o <strong>portfólio de código</strong>, mais conhecido como <code>repositório</code>, mostra <strong>como você escreveu os seus códigos</strong>:</p>
<pre><code class="lang-plaintext">name: bohr.io deploy
on: push
permissions: write-all
jobs:
  deploy:
    name: Deploy on bohr.io
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - uses: bohr-io/action@main
</code></pre>
<p>O principal repositório de códigos é o <code>github</code>, da Microsoft, que tem uma cara assim:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655834301891/y05RLJ8So.png" alt="portfolio-de-programador-github-bohr.png" /></p>
<p>E esse é o <a target="_blank" href="https://github.com/bohr-io">repositório do bohr.io</a>⇗ no <code>github</code>.</p>
<h2 id="heading-dicas-para-criar-um-portfolio-de-programador">Dicas para criar um portfólio de programador</h2>
<p>Antes de mais nada, você precisa ter o que mostrar, certo? Tem que ter ao menos um <strong>projeto</strong> a mão para expor no portfólio (pode ser aquele que você desenvolveu na faculdade) ou a <strong>listagem dos sistemas e linguagens que você domina</strong>.</p>
<p>Obviamente, portfólios com trabalhos impressionantes te tornarão mais interessante para o mercado de trabalho.</p>
<p>Mas todo mundo tem que começar de alguma forma, certo? 🚀</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1655833976275/M8O2htr3c.gif" alt="início de carreira de dev.gif" /></p>
<p>E aqui vai uma dica que nem todo dev explora:</p>
<blockquote>
<p>Não perca a oportunidade de trabalhar a sua marca pessoal e expressar a sua personalidade! Isso dá aos empregadores em potencial uma melhor compreensão de como você pode se encaixar na cultura da empresa ou se você terá sucesso na função que eles desejam preencher.</p>
</blockquote>
<p>Outra dica legal é mostrar no portfólio as suas <strong>hard skills</strong> e, especialmente, as <strong>soft skills</strong>.</p>
<p>De acordo com o site da Exame, essas são as <a target="_blank" href="https://exame.com/carreira/qual-e-a-diferenca-entre-hard-skills-e-soft-skills/">definições dos tipos de habilidades</a>⇗ que os recrutadores estão sempre de olho nos portfólios de desenvolvedores:</p>
<p>▶️ <strong>Hard skills (habilidades técnicas)</strong></p>
<p>São habilidades que podem ser aprendidas e facilmente quantificadas. Você aprende hard skills na sala de aula, com livros, apostilas, cursos online ou até mesmo no trabalho.</p>
<p>De modo geral, são comprovadas por meio de certificados e diplomas.</p>
<p>▶️ <strong>Soft skills (habilidades comportamentais)</strong></p>
<p>São competências subjetivas, ligadas à sua forma de se relacionar e interagir com as pessoas - por isso, são mais difíceis de avaliar.</p>
<p>💡<em>Os recrutadores olham com atenção especial para as soft skills porque é muito mais fácil para a empresa treinar uma competência técnica do que uma comportamental.</em></p>
<p>Aqui vão alguns <strong>exemplos de soft skills</strong>: comunicação, resolução de conflitos, atitude, criatividade, pensamento crítico, capacidade organizacional, liderança, ética, flexibilidade, trabalho em equipe e gestão do tempo, entre várias outras.</p>
<blockquote>
<p>Dica de ouro para explorar as soft skills: leia a descrição da vaga (<em>job description</em>) com atenção para entender quais habilidades a empresa está buscando nos candidatos e capriche na descrição das suas skills que casam com a expectativa dos contratantes.</p>
</blockquote>
<h3 id="heading-componentes-obrigatorios-de-um-portfolio-de-programador">Componentes obrigatórios de um portfólio de programador</h3>
<p>Segundo o site <a target="_blank" href="https://www.springboard.com/blog/software-engineering/programmer-portfolio/">Springboard</a>⇗, o portfólio de um programador júnior deve incluir, no mínimo, <strong>3 principais componentes</strong>:</p>
<ul>
<li><p><strong>Sobre mim</strong> – As pessoas querem saber quem você é. Por isso, inclua seu nome, uma foto e uma breve sinopse sobre o que você fez e onde espera chegar em sua carreira. É uma boa ideia refinar essa narrativa ao longo do tempo à medida que sua carreira progride.</p>
</li>
<li><p><strong>Projetos</strong> – As melhores amostras do seu trabalho são o componente crítico do portfólio de programação. Esta seção deve ser a mais cativante possível. Seja criativo: use vídeos, GIFs, designs e textos atraentes.</p>
</li>
<li><p><strong>Contato</strong> - Idealmente, seria legal você incluir um formulário de contato + canais de mídia social (especialmente o LinkedIn). Se não quiser fazer isso, adicione no mínimo o seu endereço de e-mail e links para o <code>github</code>.</p>
</li>
</ul>
<p>Quer ultrapassar o básico e se aprofundar um pouco mais? 🔥</p>
<p>Ainda de acordo com a Springboard, estas são as <strong>7 melhores práticas para criar um portfólio de programador</strong>:</p>
<ol>
<li><p><strong>Adapte o portfólio à vaga que você procura:</strong> por exemplo, se você está se candidatando a um trabalho de codificação, edite o material e adicione mais experiências relativas à escrita de códigos.</p>
</li>
<li><p><strong>Inclua trabalho extracurricular:</strong> você pode desenvolver, por iniciativa própria, uma nova versão de uma landing page ou site para a empresa que você está tentando impressionar. Isso não apenas mostrará suas habilidades como também provará que você tem uma atitude autodidata.</p>
</li>
<li><p><strong>Certifique-se de ter um design responsivo:</strong> encontre um template responsivo que ofereça uma experiência fantástica ao usuário em todos os dispositivos (ou, melhor ainda, desenvolva o seu próprio 💪).</p>
</li>
<li><p><strong>Design e layout atraentes:</strong> usar um template gratuito economiza muito tempo gasto em design ou desenvolvimento, mas é muito importante personalizá-lo. Além disso, você deve criar um layout visualmente atraente que impressione os visitantes.</p>
</li>
<li><p><strong>URL customizada:</strong> seu portfólio de programação é uma grande parte da sua marca pessoal. Por isso, escolha uma URL adequada (idealmente, deve incluir seu nome ou pelo menos refletir o trabalho que você faz). Além disso, comprar seu próprio domínio passa uma impressão mais profissional do que usar um gratuito.</p>
</li>
<li><p><strong>Minimize os pontos de contato:</strong> um portfólio de programador júnior não precisa ser um labirinto complexo com muitas páginas e opções. Você deve tornar a interface do usuário suave e direta para que os visitantes possam navegar pelo site com apenas alguns cliques.</p>
</li>
<li><p><strong>Inclua prova social:</strong> obter depoimentos de clientes satisfeitos é sempre um diferencial para o seu portfólio de programação. Se puder, incentive clientes anteriores a escrever algumas frases que declarem explicitamente como seu trabalho teve um impacto positivo no projeto ou no negócio.</p>
</li>
</ol>
<h2 id="heading-como-criar-um-portfolio-de-programador-com-o-bohrio">Como criar um portfólio de programador com o bohr.io</h2>
<p>Ao criar sua conta no bohr.io você receberá um <a target="_blank" href="https://github.com/bohr-io/portfolio-template">link</a>⇗, onde vai precisar clicar no botão <strong>Use this template</strong>:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656070822734/AAeBVkow_.png" alt="portfolio-de-desenvolvedor-1.png" /></p>
<p>Depois você <strong>nomeia o repositório</strong> e clica em <strong>Create repository from template</strong>:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656070936898/2cSaR6pWW.png" alt="portfolio-de-desenvolvedor-2.png" /></p>
<p>Daí o <code>github</code> vai criar um novo repositório na sua conta:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071053187/_uo0ooPU2.png" alt="portfolio-de-desenvolvedor-3.png" /></p>
<p>Depois disso, o <code>github</code> vai automaticamente acionar o bohr.io para efetuar o <code>deploy</code>:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071146714/9vqK8DS9x.png" alt="portfolio-de-desenvolvedor-4.png" /></p>
<p>Em menos de 1 minuto o <code>deploy</code> estará concluído e o bohr.io criará um <code>environment</code>, com link para o ambiente:</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071285535/8M3-rMqsZ.png" alt="portfolio-de-desenvolvedor-5.png" /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071353440/WrQWpHhdC.png" alt="portfolio-de-desenvolvedor-6.png" /></p>
<p>Pronto! ✅</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1656071398848/tg2RHJivx.png" alt="portfolio-de-desenvolvedor-7.png" /></p>
<p>Ficou com alguma dúvida ou precisa de ajuda?</p>
<p>Acesse o nosso <a target="_blank" href="https://discord.gg/p3hhfGg2Uy">servidor no Discord</a>⇗. Lá sempre tem gente pronta para dar uma mão. 🤝</p>
]]></content:encoded></item><item><title><![CDATA[Hybrid CMS: content for a variety of applications without losing usability]]></title><description><![CDATA[🛂 Versão Português Brasil
A hybrid CMS empower devs to deliver content across multiple channels, while offering marketers some of the interfaces they're familiar with. It's the best of both worlds... … But there's still a long way to go.
What happen...]]></description><link>https://blog.bohr.io/hybrid-cms-content-for-a-variety-of-applications-without-losing-usability</link><guid isPermaLink="true">https://blog.bohr.io/hybrid-cms-content-for-a-variety-of-applications-without-losing-usability</guid><category><![CDATA[cms]]></category><category><![CDATA[WordPress]]></category><category><![CDATA[headless cms]]></category><dc:creator><![CDATA[bohr.io]]></dc:creator><pubDate>Tue, 15 Mar 2022 20:39:00 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1647375482304/ki8siwHPC.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>🛂 <a target="_blank" href="https://bohr.hashnode.dev/cms-hibrido-conteudo-para-varias-aplicacoes-sem-perder-a-usabilidade"><em>Versão Português Brasil</em></a></p>
<p><strong><em>A hybrid CMS empower devs to deliver content across multiple channels, while offering marketers some of the interfaces they're familiar with. It's the best of both worlds... … But there's still a long way to go.</em></strong></p>
<p>What happens when you are at that moment when you need to manage content for multiple websites, apps and smart devices, but your CMS only handles standard web content? 😒</p>
<p>Perhaps you are part of the group of companies that do not have the set of technologies necessary to engage with your audience through this multiplicity of channels.</p>
<p>In this case, the situation aggravates when you are stuck with a ** traditional CMS** (also known as <strong>monolithic CMS</strong>), seriously lagging behind in terms of technology. At the same time, there are situations where the best alternative is to stick with the traditional approach.</p>
<p>After all, is there a CMS architecture that can be considered the “ideal”?</p>
<p>In this article we will take a good look at <strong>the advantages and disadvantages of traditional, decoupled, headless and hybrid CMSs</strong>.</p>
<p>But first of all, let's summarize what a CMS does.</p>
<p>CMS stands for <strong>Content Management System</strong>. As the name says, CMS is a software responsible for managing content, which includes its creation, editing and organization.</p>
<p>According to the <a target="_blank" href="https://appdevelopermagazine.com/">App Developer Magazine</a>, traditional CMSs "<em>were widely perceived to be insufficient to fully enable and fuel the digital transformation needs of the modern company</em>."</p>
<p><strong><em>The technical explanation for the limitations of these CMSs is that the back end (where the data is inserted) is hosted along with the front end (where the data is presented). This is what we call coupled architecture.</em></strong></p>
<p>Nevertheless, according to App Developer Magazine, traditional CMSs (like Wordpress) are still popular today, but started to lose space about a decade ago, when “<em>consumers started to adopt smart devices, which competed with traditional websites regarding how the content was consumed</em>”.</p>
<p>Since traditional CMSs were not able to offer the flexibility needed to reach the public on these new channels, content companies created this demand in the technology market.</p>
<p>Before these smart devices, a CMS needed to handle content delivery primarily for desktops, for notebooks, and, after a while, for mobile devices too.</p>
<p>Until then, traditional CMSs were the standard. The fact that they were coupled was no problem at all. Anyway, they got the job done.</p>
<p>But the increasing number of different devices has brought a problem to be solved: <strong>the need to separate the content from the delivery layer, so that the content could be delivered anywhere</strong>.</p>
<p>To achieve this versatility, it is necessary for the CMS to present itself without a frontend system, which determines how the content is shared with the end user. In other words, <strong>it must not have a pre-defined “head”</strong> (frontend)...</p>
<h2 id="heading-and-then-headless-cms-appears">… and then Headless CMS appears</h2>
<p>Since the headless CMS imposes no limits on the presentation layer, developers can deliver the same content either to a cell phone, a mall kiosk, a web browser or a smartphone application.</p>
<p>Without the frontend, a headless CMS ends up acting as a content repository - storing it in its raw format -, and the ability to deliver that content to any device on the market is achieved through the alliance with some APIs.</p>
<p><strong><em>In headless architecture, the backend and frontend are decoupled. The CMS is solely responsible for storing and managing the content, without a predetermined structure for presenting it.</em></strong></p>
<p>The content is modeled first and then comes to life on different channels, which ensures great scalability.</p>
<p>Anyway, the thing with the headless CMS is that it can manage the same content for more than one application (or a website + an application). That is, it is perfect for any project that requires delivery to a variety of applications, websites and devices.</p>
<p>In terms of productivity, the separation of content and presentation allows content producers and developers to work independently, which speeds up the time to launch applications on the market. This is what salespeople like the most. 😉</p>
<h2 id="heading-the-difference-between-decoupled-and-headless-cms">The difference between decoupled and headless CMS</h2>
<p>Every headless CMS is, in essence, decoupled, because the backend and the frontend are separated, but not all decoupled is headless. There is a category called simply <strong>decoupled CMS</strong>.</p>
<p>According to dotcms, a decoupled CMS is similar to a headless CMS because it provides more flexibility in sending content to various frontends.</p>
<p>But there is an important difference: unlike headless, decoupled CMS provides the tools, the templates and other rendering options that an organization will need to build a website (such as visualization features, for example).</p>
<p>Therefore, a decoupled CMS restores some power to the editorial teams, who want to control how their content appears as much as possible. But it is still far from being comparable to the usability presented by traditional CMSs…</p>
<h2 id="heading-headless-cms-developer-dependency">Headless CMS = developer dependency</h2>
<p>According to Omayi Walker, Senior Software Engineer at Brightspot, there is no way to implement a headless CMS from the front-end without the presence of developers, as they will be responsible for the APIs and for building the front-end across any downstream channels required.</p>
<p>On the back end, according to Walker, a good CMS will likely offer APIs for common types of ready-to-use editorial content, but it doesn't end there: any additional business logic or customization will also require a developer.</p>
<h2 id="heading-traditional-and-headless-cms-the-best-in-each">Traditional and headless CMS: the best in each</h2>
<p>Traditional CMS still beats headless in terms of usability. An example of this is the WYSIWYG functionality (What You See Is What You Get): you can edit the content directly on the page and see the result, something that no headless CMS has managed to do so far.</p>
<p>On the other hand, headless CMSs are winning the battle with traditional ones on 4 other important issues:</p>
<ul>
<li><p>scalability;</p>
</li>
<li><p>performance;</p>
</li>
<li><p>safety;</p>
</li>
<li><p>more freedom for IT teams, which can develop their front end applications in the framework of their choice (React, Vue.js and Angular, for example), on which traditional sites or single-page applications can be built.</p>
</li>
</ul>
<p>But with the non-existence of WYSIWYG, headless CMS creates a big problem for content producers and marketers. In headless, this is what they find ahead:</p>
<ul>
<li><p>there is no WYSIWYG editor;</p>
</li>
<li><p>there is no drag-and-drop;</p>
</li>
<li><p>there is just code everywhere.</p>
</li>
</ul>
<p>In the case of the headless CMS, it is up to the front end developers to design and organize the content, so that it can be displayed and transmitted on websites, apps, voice-enabled devices, and wearable technology.</p>
<p>The marketer's role in this publishing process is limited as there is no editor, live previews, or drag-and-drop interfaces. For those who don't understand coding, this is like dropping a blindfolded person into an unfamiliar environment.</p>
<p>Our opinion is that there are pros and cons on both sides. Depending on the intention of the project, one of the approaches is totally unfeasible for its execution.</p>
<p>Want examples?</p>
<ul>
<li><p>If you need to deliver the same content to a variety of applications, websites and devices, a headless CMS is the best option.</p>
</li>
<li><p>But if you can't rely heavily on developers, and at the same time you need to empower content producers, it's a good idea to grab a traditional CMS.</p>
</li>
</ul>
<p>But there's one thing: currently, what the market is looking for is actually the combination of the two things - or the best of both worlds.</p>
<h2 id="heading-hybrid-cms-a-headless-cms-with-a-front-end">Hybrid CMS: a headless CMS with a front end</h2>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1647378562596/WytsJSzsc.png" alt="surge-o-cms-hibrido.png" /></p>
<p><em>Image: core dna</em></p>
<p>A hybrid CMS is a headless, decoupled CMS, but also a front end CMS at the same time. It is a traditional monolithic CMS, but with a Content as a Service (CaaS) API.</p>
<p><strong><em>Although decoupled from the back end, a hybrid CMS includes a presentation layer similar to a traditional CMS while also using a headless architecture for content delivery.</em></strong></p>
<p>Hybrid CMS is a middle term solution. It gives developers a certain level of freedom (powered by APIs) to deliver content across multiple channels, while offering marketers some of the interfaces they're familiar with from the traditional CMS for delivering content to web channels.</p>
<p><strong><em>A hybrid system architecture can take shape in different ways. If you're running multiple sites, you can take a headless approach with some of them, but specify a front end for others. Or maybe you maintain a front end for your website and at the same time choose to be headless in mobile apps, rendering them with downstream systems.</em></strong></p>
<p>The decision is up to you. It all depends on your team and business goals. There is no need to adopt pure headless and miss the traditional features, and vice versa.</p>
<p>It's the best of both worlds, literally.</p>
<p>Now we’re gonna dive a little deeper into the hybrid CMS, presenting the advantages listed by Brightspot.</p>
<h2 id="heading-advantages-of-a-hybrid-cms-architecture">Advantages of a hybrid CMS architecture</h2>
<ul>
<li><p>A hybrid CMS has the advantages of decoupled and headless CMSs, offering both application and platform.</p>
</li>
<li><p>Like the headless system, the hybrid system architecture promotes content reuse.</p>
</li>
<li><p>It is usually cloud-based or cloud-ready.</p>
</li>
<li><p>You can get WYSIWYG functionality for authoring, template management, site navigation, multi-site management, accessibility, compliance, SEO, link checking, version management and administration, and workflow.</p>
</li>
<li><p>The system promotes collaboration between the marketing and development teams across a full range of digital experiences.</p>
</li>
</ul>
<h2 id="heading-wrapping-up">Wrapping up</h2>
<p>Although we raise the banners of JAMstack, <a target="_blank" href="https://bohr.hashnode.dev/what-is-serverless-computing-is-this-thing-for-me">serverless</a>, edge computing, and other cutting edge technologies in web development, we admit that, in terms of usability, headless CMSs have a LONG way ahead.</p>
<p>Example:</p>
<p>Our content team used Forestry's CMS for a while, which is headless. Turns out that we really missed the usability of good old WordPress…</p>
<p>We ended up surrendering. Technologically speaking, it can be said that we took a step back by going back to WP. On the other hand, we are more satisfied with the production of blog posts in the monolithic system.</p>
<p>At first, hybrid architecture came to solve this kind of dilemma. What the market currently needs is a solution that addresses the needs of developers, content producers and companies' business strategies, all at the same time.</p>
<p>But hybrid CMSs are still in their infancy. No company has managed to master the construction of a tool like this. So this avenue remains open.</p>
<p>In the meantime, you need to identify your priorities and to compare them with the characteristics of traditional and headless CMSs, while the hybrid architecture is not yet mature. Embrace the format that best meets your needs, and wait for the solution that, in our point of view, will be ideal for virtually any type of business.</p>
<p>Melissa Webster of International Data Corporation agrees with us:</p>
<p>“<em>We think the ultimate solution is really a hybrid approach that brings forward all the benefits of web content management that we've accumulated over the last 25 years and adds to it the ability to support developers building headless applications</em>”.</p>
<p>So, while the hybrid CMS architecture continues to improve, the answer is to know how to choose the best available option.</p>
<p>And what about you? How have your experiences with CMSs been so far? It is super important to exchange ideas and experiences about technologies that are in development.</p>
<p>Do you want to join this debate? Leave a comment!</p>
<p>If you want to go beyond this content and chat about other technologies, join our <a target="_blank" href="https://discord.com/invite/p3hhfGg2Uy">server at Discord</a>. 😊</p>
]]></content:encoded></item></channel></rss>