2. Quem sou eu? Prazer Bruno Carvalho
“Essa é uma palestra community as opiniões aqui expressadas são de única
responsabilidade minha, e nada referem-se as da empresa para qual trabalho”
Consultor e Instrutor
Trabalho com TI há cerca de 15 anos e atualmente me aventuro
a escrever sobre tecnologia no meu blog www.brunocarvalho.net
Cloud Infrastructure Engineer at TIVIT LATAM
brunowcs@gmail.com
3. Roteiro
● O que é Juju
● O que é Charm
● Como funciona
● Diferenças entre ferramentas
● Prós e Contras
● Instalação e Integração
● Orquestrando Serviços em projetos
● Orquestrando Infraestrutura OpenStack
4. O que é Juju?
● Juju é uma ferramenta de modelagem de serviços open source para orquestração de
serviços na nuvem
● Desenvolvida em Go pela Canonical desde 2011, atualmente na versão 2.2
● O Juju pode ser usado tanto em linha de comando ou através de uma interface GUI
● Com Juju é possível implementar, configurar, gerenciar, manter e escalar aplicações
em nuvens públicas e privadas de uma forma rápida e eficiente através dos seus charms
● Comparando a uma orquestra, o Juju é o maestro que orquestrará seus serviços dentro
do Openstack
6. O que é charm?
● O charm nada mais é do que uma receita de instalação e configuração com
gerenciamento de dependências e interligações necessárias para sua aplicação
funcionar em uma nuvem
● Podemos “Deployar” um servidor web, um banco de dados, uma servidor de controller
OpenStack e relacioná-los para entrega de uma serviço completo.
● Tudo o que você precisa fazer é usar qualquer charm/bundles disponível (ou escrever o
seu próprio) e a aplicação correspondente será implantada em segundos no seu projeto
OpenStack
7. Charms e Bundles
● Mais de 300 charms prontos para serem utilizados com alguns clicks
● Vários Bundles gratuitos disponíveis pela canonical e pela comunidade
● Analogia a uma Loja
● Instrumentos – Serviços = Charms
● Partitura – instalação e configuração dos serviços
● Músicos – Unidade de Serviços charms
10. Prós e Contras
Prós:
- Topologia portátil na nuvem
- Velocidade na disponibilização de ambiente com alguns clicks
- Suporta Linux e Windows
Contras:
- Sem auto-scallinig
- Sem IDE para modelagem do código
13. Orquestrando serviços em projetos
Criando um Serviço com Charms do Wordpress dentro do projeto OpenStack
Onde foi instalado o Controller
1. # juju deploy wordpress
2. # juju deploy mysql
3. # juju add-relation wordpress mysql
4. # juju expose wordpress
5. # juju add-unit wordpress
6. # juju remove-application mysql
--constraints="cpu-cores=2 mem=4g"
--constraints "instance-type=CI1.c2m4"
--config config.yaml wordpress
14. Juju command-line status
1. # juju status
2.
3. Model Controller Cloud/Region Version SLA
4. default controller-projeto-bruno openstack/sp 2.2.1 unsupported
5.
6. App Version Status Scale Charm Store Rev OS Notes
7. wordpress active 1 wordpress jujucharms 8 ubuntu
8. mysql 5.7.18 active 1 mysql jujucharms 57 ubuntu
9.
10. Unit Workload Agent Machine Public address Ports Message
11. wordpress/2* active idle 2 192.168.10.40 80/tcp Ready
12. mysql/3* active idle 3 192.168.10.41 3306/tcp Ready
13.
14. Machine State DNS Inst id Series AZ Message
15. 2 started 192.168.10.40 2eaaa7ad-472c-4bbd-ad28-fcb3237f0e4e xenial br-spo ACTIVE
16. 3 started 192.168.10.41 2f57a6d5-a69f-4e44-8041-403ca151bd89 xenial br-spo ACTIVE
17.
18. Relation Provides Consumes Type
19. cluster mysql mysql peer
20. db mysql wordpress regular
21. loadbalancer wordpress wordpress peer