You are on page 1of 19

Ambientes desenvolvimento

de software com devops na


plataforma Android
David Francisco
Motivações Objetivos Observações Experimentos Conclusões

Roteiro
Número de usuários de smartphone no
mundo de 2016 a 2021
Motivações
● Tecnologia de maior adoção da
história
● Onipresente na vida vida
cotidiana
● Já são ferramentas de trabalho
essenciais para muitas
profissões
Proporção de jovens e adultas que possuem smartphone
Objetivos

● Smartphone podem ter um ambiente de desenvolvimento?


● Que recursos se tem hoje em dia que possibilite o desenvolvimento?
● Devops pode ser operacionalizado dentro da plataforma?
● O quanto de linux o Android tem de compatível com seus primos do
desktop?
Observações

● Evitaremos cloud
● Sem superusuário ou customização de S.O
● Usar o máximo do que já é disponível hoje
● Usaremos o Android
● Somente da versão 7+ do Android
● Smartphones de teste: Alcatel A3xl e Samsung Tab A Spen
Experimentos: Pesquisa

Aplicativo
Ponto de partida: Google play linux deploy
Forma da pesquisa: manual e cruzando Complete linux installer
informações com fontes de redes como twitter Termux
e reddit de comunidades de desenvolvimento Userland
UbuntuForAndroid
GNURoot
Bochs
Linux on DeX
Experimentos: Filtro

Aplicativo
linux deploy
Complete linux installer
Termux
Userland
UbuntuForAndroid
GNURoot
Bochs
Linux on DeX
Userland

Pros

- Interface Amigável
- Intuitivo

Cons

- Fechado a recursos do android


- Solucao pouco flexível
Termux

Pros

- Customizável
- Simples (Package Manager
“PKG”)

Cons

- Terminal é obrigatorio
Experimentos: Escolhas

Termux foi o escolhido por haver mais documentação e melhor integração com
o Android, porém o UserLand pode ser usado no teste desde que não tenha
preocupações com as features de integração com o android
Termux

Sucessos
Fracassos
- Pacotes como: nodejs,python*
- Break Changes entre versões*
- Pode rodar X11 e acessá-lo via
- Baixa performance nos
VNC
smartphones antigos
- Simulação de distribuição com o
- Proot não simula features que o
“Proot” com scripts da
kernel não possui, Docker por
comunidade
exemplo nao consegue rodar
Desafios de compatibilidade

Ferramentas “clássicas” de operação de devops não funcionam como o docker


pois Android nao tem features como LXC e Userspace abertas

Logo a temos uma simulacao total de S.O como opção


Estrutura da
solução

Docker,
Kubern
etes

Guest(Alpine
Linux)
Qemu(virtualizador)

Proot(Meta Distro)

Termux(compatibilidade)

Android
It Works!
Com memória e processamento
suficiente pode-se rodar qualquer
ferramenta de devops como docker ou
kubernetes
Porém temos problemas
- Aparelhos 32 bits tem pouco suporte
- Inviável em aparelhos antigos
- Memória torna-se crucial e ainda hoje(2019) tem alto custo
- Ainda nao suportado oficialmente
Porém temos
potencial!
O futuro tem muito potencial pois no
ano de 2019 temos uma tentativa do
Android AOSP de criar um ambiente
desktop no Android!

Os smartphones estão ficando mais


baratos e mais potentes
Trabalhos futuros
- Temos muitas camadas de
virtualização, isso degrada a
performance, mas se
pudéssemos ter uma
virtualização modular teríamos
Docker
que apenas virtualizar o que o
Guest(Alpine
android nao dar acesso
Linux)
- Melhor performance em
interfaces gráficas, pois o Qemu(virtualizador)
terminal ainda e uma realidade
para poucos Proot(Meta Distro)
- Teremos Aplicacoes Nativas?
Não sabemos
Termux(compatibilidade)

Android
Obrigado!