+55 11 3995-6919 / +55 11 3900-1010

Dicas de cursos de tecnologia para a quarentena

Em tempos de quarentena, o blog Darede segue trazendo dicas para que passemos por este período da melhor forma possível. Como a ideia é ficar dentro de casa para a diminuição de aglomerações e contato social, apareceu algo que costumávamos reclamar pela sua falta, ou usá-lo de desculpa para não realizar alguma tarefa: tempo. E com uma maior oferta de tempo, abre-se uma oportunidade para ampliar os conhecimentos por meio de cursos online, livros ou lives na internet. Todas as manhãs, a Darede já oferece a Daily Live Darede que traz uma série de transmissões ao vivo que ajudam a entender melhor sobre o mundo da AWS. Outras plataformas também oferecem, de forma gratuita, cursos voltados a tecnologia que ajudarão na capacitação profissional, ou simplesmente no aprendizado de uma nova habilidade.

Udemy
A Udemy é a mais popular plataforma de cursos online, que conta com uma variedade de aulas gratuitas sobre informática e programação com certificado. A Udemy disponibiliza os seguintes cursos: Python, HTML5, Android,C++, WordPress, Algoritmos e lógica, JavaScript, Introdução à programação de computadores, Introdução a banco de dados com MySQL & PHPMyAdmin, Data Science: Visualização de Dados com Python,
Introdução ao PHP orientado a objetos, dentre outros. Acesse: https://www.udemy.com/

Cisco Networking Academy
A Networking Academy, da Cisco, oferece diversas modalidades de cursos com foco em aprimorar as habilidades em alguns setores da tecnologia: Redes de Computadores, Internet das Coisas, Programação, Segurança cibernética e Sistemas Operacionais. A partir dos 13 anos de idade, é possível se matricular nos cursos que devem ser concluídos em até 30 dias. https://www.netacad.com/pt-br

Fundação Bradesco
Por meio de sua Escola Virtual, a Fundação Bradesco, oferece diversos cursos gratuitos com direito a certificado. Apesar de levar o nome do banco, não é necessário ser correntista para a realização das aulas, apenas é preciso ter no mínimo 14 anos, CPF e um e-mail válido. São vários cursos nas áreas de Banco de Dados, Desenvolvimento de sistemas, Governança de TI, sistemas operacionais e infraestrutura de TI. https://www.ev.org.br/

TIM Tec
Oferecendo lições de programação, desenvolvimento de sites e até criação de jogos digitais, o TIM Tec, plataforma de cursos online do Instituto TIM. Os cursos são divididos por capítulos que incluem atividades no final das aulas. O TIM Tec também disponibiliza um fórum de discussão com a finalidade de esclarecimento de dúvidas dos alunos. https://cursos.timtec.com.br/

Microsoft Learn
A Microsoft liberou acesso à sua plataforma que oferece diversos cursos gratuitos. É possível seguir trilhas de aprendizagem ou realizar cursos de forma avulsa sobre conceitos de business inteligence, linguagens de programação e soluções relacionadas a plataforma Azure. https://docs.microsoft.com/pt-br/learn/

AWS Training and Certification
Essa plataforma é endereçada para aqueles que detém uma conta AWS. A plataforma de ensino da AWS contém cursos online gratuitos voltados ao aprimoramento das habilidades de TI, além de aulas virtuais
voltadas para cloud computing. https://aws.amazon.com/pt/training/

Bônus: Cursos voltados para as certificações AWS

Esse período de paralização também pode servir para estudar para tirar aquela certificação da AWS que irá melhorar o currículo. Como já sugeridos nas transmissões ao vivo matinais da Daily Live Darede, existem cursos, embora sejam pagos, que te ajudarão a estudar para as provas de certificação, lembrando que a maioria deles estão na língua inglesa, assim como os exames da AWS:

Temos os cursos do A Cloud Guru em seu site, bem como na plataforma Udemy. Nestes dois canais, são disponibilizadas aulas para os exames Practitioner e Architected Associate. https://www.udemy.com/course/aws-certified-solutions-architect-associate/
https://acloud.guru/learn/aws-certified-cloud-practitioner

O francês Stéphane Maarek oferece na Udemy diversos cursos voltados as certificações AWS, principalmente para as provas Architect Associate, SysOps Adminitrator e Developer Associate.
https://www.udemy.com/course/aws-certified-solutions-architect-associate-saa-c02/
https://courses.datacumulus.com/

O único curso da lista em língua portuguesa é o com foco no exame Architect Associate, da Wefbor Treinamentos. O site oferece um curso com mais de 34 horas e cerca de 160 aulas online, além de simulados da prova.
https://webfor.com.br/curso-aws-certified-solutions-architect/

Quer ver mais dicas da Darede para melhorar seu período de quarentena? Leia mais em nosso blog!

Processos CI/CD

Processo de Integração e Deploy Contínuo (CI/CD) na AWS – Parte 1

Antes de introduzir o assunto de CI/CD, precisamos entender um conceito que vem ganhando grande força no mundo da tecnologia: o DevOps. Esse termo é bem sugestivo pois se deriva da junção das palavras “desenvolvimento” (em inglês, development) e “operações” (em inglês, operations). Essa palavra descreve um conjunto de práticas para integração entre as duas equipes. Entretanto, há a possibilidade de incorporação de outros setores, como por exemplo, o de controle de qualidade, permitindo adotar processos automatizados para um desenvolvimento rápido e seguro de aplicações e serviços.
Também não podemos deixar de falar de Pipeline, uma vez que esses assuntos estão diretamente ligados. Na tradução literal, pipeline, traz o conceito aplicado a gasodutos e encanamentos. Na área de TI, esse termo vem se mostrando cada vez mais atual e utilizado. Seu objetivo, é automatizar o processo de entrega de um software. Usando publicações e correções em uma aplicação de forma contínua. E assim, garantindo a qualidade na entrega final deste processo.

Vantagens de se utilizar pipeline:

  • Automatização benéfica, agilizando o processo e evitando erros humanos; (Quanto menos erros, a entrega será mais rápida)
  • Fácil integração de pequenas atualizações;
  • Como os desenvolvedores não se preocupam em entregar o código até produção, eles conseguem ficar mais focados na configuração de novas features;
  • Possibilidade de realizar atualizações de código pequenas, frequentes e reversíveis.
  • Concentração de logs de teste, atualizações e deploys ficam acessíveis para verificação a qualquer momento;
  • Bugs são identificamos de forma mais rápida, agilizando as correções.
  • CI – Continuous Integration

    Bom, a definição básica de integração contínua (CI) é a prática de automatizar a integração de alterações individuais de código, chamadas de branches, de vários colaboradores em um único projeto de software através do merge de diversos branches em um código consolidado. O processo de CI é composto por ferramentas automáticas que apontam, a correção do novo código antes da integração.
    Temos exemplos de ferramentas de repositórios de cógido com esse recurso, o GitHub, BitBucket, GitLab entre outros. Vale lembrar que na AWS temos o serviço do CodeCommit, que é extremamente funcional e de uso parecido dessas ferramentas mais famosas, visto que ele hospeda repositórios baseados em Git. Caso queira ter mais informações sobre este serviço, clique aqui.

    CD – Continuous Deployment/ Continuous Delivery

    Há dois conceitos ligados a sigla CD, mas seu principal objetivo é a prática de desenvolvimento de software em que as alterações de código são criadas, testadas e preparadas automaticamente para a liberação em um ambiente de produção. Ele expande a integração contínua, implementando todas as alterações de código, seja em um ambiente de teste, ambiente de produção ou em ambos, após a conclusão do estágio de construção. Quando a liberação deste deploy é feita de forma de aprovação, ou seja, é necessária uma intervenção humana para a esteira ser finalizada, temos o conceito de Continuous Delivery. Já quando este processo é totalmente automatizado, com todos os testes funcionando, sem a autorização explícita humana, temos o conceito de Continuous Deployment. Algumas das ferramentas mais famosas para este processo temos o Jenkins, utilizado em todo o mundo, devido a sua grande comunidade e infinidade de plugins, garantindo inúmeras integrações.
    Na AWS, temos o AWS CodePipeline, que nos ajuda nessa integração. Na plataforma, temos serviços como o CodeBuild, para você compilar sua aplicação e o CodeDeploy para realizar os deployments em seus recursos necessários para seu software. Para entender melhor sobre o AWS CodePipeline, clique aqui.

    Em uma estrutura padrão de CI/CD, temos a seguinte estrutura de funcionamento:
    AWS Code Pipeline

  • Source: O local onde está o código da aplicação;
  • Build: Momento em que é efetuado um merge do código já existente com o código de atualização. Aqui também pode ser efetuado a compilação da sua aplicação, gerando toda estrutura;
  • Test: Este passo é um dos essenciais para garantir uma entrega rápida e segura. Aqui são efetuados testes automatizados para garantir o pleno funcionamento da aplicação.
  • Staging: Após os passos acima ocorrerem perfeitamente, a aplicação é enviada para um ambiente de staging, mais próximo a realidade em que sua aplicação irá funcionar. Nele são realizados testes adicionais de funcionamento da aplicação e infraestrutura antes de ir definitivamente para o ambiente de produção.
  • Production: Finalizando a pipeline, temos o ambiente de produção, após ter sido devidamente testado e atualizado com os processos anteriores, além de depender do nível de maturidade dos seus testes, essa nova versão lançada está funcionando perfeitamente e foi atualizada de forma automática. Finalizando o CI/CD.
  • Vamos agora criar na prática um exemplo de deploy automatizado simples na AWS juntamente com seu GitHub, uma das plataformas de versionamento de código mais utilizadas no mundo , para que você veja as várias maneiras de possíveis integrações na AWS. Para isso, foi realizado a seguinte arquitetura:

    Na ilustração acima, os desenvolvedores fazem o “push” da aplicação para o Github. Neste momento, juntamente configurado com o AWS CodePipeline, o Git dispara um webhook toda vez que ocorre uma alteração de código. Assim o CodePipeline gera um Artefato da aplicação, manda para um bucket S3 e aciona o CodeDeploy para finalizar o deploy automático em uma Instância EC2. Lembrando que, como fizemos um método simples de deploy, não temos um passo de build ou test, esta ilustração serve apenas para que você veja a configuração de um continuous deployment de maneira fácil.
    Na parte 2 traremos um tutorial de como realizar esta arquitetura na sua rede AWS.

    Cloud e Coronavírus – O mundo do trabalho pós-pandemia

    Quarta-feira, 11 de março de 2020, o diretor geral da Organização Mundial da Saúde (OMS), Tedros Adhanom Ghebreyesus, declarou que, a partir daquele dia, viveríamos uma pandemia causado pelo coronavírus. Nas semanas seguintes, diversas lideranças políticas de todo o mundo começaram a anunciar regimes de quarentena em suas cidades, estados, províncias, países, enquanto algumas resistiram em reconhecer que a situação era de calamidade. Fomos apresentados a uma situação atípica no mundo, teríamos que ficar em casa, poderíamos sair apenas para fazer compras no mercado ou na farmácia. Restaurantes tiveram que operar apenas com delivery, empresas tiveram que mandar seus colaboradores para casa.

    Essa nova realidade potencializou o conceito de home office, que já tinha uma certa popularidade em alguns setores, mas diante da situação que esse vírus nos colocou, a ideia do trabalho remoto foi sendo difundida em massa. E é aí que a cloud computing entra em campo. Da noite para o dia, equipes precisaram incluir na rotina de trabalho ferramentas remotas, as quais visam manter ativas as atividades de um negócio durante esta crise. Algumas delas podem ser vistas no post anterior.
    Algumas empresas certamente tiveram grandes dificuldades de implementar esse modelo, uma vez que de acordo com a Kaspersky, 44% dos trabalhadores da América Latina trabalhavam em lugares com uma política restritiva ao uso de smartphones.

    E por causa disso, boa parte das empresas tiveram que se adaptar a essa nova realidade, que ficou focada em investimentos no setor de TI, transferindo toda sua estrutura para a nuvem. Necessidades como, a segurança da informação, o compartilhamento de dados, o aumento da produtividade em ambientes de TI, dentre outras, ficaram cada vez mais evidentes. Atividades que irão mudar totalmente as relações de trabalho, pois ao perceber a redução de custos oriundas desse novo cenário, empresas certamente repensarão sobre a manutenção de grandes espaços físicos para suas operações, tanto que analistas do setor de tecnologia estimam que a utilização de trabalho remoto no Brasil irá aumentar cerca de 30%. O e-commerce e o ensino a distância serão outros departamentos que certamente terão um crescimento agudo após a pandemia.

    Provavelmente será uma adaptação certamente menos dolorosa, pois num passado recente tivemos uma crise de escala global que mudou o panorama da relação da tecnologia com o ambiente empresarial: Os ataques terroristas de 11 de setembro de 2001. As consequências deste ataque influenciaram diretamente a perspectiva do setor de TI no mundo, principalmente na área de proteção de dados, uma vez que boa parte das empresas detinham sua sede em uma das torres do World Trade Center e seus datacenters no prédio ao lado, os quais foram perdidos com a queda das torres. Diante disso executivos de TI perceberam que deveriam estar preparados para o improvável, como na crise a qual estamos enfrentando.

    O home office no mercado de trabalho da tecnologia da informação já é uma realidade em diversos setores já algum tempo, mas devido ao cloud, (e à pandemia, é claro) este conceito se espalhou. Num passado recente, desenvolvedores estavam mais acostumados em realizar o trabalho remoto, mas hoje em dia já é possível um profissional do setor de infraestrutura trabalhar à distância, tudo graças a computação em nuvem.

    E agora?

    O que podemos concluir diante desses fatos, é que as relações trabalhistas serão vistas de forma diferente, e o uso de soluções cloud poderão ser determinantes para o sucesso de um negócio. A Darede, com mais de 7 anos no mercado, oferece diversos tipos de soluções que ajudarão a modernizar o ambiente de TI de uma empresa, contando com profissionais altamente capacitados que prestam um atendimento personalizado e estão preparados para atuar em todas as necessidades do cliente principalmente neste período em que o trabalho remoto é essencial para a manutenção das atividades de uma empresa.
    Leia mais artigos sobre home office em nosso blog!