#bigdata #hadoop #spark
No período outubro 27~29 eu estive no
Spark Summit Europe2015, em Amsterdam. É muito importante que
se registre e se divulgue o que está acontecendo: uma revolução! A quantidade,
qualidade e velocidade das transformações que estão ocorrendo no ambiente de
tecnologia de informação são de tal magnitude que a situação atual não pode
receber outra qualificação. E como se sabe por exemplos (Google, Smartphones, Uber,
e muitos outros), grandes projetos de tecnologia de informação tem o potencial
de mudar a vida de muita gente.
Peço ao leitor a permissão de mencionar brevemente minha
história e sua relação com Big Data. Desde que voltei do doutorado no Japão em
1998, tendo estudado “Controle Automático” (no nível de doutorado esse assunto
torna-se “matemática aplicada”), tenho mantido atividade na área de consultoria
relacionada à desenvolvimento de software de alta tecnologia. Como temos que
estar sempre nos atualizando, naturalmente tomei conhecimento da tecnologia de
software para Big Data. Tomei a decisão estratégica de estudar seriamente o
assunto em 2014, quando trabalhei com Hadoop. Nesse mesmo ano solicitei e
obtive aprovação para a criação de primeira disciplina de Big Data Developer da
UFRJ, no
DEL (Departamento de Engenharia Eletrônica e de Computação), onde trabalho
desde 1991. Em março de 2015 eu fiz o curso da Cloudera de Spark Developer, na
empresa paulista Semantix. Com esse excelente curso, o sentimento imediato foi:
“eu vi o futuro: chama-se Spark”. Apliquei tudo que aprendi na minha turma de
Big Data Developer da UFRJ de 2015_1,
com cerca de 25 alunos. Fizemos excelentes trabalhos com Spark. Agora vendo o
Spark Summit Europa, a mensagem é clara: “está confirmado: o futuro
definitivamente é Spark, sendo esse já o presente para muitas empresas e
pessoas”. Com esse post, pretendo reportar algumas passagens do Summit, bem
como algumas reflexões pessoais.
- A escala de adoção de Spark é muito
impressionante sob qualquer perspectiva que se observe. A velocidade explosiva
de incorporação de novidades é possível com tecnologia de informação, devido à
natureza imaterial com que se trabalha. O efeito combinado da genialidade que
começou com a tese de doutorado de Matei Zaharia, com a visão empresarial de Ion
Stoica, CEO da Databricks está materializando a revolução. Partindo da ideia da
tese do Zaharia, agora apoiado na Databricks por um time de gente brilhante, o
Spark segue sendo aperfeiçoado rapidamente, sendo tudo disponibilizado de forma
Open Source. Eu conversei casualmente com Ion Stoica (o Summit serve inclusive para
permitir essas coisas); ele fizera na sua palestra alguns minutos antes da
conversa comigo, algumas considerações sobre como tecnologias são incorporadas
pela sociedade. Eu comentei que o Google chegou atrasado no mercado de mobile,
e que conseguiu – com um modelo Open Source bem suportado por um time brilhante
– fazer o Android vencer os concorrentes e ficar com a fatia do leão no mercado
de mobile. O Ion Stoica abriu um sorriso, e disse que ele adora essa analogia,
e que com certeza deseja que o mesmo ocorra com Spark. E está ocorrendo!
- Em seguidas palestras, empresas importantes
reportaram como trabalham com problemas reais relacionados a Big Data, e como
Spark foi usado para resolve-los. Em uma dessas palestras, Anjul Bhambhri, Vice
President of Product Development, Big Data and Analytics Platform, da IBM, repetiu
merecidos elogios ao Spark (assim como muitos no Summit). Afirmou também que o
Spark é um “Analytics Operating System”, e que a IBM fez a opção estratégica de
apostar e incentivar o uso de Spark. Já há vários projetos da IBM sendo feitos
com Spark.
- Spark é um pacote único que funciona muito bem
para resolver o que se propõe, é particularmente bom para tratar conjuntos de
dados de tamanho enorme, conecta-se com muitas fontes de dados, possui
interface para algumas linguagens de programação das mais usadas pelas pessoas
da área: atualmente incluindo Scala, Java, Python e R. Spark funciona em vários
ambientes (inclusive Windows, o que muitos achavam que não ia acontecer), sendo
que a combinação de Spark com cloud (aluguel de datacenter com recursos que
permitem automatizar o comando do aluguel por software, tendo a Amazon como
empresa líder) torna o uso de Spark extremamente fácil.
Eu comecei a escrever esse post estando hospedado em uma
residência de Amsterdam, refletindo sobre o significado de tudo o que vi no Spark
Summit. Diga-se de passagem, o mecanismo que viabilizou eu estar hospedado em uma
residência, e não num hotel como seria mais tradicional, é por estar usando o
sistema Airbnb. Eu pessoalmente gosto muito de Airbnb, sendo que esse sistema é
outra dessas novidades muito impactantes da tecnologia de informação nas nossas
vidas. Voltemos para as reflexões. No Summit há sempre um local para estandes
de patrocinadores, que são empresas divulgando seus produtos. É muito bom
conversar com as pessoas das empresas. Eu abordei em conversas com várias
pessoas um tema que me interessa muito: estratégia empresarial, isso é, planos
empresariais de longo prazo. Como se sabe bem, uma empresa precisa ter bem
claro para si mesmo e para o mercado o significado de sua existência. A empresa
existe porque executa sua missão. Se a missão não existe mais, a empresa precisa
encontrar outra missão, ou deixa de existir. Conversando com o pessoal de uma
dessas empresas (MAPR), eu ouvi uma frase interessante: “Hadoop is loosing his
job”. Hadoop, para quem não sabe, é a primeira geração de tecnologia Open
Source para Big Data. Quando comparado com Spark, Hadoop parece complicado
demais, sem falar no problema de desempenho de execução (Spark é superior).
Quando Hadoop era a única alternativa para Big Data, e se necessitava que
alguma tecnologia tratasse os volumes enormes de dados que se produzia,
criou-se um ambiente empresarial para dar suporte a Hadoop. Muitos empregos
bons, incluindo engenheiros de software, suporte e outros, foram criados no
contexto de dar suporte para Hadoop, que por sua complexidade de fato requer muito
suporte. Tudo isso custa um preço que os clientes pagavam para ter acesso ao
desempenho superior que a tecnologia de Big Data proporcionava. Mas agora tudo
isso está sob forte transformação. Spark incorpora tudo de forma mais simples,
mais elegante, mais eficaz e com desempenho superior. Hadoop está perdendo o
emprego, como disse o pessoal da MAPR. A filosofia Open Source está
completamente implantada. Há tutoriais e fóruns por toda parte.
Convido o leitor a especular comigo as principais
características do ambiente profissional de tecnologia de informação que está
sendo moldado, considerando as tendências que descrevi. Não se esqueça, caro
leitor, que nossa espécie humana tem instinto egoísta. Muito pouca gente compra
um produto de uma empresa pensando no sentimento do dono da empresa ou de seu
funcionário. Quem compra pensa em si mesmo. Se Spark simplificou tudo, se a
necessidade de suporte foi muito reduzida, bom para o consumidor (ou cliente),
que poderá usar esses serviços pagando pouco (ou nada, se souber usar). Mas
resta a ser definido qual o papel do profissional de tecnologia de informação.
Relembremos um aspecto da história. Os computadores de
grande porte eram terrivelmente complexos de serem operados. Havia operadores
contratados (gente treinada) para fazer aquilo funcionar. Hoje os computadores
de grande porte que ainda existem são muito mais fáceis de se operar, e uma
parte enorme do serviço de processamento é feito em computadores pessoais, com
algum sistema operacional que espera-se ser suficientemente simples para que
muitas pessoas consigam opera-lo sem precisar contratar suporte. Resultado:
hoje usamos muito intensamente o processamento digital, e usa-se relativamente
pouco suporte contratado; isso se deve ao efeito combinado de os sistemas terem
ficado mais simples e de muita gente ter aprendido como usar os tais sistemas.
Concluo esse post tentando fazer senso de dessas tendências
para definir as qualidades do profissional de tecnologia de informação
valorizado no futuro.
- Big Data é absolutamente importante, sendo que
Spark vai ser (ou já é) a tecnologia central para resolver os problemas nessa
área. Portanto, aprender os problemas clássicos de Big Data e como resolve-los
com Spark é uma das grandes habilidades valorizadas.
- Percebo que aumenta a importância de
conhecimento de matemática e estatística. Muitos dos problemas que se deseja
tratar estão relacionados a uma formulação matemática bem-feita. O computador não
erra as contas. Mas quando se o programa erradamente, os resultados ficam
errados. Interpretar dados erradamente, ou programar o computador para explorar
uma quantidade exageradamente grande de possibilidades são outros erros comuns.
Para resolver tudo isso, o profissional deve buscar uma boa formação em
matemática.
- O idioma inglês é claramente central, pois mais
que nunca tudo está sendo feito de forma colaborativa. Há códigos fonte,
tutoriais e blogs por toda parte, sendo a maior e melhor parte em inglês.
- Outra característica é a meritocracia. No Summit
pode-se var todo tipo de gente – altos, baixos, gordos, magros, todas as raças
humanas, de todas as cores que pode haver na pele. A cultura da meritocracia é
muito compatível com a do liberalismo econômico, que presa o lucro como
recompensa para o esforço individual. Curiosamente a mesma visão de liberalismo
econômico é quase sempre associada também ao culto a propriedade privada. Mas a
ênfase enorme que se está dando ao compartilhamento de tudo o que se tem é em
boa parte uma visão oposta.
- O tempo está na essência de tudo. Embora a
Internet esteja abarrotada de material, faz muito sentido fazer o que eu fiz: pagar
para aprender mais rápido; igualmente importante é criar laços com a
comunidade de gente que usa essa mesma tecnologia.
É preciso que se diga: vi muitas empresas no Summit que apesar de tentarem se diferenciar, eram no fundo parecidas. Eram empresas de suporte,
treinamento e consultoria de Big Data, com especialidade em Spark. Essa parece
ser a direção para onde todo mundo está indo, inclusive eu. Todos nós
precisamos lutar para ter um diferencial, e precisamos também conseguir vender
alguma coisa para alguém. Para que se venda, é preciso conseguir fazer algo
valioso para o cliente. Quem deseja atuar como consultor, deve ter experiência
comprovada, talento, tempo, habilidade para montar times se necessário, capacidade
e visão empreendedora, entre outras coisas. Ajuda muito ter boa formação geral,
especialmente em matemática, boa agilidade mental para ler rapidamente e fazer
senso útil de toneladas de blogs e tutoriais, para transformar tudo isso em
valor para clientes (pessoas e empresas) reais. É preciso entender REALMENTE o cliente
deseja, e eventualmente montar um serviço para ser vendido para esse cliente. O
mundo atual, está repleto de problemas interessantes que podem ser resolvidos
com tecnologia de Big Data (Spark). Vamos construir esse mundo. O momento é
esse.
--------------------------------------------------------------------------------
Sergio
Barbosa Villas-Boas (sbVB), Ph.D.
software development, Big Data,
cloud, mobile, IoT, HPC, optimization
sbvillasboas@gmail.com,
sbvb@poli.ufrj.br
Skype: sbvbsbvb
http://www.sbVB.com.br
https://www.linkedin.com/in/sbvbsbvb
+55-21-97699-1337