MC1 - Desenvolvendo sua primeira
aplicação web na Nuvem com o
Software Livre Openshift
Prof. Me. Stenio Longo
(UESB/IFBA)
Pedro Maioli (UESB)
Week IT IFBA 2014
1
Objetivo



Nesse minicurso serão apresentados
conceitos de sistemas distribuídos e o
desenvolvimento de uma aplicação Web
na Nuvem com o OpenShift.
A Computação em Nuvem é uma
tecnologia que permite acesso remoto a
programas, arquivos e serviços por
meio da internet
OpenShift é uma plataforma como
serviço da Red Hat.
Week IT IFBA 2014
2
Sumário

Sistemas Distribuídos
– Definição
– Metas
– Tipos

Cloud Computing
–
–
–
–

Definição
Características
Vantagens e desvantagens
Modelos de serviço
Openshift
Week IT IFBA 2014
3
Sistemas Distribuídos

Um sistema distribuído é um conjunto
de computadores independentes que se
apresenta a seus usuários como um
sistema único e coerente
Week IT IFBA 2014
4
Sistemas Distribuídos
Week IT IFBA 2014
5
Metas de um SD


Acesso a recursos
Transparênicia de Distribuição
–
–
–
–
–
–
–
Transparência de Acesso
Transparência de Localização
Transparência de Migração
Transparência de Relocação
Transparência de Replicação
Transparência de Concorrência
Transparência de Falha
Week IT IFBA 2014
6
Metas de um SD

Abertura
– Especificação completa e neutra
– Interoperabilidade e portabilidade

Escalabilidade
– Tamanho
– Termos geográficos
– Termos administrativos

Técnicas de escalabilidade
– Ocultar latência de comunicação, distribuição e
replicação (cache)
Week IT IFBA 2014
7
Tipos de SD
Cluster
 Redes de Sensores sem fio
 Cloud Computing

Week IT IFBA 2014
8
Cluster
Week IT IFBA 2014
9
Redes de Sensores em Fio
Week IT IFBA 2014
10
Cloud Computing

Setor brasileiro de cloud computing
deve movimentar US$ 798 mi em
2014
– Fonte: g1.globo.com

Cloud computing rouba mercado de
hardware
– Fonte: olhardigital.uol.com.br
Week IT IFBA 2014
11
Cloud computing
Week IT IFBA 2014
12
Cloud computing
Week IT IFBA 2014
13
Data Center
Data Center, é o local onde são
armazenados todos os dados e
informações de uma empresa.
 O Data Center é desenvolvido para
abrigar diversos Servidores, com
bancos de armazenamento de dados,
os quais processam e mantém uma
enorme quantidade de informação.

Week IT IFBA 2014
14
Data Center

A estrutura é composta por um piso
mais elevado, com espaço para
cabeamento abaixo e sala climatizada
(com ar-condicionado em temperatura
constante), para resfriar os
computadores, que deve ser
totalmente protegida contra incêndio e
qualquer outra eventualidade que
comprometa a integridade dos dados.
Week IT IFBA 2014
15
Data Center


O sistema de detecção inteligente contra
incêndio analisa e capta qualquer tipo de
fumaça, e na possibilidade de um eventual
evento deste porte, é acionado um gás inerte,
que não prejudica os equipamentos.
Todo ambiente é controlado por tecnologia
de Biometria e a famoso Porta-Eclusa, além
de monitorado remotamente 24 horas por dia.
Week IT IFBA 2014
16
Data Center

Para manter um Data Center em
funcionamento, são necessários
geradores de energia de grande
capacidade, cuja energia seja
ininterrupta, chamados de No-Breaks
ou UPS, são equipamentos
especialmente desenvolvidos e
projetados para fornecer energia em
caso de uma eventual queda.
Week IT IFBA 2014
17
Datacenter
Week IT IFBA 2014
18
TI Tradicional
Week IT IFBA 2014
19
Problema do modelo tradicional
Week IT IFBA 2014
20
Escalonamento de recursos na
nuvem
Week IT IFBA 2014
21
Virtualização


Objetivo: fornecer várias máquinas virtuais
sobre a arquitetura de máquina física
subjacente, com cada máquina virtual
executando uma instância separada com
sistema operacional
Motivação: arquiteturas de computadores
modernas têm o desempenho necessário
para suportar uma grande quantidade de
máquinas virtuais e recursos multiplexados
entre elas.
Week IT IFBA 2014
22
Virtualização

Vantagens:
–
–
–
–

Menos máquinas físicas para gerenciar
Mais fácil migrar uma máquina virtual
Ambiente de teste de aplicações
Facilidade de backups
Desvantagens
– Falha em uma máquina física pode derrubar
vários serviços de uma vez
– Se uma das VMs começar a utilizar muitos
recursos, pode afetar as outras VMs
Week IT IFBA 2014
23
Virtualização
Week IT IFBA 2014
24
Cloud Computing
Week IT IFBA 2014
25
Cloud Computing

Definição:
Computação em nuvem é um modelo para
habilitar acesso conveniente, sob
demanda, para um conjunto de recursos
computacionais configuráveis que pode
ser provisionado e liberado rapidamente
com mínimo esforço de gerenciamento ou
interação do provedor de serviço - NIST
Week IT IFBA 2014
26
História

John McCarthy propôs a ideia de
que a computação deveria ser
organizada na forma de um serviço
de utilidade pública,assim como os
serviços de água e energia
Week IT IFBA 2014
27
Características



Pagar pelo que usar
Provisionar as capacidades de TI de acordo
com as necessidades de sua organização
Elasticidade
– Recursos podem ser rapidamente provisionados
(de forma automática ou não) para atender o
aumento de demanda


Auto-atendimento
Computadores com menor capacidade
Week IT IFBA 2014
28
Características
Medição no uso dos serviços
 Acesso remoto de dados

– Compartilhar informação
– Trabalho colaborativo
Week IT IFBA 2014
29
Vantagens
Economia com infraestrutura
 Economia de energia
 Economia de mão de obra
 Acessibilidade

Week IT IFBA 2014
30
Problemas

Ataques ao data center corporativo
–
–
–
–


Maior risco à privacidade
Controle de dados por terceiros
Indisponbilidade do servidor
Impacto no négocio de várias organizações
Provedor de computação na nuvem pode não
sobreviver à concorrência
Latência da rede
– Provedor deve ser geograficamente próximo
Week IT IFBA 2014
31
Cloud Computing

Modelos de Serviço
– IaaS (host), PaaS (build),SaaS (consume)
Week IT IFBA 2014
32
Cloud Computing
Week IT IFBA 2014
33
Week IT IFBA 2014
34
SaaS
Aplicação final executando na nuvem
 Aplicação mantida no servidor (thin
client)
 Usuário controla apenas dados e
configurações da aplicação
 Reduz os custos, dispensa a aquisição
de licenças de softwares
 Exemplo: Flickr, Google Docs, Dropbox

Week IT IFBA 2014
35
PaaS





Aplicações criadas por usuários ou
adquiridas de terceiros
Aplicações usam APIs, ferramentas e
linguagem de programação suportadas pelo
provedor
PaaS fornece: sistema operacional,
linguagens de programação, ambientes de
desenvolvimento
Usuário controla aplicação, podendo
controlar aspectos de hospedagem da
mesma
Exemplo: Google Apps Engine, force.com
Week IT IFBA 2014
36
Iaas




São fornecidos recursos computacionais
fundamentais (processamento,
armazenamento, rede, etc...)
Suporte para adição de novos equipamentos
de forma simples e transparente
Interface única para administração da
infraestrutura
Exemplo: Amazon EC2/S3, Locaweb Cloud
Server, UOL Cloud Prime
Week IT IFBA 2014
37
Cloud Computing

Modelos de implantação:
– Público
– Privado
– Híbrido
– Comunitário
Week IT IFBA 2014
38
Nuvem Privada
Somente uma entidade usa a nuvem
 Tipicamente dentro dos limites da
entidade
 Por estar em ambiente terceirazdo e/ou
com gerenciamento terceirizado
 Exemplo: Nuvem do IFBA

Week IT IFBA 2014
39
Nuvem Comunitária
Extensão da nuvem privada
 Uso compartilhado por diversas
entidades, com foco nas necessidades
da comunidade
 Exemplo: Nuvem Acadêmica

Week IT IFBA 2014
40
Nuvem Pública
Uso público
 Uma organização é dona da
infraestrutura e vende os serviços de
nuvem

Week IT IFBA 2014
41
Nuvem Híbrida

Infraestrutura é composta de duas ou
mais nuvens interligadas por padrões
e/ou mecanismos proprietários
Week IT IFBA 2014
42
Soluções de Nuvens Abertas

SaaS
– Drupal
• CMS para criar sites

Paas
– Openshift
• Desenvolvida pela Red Hat, é uma solução PaaS

IaaS
– Eucalyptus
• Software para a construção de nuvens privadas e
híbridas
– OpenStack
• Solução paraWeek
criação
nuvens
públicas e privadas
ITdeIFBA
2014
43
Soluções de nuvens abertas
Week IT IFBA 2014
44
OpenShift: Solução em PaaS
#01: sudo criar conta
#01: sudo criar conta
#01: sudo criar conta
#02: login
#03: configurações da conta
Demonstração #1: WordPress
if internetConnection == true {
case webapp {firefox.launch()}
case rhc {terminal.launch()}
}
else {
backupSlide.launch()
}
Demonstração #1: WordPress
Demonstração #1: WordPress
Demonstração #1: WordPress
Demonstração #1: WordPress
Demonstração #1: WordPress
Demonstração #2: PHP
(com rhc)
sudo apt-get install ruby git-core #rhc é baseado em Ruby/Git para mudanças
wget http://production.cf.rubygems.org/rubygems/rubygems-2.2.2.tgz #get
tar -zxvf rubygems-2.2.2.tgz && cd rubygems-2.2.2 #unpack & change dir
ruby setup.rb #instala rubygems
gem install rhc #instala RedHatCloud, command-line processor
rhc app-create -a phptest -t php-5.3 -l [email protected] #cria domínio
rhc git-clone phptest #clona git repo
cd phptest/php/ && edit code** #Programe!
git commit -am “Meu primeiro código” #work the changes
git push #done! :¬)
Demonstração #2: PHP
(com rhc)
<html>
<head>
<title>OpenShift Hello World!</title>
</head>
<body>
<p>Olá Mundo!</p>
<?php
echo phpinfo();
?>
</body>
</html>
Demonstração #2: PHP
(com rhc)
Demonstração #3: Java!
Demonstração #3: Java!
Demonstração #3: Java!
Demonstração #3: Java!
Demonstração #3: Java!
Demonstração #3: Java!
Demonstração #3: Java!
Else?

Openshift é multilinguagem!

PHP, Python, Ruby, Node.js, Java são apenas exemplos dos cartuchos
(cartridges) já disponíveis

Você também pode criar um cartucho e/ou sugerir os próximos a serem
adicionados - contate a comunidade! - https://openshift.com/community

Moodle, Owncloud, WordPress, Kusaba, MediaWiki, Reddit, Drupal, Ghost inifinitas plataformas a serem instaladas - https://openshift.com/quickstarts
Referências

Sistemas Distribuídos Conceitos e
Projeto, Quinta edição, Editora
Bookman.
Week IT IFBA 2014
69
Download

MC1 - Desenvolvendo sua primeira aplicação web na - Week-IT