Você está na página 1de 18

E-BOOK

GUIA DE SOBREVIVNCIA
NA NUVEM
O que voc precisa saber
para comear a se aventurar

Guilherme Baptista
ndice

Introduo 01
Utilizar um Computador em Casa 02
Hospedagem Compartilhada 03
Servidor Dedicado 05
Cloud Computing 07
Como Funciona Tecnicamente 07
Qual a Grande Vantagem desta Tecnologia 10
Comeando na Nuvem 11
Como Funciona a Internet 12
Como Funciona um Servidor 13
Concluso 15
01

Introduo
Quais so as opes comuns para ter um site na internet?

Ol,

Como desenvolvedor, voc sabe que, durante muito tempo, existiam


basicamente 2 opes para colocar o seu site na internet:

Contratar a famosa Hospedagem Compartilhada ou


Contratar um Servidor Dedicado.

Para quem mais underground, outra opo era utilizar o prprio computador de casa e
a sua conexo de internet para oferecer o seu site ao mundo.

Todas essas 3 opes podem resolver o problema de ter um site na internet, afinal de contas,
passamos anos e anos nos virando com elas. Mas, todas possuem os seus pontos negativos.

Vamos conhecer melhor cada uma delas.


02

Utilizar um Computador em Casa

Se voc j possui um computador em casa e paga por uma conexo de internet, em teoria voc tem
tudo que precisa para oferecer um site ao mundo. As vantagens so o provvel baixo custo e o
controle total de tudo.

AS VANTAGENS SO O COM A SUA INFRAESTRUTURA


PROVVEL BAIXO CUSTO E O CASEIRA VOC PRECISAR CUIDAR
CONTROLE TOTAL DE TUDO. DE ABSOLUTAMENTE TUDO -
ESTRUTURA, MANUTENO, ETC.

As desvantagens?
Com a sua Infraestrutura caseira voc precisar cuidar de absolutamente tudo. E se o seu
computador queimar? E se a energia cair? E se a sua conexo de internet ficar lenta ou precisar ser
reiniciada perdendo o seu endereo previamente configurado?

Existem muitas coisas que podem acontecer RESUMINDO, LEGAL ALGUMA VEZ NA VIDA
e prejudicar o seu site e, alm disso, voc VOC TENTAR FAZER ISSO EM CASA SE VOC
no ter toda a estrutura que comumente GOSTA DE ENTENDER COMO AS COISAS
uma empresa possui (conexo de altssima FUNCIONAM E ESTUDAR SOBRE INTERNET E
velocidade, confivel, com endereos fixos, SERVIDORES. MAS NA PRTICA, NO
redundncia, equipe tcnica responsvel CONSIDERO UMA OPO VIVEL PARA TER UM
pelos equipamentos etc.). SITE NA INTERNET.
03

Hospedagem Compartilhada

Provavelmente o mtodo mais comum e difundido para ter um site na internet ao longo da histria.
Voc tem a vantagem de ter tudo prontinho para apenas publicar o seu site. Voc contrata, sobe
os arquivos, aponta seu domnio e pronto.

Outra vantagem o baixo custo. Em hospedagens compartilhadas, empresas montam uma


infraestrutura de diversos servidores, e para cada um deles destina um nmero X de sites. Ou seja,
ao contratar uma hospedagem compartilhada, voc ganha um pedacinho de um computador onde o
seu site ficar. No mesmo computador, outros sites de outros clientes tambm estaro l, tudo
seguro e bem organizado para cada cliente ter acesso apenas ao seu site.

Com vrios clientes em um nico servidor, voc consegue dividir os custos de ter aquele servidor
na empresa entre eles, tendo assim um baixo custo final para cada um.

> RISCO DE OUTROS CLIENTES


> TUDO PRONTO PARA CONSUMIREM MAIS RECURSOS E
PUBLICAR O SEU SITE ATRAPALHAR O DESEMPENHO
> BAIXO CUSTO DO SEU SITE
> LIMITAO DE RECURSOS

As desvantagens?
Um cliente por exemplo pode consumir O outro problema a limitao. Hospedagens
muito mais recursos de memria, compartilhadas possuem uma configurao fsica
processamento, etc. do servidor, pr-definida de recursos, memria, processador,
atrapalhando o desempenho de todos os armazenamento, banda, etc. e tambm softwares
outros sites de clientes vizinhos dele. pr-definidos. Ou seja, voc ter que escolher
entre as linguagens de programao mais
As empresas trabalham constantemente comuns oferecidas como provavelmente
para controlar melhor a situao e no ASP.NET ou PHP, algum banco de dados como
deixar isso acontecer, mas na prtica algo MSSQL, MySQL ou PostgreSQL e o seu web
a que voc est sujeito. server ser o utilizado pela hospedagem no
geral, como o Apache por exemplo.
04

Quer configurar um novo componente do PHP? Precisa ver se a hospedagem suporta isso. Quer
fazer o projeto em Python, Java, Ruby? Pode ser que as hospedagens mais comuns no possuam
suporte. Quer realizar uma configurao avanada do banco de dados MySQL que voc acredita que
ir melhorar o desempenho do seu site? Provavelmente voc no poder fazer essa configurao
avanada. E por a vai, voc acaba ficando limitado tecnologicamente.

E se meu site comear a receber milhes de acessos da noite para o dia? Sua hospedagem pode
no aguentar o tranco. E se o site de outro cliente atrapalhar o desempenho do meu? Pacincia e
muita conversa com o suporte tcnico para resolver a situao

Mas, apesar das limitaes e possveis problemas aos quais voc pode ficar exposto, uma
opo muito comum por atender a maioria dos sites e funcionar bem por um baixo custo.

Quer subir um blog com Wordpress que no ter muitos acessos? Isso basicamente PHP e
MySQL, vai funcionar bem na grande maioria das hospedagens compartilhadas e voc vai pagar
pouco por isso, vale a pena.

Subir seu portflio pessoal em HTML/CSS? Hospedagem compartilhada resolve.

SE O SEU PROJETO SIMPLES, OU SE COMPLEXO, PORM


UTILIZANDO LINGUAGENS E BANCOS COMUNS E NO TER,
COM CERTEZ, A UMA IMENSIDO DE ACESSOS, PODE IR DE
HOSPEDAGEM COMPARTILHADA SEM MEDO.

TIMO PARA COMEAR E VOC


NO GASTA DINHEIRO SEM
NECESSIDADE. ;)

Mas se o seu caso no esse


05

Servidor Dedicado

Contratar um servidor dedicado possui muitas vantagens. Primeiro, como o prprio nome j diz, ele
dedicado, ou seja, para voc, no tem outros clientes no mesmo computador disputando recursos.

Voc escolhe exatamente os recursos que deseja: Quero um processador de 2 ncleos, 200 GB de
HD e 4 GB de memria. Alm disso quero conseguir transferir 1 GB de dados por ms pelo meu site.

Perfeito, exatamente isso que voc vai ter sua disposio.

Alm dos recursos s para


voc, existe a vantagem do
controle tecnolgico total. O Ruby GitHub
servidor seu, logo voc o
configura como desejar.

> LIBERDADE TECNOLGICA 1 GB ASP.NET

> SEM OUTROS CLIENTES


DISPUTANDO RECURSOS
COM VOC

Quer utilizar o banco de dados Cassandra criado e utilizado pelo Facebook em seu projeto? Voc
pode. Quer programar em Ruby? PHP? Python? Haskell? Voc pode. Prefere usar o mesmo web
server utilizado pelo GitHub, o Unicorn, ao invs do Apache to comum nas hospedagens
compartilhadas? Est liberado. Quer alterar uma configurao avanada do IIS para algo em seu
projeto ASP.NET? s ir l e fazer.

VOC TEM TOTAL LIBERDADE TECNOLGICA NO SEU PROJETO PARA USAR O QUE
QUISER.

COMO TER O SERVIDOR NA SUA CASA, COM A VANTAGEM DE TODA A ESTRUTURA,


SUPORTE E CONFIANA DE UMA EMPRESA.
06

As desvantagens?

Comparado Hospedagem Compartilhada onde era s subir os arquivos, em servidores dedicados,


voc precisar ter um conhecimento tcnico considervel em infraestrutura de servidores para cuidar
de tudo sozinho, pagar para a empresa por isso ou contratar profissionais qualificados para tal
funo.

O custo pode ser bem alto se comparado uma Hospedagem Compartilhada, j que no existem
outros clientes no mesmo servidor para rachar a conta.

Alm disso, se voc tiver uma quantidade maior que o prevista de acessos, o servidor pode no
aguentar e voc precisar contratar mais recursos e ter todo o trabalho de migrar o seu site para um
servidor mais potente (aqui voc possui o mesmo problema que teria em uma Hospedagem
Compartilhada).

> NECESSIDADE DE CONHECIMENTO


TCNICO CONSIDERVEL
> MAIOR CUSTO
> RISCO DE DESPERDCIO/FALTA
DE RECURSOS

Pode existir tambm um desperdcio de recursos. O seu site por algum motivo pode ter 1 milho de
acessos em toda sexta-feira, mas nos demais dias da semana possui menos de 500 acessos.

Ou seja, voc precisa contratar um servidor que aguente 1 milho de acessos por dia, mas na grande
maioria do tempo menos de 20% dos recursos esto sendo utilizados e por conta de apenas um dia
na semana, voc precisa pagar por tudo isso o ms inteiro.

Voc tambm pode criar um projeto, e imaginar que vai ter 1 milho de acessos, contratar um
Servidor Dedicado para suportar isso e quando lanar o site, ter uma quantidade muito pequena de
acessos. Ou seja, voc ir pagar por algo que no est sendo de fato utilizado.
07

Cloud Computing
Como Funciona Tecnicamente
Hospedagens Compartilhadas possuem baixo custo, porm so limitadas em recursos e opes
tecnolgicas.

Servidores Dedicados oferecem liberdade tecnolgica e a possibilidade de recursos exclusivos,


porm so caros e voc continua com o problema de pagar por algo que no necessariamente o
que voc precisa 100% do tempo.

COM ESSES PROBLEMAS EM


MENTE, A COMPUTAO EM
NUVEM VEM PARA NOS
AJUDAR A RESOLV-LOS.
No final dos anos 90 surgiu um modelo
computacional chamado Grid Computing.
Podemos traduzir a ideia dele como
basicamente utilizar diversos computadores
para resolver um grande problema.

Ou seja, se voc hipoteticamente est resolvendo uma conta matemtica muito grande e
precisa de 4 GB de memria RAM para isso, voc vai precisar de um computador com 4 GB de
RAM para executar a tarefa, simples.

Porm, no conceito de Grid Computing voc agora tem a opo de utilizar 8 computadores
com 500 MB de RAM cada. Voc pega esta tarefa, divide ela em 8 pedaos, cada pedao vai
para um computador e pronto, o problema ser resolvido da mesma forma que em nico
computador com todos os 4 GB de RAM.

Se quisermos entender a fundo como funciona de verdade o conceito, precisaramos de um livro todo
sobre o assunto, ento estou explicando de forma muito superficial com exemplos bem bobos que
na prtica no refletem como realmente a coisa funciona, mas d para pensar que mais ou menos
por a a ideia.
08

A voc pode pensar: Mas como eu divido o meu problema em 8 pedaos para utilizar 8
computadores? Na prtica, no precisamos nos preocupar com isso. Esta questo j est resolvida.
Vamos entender o conceito de Mquina Virtual:

UMA MQUINA VIRTUAL UM COMPUTADOR


SIMULADO QUE VOC PODE CRIAR DENTRO DE UM
COMPUTADOR REAL. E ELA FUNCIONA PERFEITAMENTE
COMO UM COMPUTADOR REAL.

Como uma Mquina Virtual, significa que voc consegue criar mais de uma em uma mesma
mquina real. Em um computador com 8 GB de memria RAM, voc poderia tranquilamente criar 3
Mquinas Virtuais de 1 GB de RAM cada, totalizando 3 GB de RAM, menos do que todos os recursos
da mquina real.

Ou seja, dentro de um computador fsico, voc consegue criar quantos Mquinas Virtuais quiser,
contanto que elas no ultrapassem os limites de recursos do computador real.

E diferente de um computador real, se voc criou uma Mquina Virtual de 1 GB, dependendo da
tecnologia utilizada, voc no precisa desligar, abrir o computador e trocar as memrias fsicas para
ter mais GBs de memria RAM. Voc pode apenas redimensionar a Mquina Virtual para ela ter 1
GB de RAM a mais e pronto.

A nasce a ideia da elasticidade. Voc pode aumentar ou


diminuir uma Mquina Virtual tranquilamente, alterando os
seus recursos de memria RAM, processador e disco rgido.

Se voc consegue aumentar ou diminuir uma mquina com facilidade, a sua nica limitao a
capacidade real do computador fsico onde esto as Mquinas Virtuais.

Como lidar com esta limitao fsica ento? Lembra do Grid Computing? Utilizar vrios computadores
reais para resolver um grande problema?

A partir de agora ns podemos, por exemplo, conectar 3 computadores de forma que eles sejam
vistos como um grande supercomputador imaginrio e ir criando Mquinas Virtuais dentro deste
supercomputador imaginrio formado de diversos computadores reais.
09

Acabaram-se os recursos fsicos deste supercomputador imaginrio para aumentar ou criar mais
Mquinas Virtuais? Simples! Conecte outro computador fsico nessa rede de computadores e, agora,
ele ter mais recursos. Com isso, as Mquinas Virtuais tambm tero. Ilustrando, seria algo assim:

200 MB 0,25 2 GB 600 MB 30 GB 150 MB 5 GB


MQUINAS de RAM CPU de HD de RAM 2 CPUs de HD de RAM 1 CPU de HD
VIRTUAIS

SUPER COMPUTADOR
IMAGINRIO

4 GB 40 GB
de RAM 4 CPUs de HD

1 GB 40 GB 1 GB 40 GB 1 GB 40 GB 1 GB 40 GB
de RAM 1 CPU de HD de RAM 1 CPU de HD de RAM 1 CPU de HD de RAM 1 CPU de HD

Com essa nova arquitetura, as empresas conseguem ento oferecer um Servidor Dedicado
exclusivo para o cliente sem precisar ligar um computador fsico real para ele.

O cliente quer um novo servidor? Vamos l no nosso supercomputador imaginrio criar uma nova
Mquina Virtual para ele ento.
10

Qual a Grande Vantagem desta Tecnologia

fcil para a empresa aumentar seus recursos, basta ligar um novo computador fsico aumentando
a capacidade do supercomputador imaginrio sem precisar desligar e reconfigurar tudo.

O CLIENTE GANHA A PARTIR DE AGORA ELASTICIDADE, OU SEJA, ELE CONSEGUE


AUMENTAR OU DIMINUIR A CAPACIDADE DO SEU SERVIDOR DE FORMA SIMPLES.

Lembra do caso do site que tem milhes de acessos s na sexta-feira? Agora ele consegue deixar o
seu servidor pequeno durante a semana e aumentar a capacidade dele apenas na sexta-feira,
pagando desta forma somente pelo que realmente est utilizando.

Precisa de um servidor com liberdade tecnolgica para utilizar o que quiser, mas seu projeto est no
comeo e no sabe quantos acessos realmente vai ter? Voc no precisa contratar um computador
fsico pr-definido com custo elevado. Contrate uma Mquina Virtual que te d a liberdade de
trabalhar com o que quiser, porm com recursos muito pequenos, tendo assim um baixo custo. Se o
projeto crescer e precisar de mais recursos, sua mquina elstica, basta aument-la no futuro,
gastando dinheiro apenas quando realmente precisar.
11

Comeando na Nuvem

Se voc j trabalhou em projetos com Servidores Dedicados, provavelmente j possui um


conhecimento tcnico sobre como configurar um servidor sozinho.

Se est acostumado com Hospedagens Compartilhadas e no tem a mnima ideia de por onde
comear, voc possui 2 opes:

A primeira encontrar servios que ofeream a possibilidade de facilitar o processo de


configurao do servidor.

Muitas empresas o oferecem e basicamente parte da ideia de oferecer todas as vantagens da


computao em nuvem como pagar, apenas pelo que usar, ter elasticidade na sua mquina, etc.
com a facilidade que voc teria em uma hospedagem compartilhada de apenas suba seus
arquivos e pronto!.

Voc provavelmente pagar um pouco mais caro por isso, porm pode valer a pena se voc no
quer investir tempo para configurar tudo do zero, no sabe como fazer ou no pretende contratar
profissionais para esse trabalho.

A segunda opo, aprender a configurar um servidor e se virar.

Existem infinitos tutoriais e artigos na internet ensinando a configurar o servidor XYZ, mas antes
disto tem um ponto onde todo mundo peca: No entender o bsico do funcionamento da internet e
de servidores. Ao entender isso, vai ficar muito mais fcil buscar informaes e se virar sozinho.
12

Como Funciona a Internet

Quando o usurio acessa um site no seu navegador (www.sitetal.com.br), ele percorre um caminho
para entregar o contedo daquele site. Resumindo, podemos dizer que este caminho :

O computador do usurio resolve o domnio digitado. Ele vai sair da casa do usurio e passar pelo
Provedor de Internet que por sua vez ir consultar servidores de DNS para descobrir onde ele deve
procurar aquele site.

Uma Curiosidade:
EXISTEM 13 SERVIDORES DE DNS RAIZ NO MUNDO
RESPONSVEIS POR TODOS OS ENDEREOS NA INTERNET.
Alm deles, existem inmeras rplicas espalhadas ao redor do mundo (inclusive no Brasil) para
oferecer segurana e redundncia.

Ento, basicamente o que acontece :

COMPUTADOR DO USURIO: PROVEDOR DE INTERNET: CONSULTA AOS SERVIDORES


Quero acessar o site Onde est o site DE DNS:
www.sitetal.com.br www.sitetal.com.br? Est no lugar X

DNS

Aps consultar os Servidores de DNS, o computador saber onde procurar o site.

Por exemplo, algum dos Servidores de DNS pode responder: o www.sitetal.com.br est na
Locaweb!. Ento, o prximo passo ir na Locaweb e perguntar: Locaweb onde est o
www.sitetal.com.br a dentro? . A Locaweb ir localizar o site e responder: Este site est no servidor
tal, voc pode acess-lo atravs deste endereo de IP.

E pronto, com o endereo de IP do site descoberto, uma requisio ser enviada para este endereo
e o servidor ir devolver o contedo do site.

Esta a parte que voc provavelmente no precisa se preocupar muito, uma vez bem configurado o
seu domnio, DNS etc. O que voc precisa agora saber como o seu servidor vai receber essa
requisio e devolver o contedo.

a que precisamos conhecer o funcionamento de um servidor.


13

Como Funciona um Servidor

Para configurar um servidor, algumas camadas importantes precisam existir.

REVERSE PROXY
A primeira coisa que precisamos de um Servidor de Rede do tipo
Reverse Proxy. Este servidor responsvel por receber todas as
requisies externas e decidir o que fazer com elas. Se o seu servidor vai
PROXY
apenas fornecer contedo esttico, como HTML, CSS, JavaScript, imagens,
etc., este servidor Reverse Proxy tudo o que voc precisa.

As opes mais comuns so: Nginx, Apache e Microsoft IIS.

WEB SERVER
Se voc deseja oferecer contedo dinmico (ou seja, seu projeto trabalha
com alguma linguagem de programao como Ruby, PHP, ASP.NET, etc.)
voc vai precisar de um Web Server. Um Web Server responsvel por
WEB
SERVER pegar o cdigo fonte e process-lo para entregar ao usurio. A a gama
de opes aumenta, pois vai depender da sua linguagem de programao.

No caso de ASP.NET, a prpria Microsoft IIS exerce este papel. Para PHP
voc pode utilizar FPM, FASTCGI com Ruby voc possui Puma, Unicorn,
Passenger... pra Java temos o Tomcat, Jetty, GlassFish pra Python o
WSGI e por a vai.

Um ponto interessante que voc poderia utilizar diretamente estes Web Servers sem Nginx, Apache
etc, por cima.

No entanto, no fazemos isso, pois as vantagens de se ter um Nginx como camada superior so:
Voc serve arquivos estticos do projeto sem precisar chamar o Web Server que vai consumir mais
recursos da mquina para entregar o mesmo tipo de arquivo. Voc tem melhores opes para
controle de cache, redirecionamento de URLs, balanceamento de carga etc, entre infinitas outras
vantagens.
14

Por conta disto, comum optarmos por esta arquitetura. Para ilustrar, seria basicamente assim:

REQUEST REQUEST REQUEST

HTML
REVERSE PROXY
CSS

Nginx Apache Microsoft IIS Imagens


Javascript

.php
WEB SERVER .rb
FPM FASTCGI Puma Unicorn .jsp

Passenger Tomcat Jetty GlassFish .asp

WSGI Microsoft IIS .aspx


.py

Este o bsico de um servidor, podem existir mais camadas como Firewall, Load Balancing entre
outros recursos, mas a depende muito dos seus objetivos, do seu projeto, da empresa de Hosting,
etc.

Algo bem comum utilizar Load Balancing, que basicamente seria ter duas ou mais mquinas com o
mesmo contedo, e uma camada na frente delas dividindo as requisies que chegam.

Para fazer isso, voc pode ter uma mquina com algum servidor Servidor de Rede do tipo Reverse
Proxy, que possui recursos para distribuir as requisies ou utilizar alguma opo oferecida pela
empresa de Hosting, o que bem comum tambm.

Tal estratgia utilizada para dividir a carga entre vrias mquinas horizontalmente, ou seja, ao invs
de precisar aumentar os recursos de uma mquina, voc adiciona uma nova mquina para dividir as
requisies que esto chegando.
15

Concluso
A computao em nuvem proporcionou uma grande evoluo que trouxe incrveis possibilidades.
Nunca foi to fcil e barato ter um servidor na internet onde voc consegue liberdade para utilizar a
tecnologia que quiser a um custo acessvel. Conseguir mudar rpido uma caracterstica vital para
projetos de internet tanto em grandes empresas como em startups.

Chegamos ao ponto em que conseguir milhes de usurios da noite para o dia, no precisa ser um
pesadelo fadado ao fracasso, a computao em nuvem oferece elasticidade para lidarmos com as
incertezas do futuro.

VOC NO PRECISA MAIS


COMPRAR SERVIDORES DE
CUSTOS ALTSSIMOS PARA
UM SITE QUE S RECEBE
UMA DEMANDA EXTREMA
DE ACESSOS DURANTE A
BLACK FRIDAY.

As empresas de Hosting oferecem cada


vez mais recursos em cima da
computao em nuvem onde tanto os
usurios avanados que querem fazer
tudo na mo quanto os que preferem
apenas publicar de forma fcil o seu
projeto conseguem usufruir das
vantagens de pagar apenas pelo que
realmente precisa e ter sempre
disposio uma possibilidade de
mudana de recursos simples e rpida.

SE A COMPUTAO EM NUVEM ALGO NOVO PARA VOC ENTO, PODE ENTRAR SEM
MEDO. AFINAL DE CONTAS, FCIL E BARATO COMEAR A TESTAR E EXPLORAR
TODOS OS RECURSOS E POSSIBILIDADES, BASTA SE AVENTURAR!
Empreendedorismo e paixo por tecnologia
Nosso propsito fazer negcios nascerem e prosperarem por meio da tecnologia

Desde a nossa fundao, em 1998, temos crescido com maturidade e hoje contamos com uma
moderna e segura infraestrutura, um time de mais de 1.000 funcionrios e muitos parceiros alinhados
com nossos objetivos. Oferecemos um portflio completo de servios de internet e atendimento
especializado com foco no sucesso dos nossos clientes.

BLOG

Você também pode gostar