| Linha 102: | Linha 102: | ||
* Kubernetes: | * Kubernetes: | ||
*Para que serve? | |||
** Esta ferramenta open source criada pela google é um sistema que tem como objetivo harmonizar e gerenciar clusters de containers. Esses clusters são várias máquinas, que apresentam um engine de container, sendo em sua grande maioria das vezes o Docker na criação de conteiners nos nós do cluster e estes sendo monitorados pela Kubernetes. | ** Esta ferramenta open source criada pela google é um sistema que tem como objetivo harmonizar e gerenciar clusters de containers. Esses clusters são várias máquinas, que apresentam um engine de container, sendo em sua grande maioria das vezes o Docker na criação de conteiners nos nós do cluster e estes sendo monitorados pela Kubernetes. | ||
*Outras soluções no mercado | |||
Docker Swarm, Amazon ECS. | |||
*Como funciona? | |||
** A ferramenta | |||
*Exemplos de uso | |||
**O jogo mundialmente conhecido, Pokemon Go utiliza das kubernetes para conseguir orquestrar um serviço para milhões de jogadores melhorando continuamente. | |||
Edição das 00h09min de 5 de maio de 2019
Evolução na profissão
- Formado em 2007, em Engenharia Elétrica, com ênfase em Eletrônica.
- Analista de Desenvolvimento: OpenK (2006 - 2008).
- Desenvolvedor Full Stack para grandes empresas.
- Codificava em Java e JSF
- Analista de Desenvolvimento: Algar Telecom (2008 - 2014).
- Criando Aplicativos Telco usando a Tecnologia Open Source como Mobicents.
- Trabalhou com JMS usando ActiveMQ, Spring, JBoss, Banco de Dados Oracle, PL / SQL e tendo acesso a Servidores Linux.
- Diretor: Algarworks, Treinamentos e Serviços (2012 - 2017).
- Um dos instrutores e diretores da AlgaWorks.
- Trabalhou muito com Java, Design Patterns, SOLID, Spring Framework, MySQL.
- Engenheiro de Software Senior: Softbox - Soluções Inteligentes em TI (2017 - 2018).
- Trabalhou com Java (Java EE, EJB, CDI), PostgreSQL e JavaScript (Vue.js), criando e mantendo aplicativos para grandes empresas ao redor do mundo.
- Engenheiro de Software Senior: TQI +Tecnologia +Qualidade +Inovação (2018- 2019).
- Teve sucesso usando Java, Gradle, Docker, Swarm Docker, Jenkins, Terraform, Ansible e AWS durante o tempo nesta empresa.
- Especialista em TI na Zup (Atual)
Descrição da atividade atual
Descrever o dia-a-dia do profissional. Funções, responsabilidades e atividades assumidas pelo profissional.
Requisitos mínimos para exercer a profissão
- Domínio do inglês: Para um trabalho que requer constante atualização em seu conhecimento, saber inglês faz com que se torne simples obter conhecimento, através da internet e de livros, além de abrir portas para oportunidades.
- Saber resolver problemas: Nem sempre a primeira solução é a melhor, flexibilidade e prática são muito influenciadores para isso.
- Persistência: Como dito anteriormente, os problemas não são facilmente resolvidos, e nem sempre são resolvidos com eficiência no início, logo erros são muito comuns.
- Estudar muito: Nunca deve-se contentar com o conhecimento que tem, sempre buscando mais. Praticar bastante ler e escrever códigos, além de compartilhá-los com outros programadores. Ademais certificação é uma forma de mostrar que a pessoa estuda.
- Ser sociável: Manter-se humilde e sempre ajudar as pessoas ao seu redor, mostrando sempre disposição e competência.
- Manter boa qualidade: Não contentar-se com o que fez, tentando sempre aperfeiçoar seu produto.
- Responsabilidade: Deve apresentar positividade, disposto a trabalhar com algo fora de sua zona de conforto, além de evitar depender dos outros, mantendo sempre prioridade em cada uma de suas ações.
Ferramentas usadas no dia-a-dia
Versionamento: GitHub.
Diagramas UML: Lucidchart, Draw.io, Gliffy, Astah.
Tecnologias envolvidas
Conhecimento técnico e científico aplicado na atividade profissional utilizando ferramentas, processos e recursos físicos. Neste caso, escolher uma tecnologia e aprofundar a ponto de poder discutir em sala de aula Exemplos:
- SO, Banco de Dados, Linguagens, Metodologia ágil para o Engenheiro de Software
- Redes de Computadores, Roteamento, sistemas de comunicação e comutação para o Analista de Redes
- Criptografia, Certificação Digital, Banco de Dados, Ambiente Web para Analistas de Segurança
- Banco de Dados, Normalização, Tuning, redundância para o DBA
- E assim por diante ....
Ética profissional
- Apontar qualquer situação em que é necessário ética. Seja alguma situação vivida pelo profissional ou que ele tenha tido conhecimento. Importante ressaltar o comportamento adequado do profissional dentro de uma empresa ou de um negócio.
- Caso o profissional não sugira nada, a equipe deverá pesquisar e discutir algum caso
- Os casos, tanto podem tratar de comportamentos éticos positivos quanto de situações onde a ética tenha sido desvirtuada.
Exemplo de resultado tangível
- Citar um exemplo de algum resultado relevante e real produzido pelo profissional.
- Aqui pode ser o exemplo de um equipamento, de um sistema embarcado, de um sistema web ou mobile, de um projeto ou documento que retrate a contribuição do convidado no negócio onde ele atua.
Upload da apresentação
https://drive.google.com/open?id=1moEnkLWYF-zeEFouUWEOOV11nzfcob3Z
Dúvidas
- 01. Cite e defina 3 áreas da tecnologia, segundo o palestrante, que são fundamentais para Arquiteto de Software atual.
- 02. Avaliar o problema, raciocinar, propor uma solução, agir rápido! Que conhecimento básico foi esencial para essa habilidade?
- 03. Por quê certificações são importantes para o profissional de TI?
- As certificações apresentam um grande peso ao profissional de TI, pois é relacionado a um mercado que está em constante mudança, exigindo sempre atualização no conhecimento do profissional. O certificado garante que o profissional apresenta domínio em certos conteúdos da área de seu trabalho. Logo, o certificado é uma prova concreta sobre determinado conhecimento, algo que nem sempre a graduação da faculdade pode oferecer.
- 04. A metodologia SRE, citada na apresentação. envolve questões de Engenharia de Software. O que vem a ser ESOF? Quais os benefícios?
- 05. Qual a diferença entre um Arquiteto e um Engenheiro de Software ? (Explicar cada uma)
- O Arquiteto de software é aquele que define os componentes, propriedades externas e seus relacionamentos do software com outros. Já o engenheiro é aquele que busca especificar, desenvolver e manutenciar os sistemas de software, buscando organização, produtividade e qualidade.
- 06. Código open-source: é interessante o desenvolvimento baseado em código-aberto? Quais vantagens e desvantagens?
- 07. É importante que o Arquiteto de Software domine SOs como Linux? Por quê?
- 08. AWS, Google e Microsoft? Que tipos de serviços estas empresas prestam em comum? Tem alguma mais viável?
Tecnologia a ser pesquisada
- Kubernetes:
- Para que serve?
- Esta ferramenta open source criada pela google é um sistema que tem como objetivo harmonizar e gerenciar clusters de containers. Esses clusters são várias máquinas, que apresentam um engine de container, sendo em sua grande maioria das vezes o Docker na criação de conteiners nos nós do cluster e estes sendo monitorados pela Kubernetes.
- Outras soluções no mercado
Docker Swarm, Amazon ECS.
- Como funciona?
- A ferramenta
- Exemplos de uso
- O jogo mundialmente conhecido, Pokemon Go utiliza das kubernetes para conseguir orquestrar um serviço para milhões de jogadores melhorando continuamente.