SlideShare uma empresa Scribd logo
1 de 20
Orquestrando Openstack com Juju
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
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
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
Usuários e Colaboradores
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
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
Como Funciona?
Diferenças Juju, chef, ansible, puppet e cia
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
Instalando Juju e integrando com OpenStack
# cat openstack.yaml
clouds:
openstack:
type: openstack
auth-types: [userpass]
regions:
sua_região:
endpoint: https://api.openstack.com:5000/v3
# cat credentials.yaml
credentials:
openstack:
default-region: sua_região
default-credential: seu_usuario
seu_usuario:
auth-type: userpass
project-domain-name: seu_dominio
tenant-name: seu_projeto
user-domain-name: seu_dominio
username: seu_usuario
password: sua_senha
Instalando Juju e integrando com OpenStack
# add-apt-repository --update ppa:juju/stable
# apt install juju
# juju add-cloud openstack openstack.yaml
# juju add-credential openstack -f credentials.yaml
# mkdir /opt/metadata
# juju metadata generate-image -d /opt/metadata -i 9c435db2-dce9-49ba-bddc-aad13cfdd56a
-s xenial -r RegionOne -u https://api.openstack.com:5000/v3
# juju bootstrap openstack controller-one --metadata-source /opt/metadata --config
default-series=xenial --constraints "instance-type=CI1.c2m4" --debug --show-log
--constraints "cpu-cores=1 mem=2G"
--config use-default-secgroup=true
--config network=7e01fd6a-b818-41b8-aedd-3a28a201e3ae
--config use-floating-ip=true
--config external-network=c6a928ee-2947-4313-bbaf-b945efae9eaa
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
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
Gui Juju
# juju status
# juju gui
Instâncias no OpenStack
Security Groups OpenStack
Orquestrando Infraestrutura Openstack
Demo
demo.jujucharms.com
Bye
Obrigado e até a próxima!
brunowcs@gmail.com
brunocarvalho.net

Mais conteúdo relacionado

Semelhante a Orquestrando OpenStack com Juju

Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Lenin Abadie
 
Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013
Leandro Silva
 

Semelhante a Orquestrando OpenStack com Juju (20)

Opções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvemOpções de trabalho remoto na nuvem
Opções de trabalho remoto na nuvem
 
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
Uma Arquitetura para a Implantação Automática de Serviços em Infraestruturas ...
 
Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013Composição e Integração de Sistemas em 2013
Composição e Integração de Sistemas em 2013
 
Entendendo Juju Charms
Entendendo Juju CharmsEntendendo Juju Charms
Entendendo Juju Charms
 
Consegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + PuppetConsegi 2011: Ganeti + Puppet
Consegi 2011: Ganeti + Puppet
 
Workshop anypoint service mesh
Workshop   anypoint service meshWorkshop   anypoint service mesh
Workshop anypoint service mesh
 
Apresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - BemobiApresentando o OpsWorks - Bemobi
Apresentando o OpsWorks - Bemobi
 
Um novo modelo de implantação do SEI no governo
Um novo modelo de implantação do SEI no governoUm novo modelo de implantação do SEI no governo
Um novo modelo de implantação do SEI no governo
 
Node js - Javascript Server Side
Node js - Javascript Server SideNode js - Javascript Server Side
Node js - Javascript Server Side
 
Cloud computing & Spring Framework
Cloud computing & Spring FrameworkCloud computing & Spring Framework
Cloud computing & Spring Framework
 
Turbinando microsserviços em PHP
Turbinando microsserviços em PHPTurbinando microsserviços em PHP
Turbinando microsserviços em PHP
 
Windows Azure - Maneiras de uilizar PHP
Windows Azure - Maneiras de uilizar PHPWindows Azure - Maneiras de uilizar PHP
Windows Azure - Maneiras de uilizar PHP
 
Conhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UECConhecendo o ubuntu enterprise cloud - UEC
Conhecendo o ubuntu enterprise cloud - UEC
 
Introdução a Azure Functions
Introdução a Azure FunctionsIntrodução a Azure Functions
Introdução a Azure Functions
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Sistemas Distribuidos Java
Sistemas Distribuidos JavaSistemas Distribuidos Java
Sistemas Distribuidos Java
 
Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
Vitor Hugo Bastos Cardoso apresenta voando alto com WordPress: um guia prátic...
 
Ari Neto_CloudStackDay
Ari Neto_CloudStackDayAri Neto_CloudStackDay
Ari Neto_CloudStackDay
 
Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017Carrefour E-commerce - Multicloud Brasil Day 2017
Carrefour E-commerce - Multicloud Brasil Day 2017
 

Último

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Último (7)

Apostila e caderno de exercicios de WORD
Apostila e caderno de exercicios de  WORDApostila e caderno de exercicios de  WORD
Apostila e caderno de exercicios de WORD
 
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 

Orquestrando OpenStack com Juju

  • 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
  • 9. Diferenças Juju, chef, ansible, puppet e cia
  • 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
  • 11. Instalando Juju e integrando com OpenStack # cat openstack.yaml clouds: openstack: type: openstack auth-types: [userpass] regions: sua_região: endpoint: https://api.openstack.com:5000/v3 # cat credentials.yaml credentials: openstack: default-region: sua_região default-credential: seu_usuario seu_usuario: auth-type: userpass project-domain-name: seu_dominio tenant-name: seu_projeto user-domain-name: seu_dominio username: seu_usuario password: sua_senha
  • 12. Instalando Juju e integrando com OpenStack # add-apt-repository --update ppa:juju/stable # apt install juju # juju add-cloud openstack openstack.yaml # juju add-credential openstack -f credentials.yaml # mkdir /opt/metadata # juju metadata generate-image -d /opt/metadata -i 9c435db2-dce9-49ba-bddc-aad13cfdd56a -s xenial -r RegionOne -u https://api.openstack.com:5000/v3 # juju bootstrap openstack controller-one --metadata-source /opt/metadata --config default-series=xenial --constraints "instance-type=CI1.c2m4" --debug --show-log --constraints "cpu-cores=1 mem=2G" --config use-default-secgroup=true --config network=7e01fd6a-b818-41b8-aedd-3a28a201e3ae --config use-floating-ip=true --config external-network=c6a928ee-2947-4313-bbaf-b945efae9eaa
  • 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
  • 15. Gui Juju # juju status # juju gui
  • 20. Bye Obrigado e até a próxima! brunowcs@gmail.com brunocarvalho.net