Bom, e vamos lá. Qual que é o conceito de escalabilidade? Imagina, eu acho que o melhor jeito da gente entender isso é a gente fazer uma abstração, tá? Então, por isso eu vou fazer uma coisa bem simples pra gente começar a entender. Imagina que a gente precisa levar um grupo de pessoas, sei lá, de 50 pessoas de um lugar pro outro, do ponto A pro ponto B. Então, tô pegando 50 pessoas aqui de São Paulo e levando para Santos. Todo mundo vai para a praia. Nesse trabalho, quando eu olho para um jeito de levar essas pessoas, eu falo, poxa, um ônibus lá. Então, vou colocar dentro de um ônibus, nem sei se um ônibus cabe em 50 pessoas, às vezes se for de pé, acho que cabe. Mas vamos fingir que cabe, né? Acho que são 36 pessoas no ônibus, não tenho muita certeza, mas vamos fingir que 50 ainda dá para um ônibus levar. Então, coloquei 50 pessoas dentro desse ônibus e a gente vai descer para Santos. Show de bola. Agora, eu viro e falo o seguinte, poxa, em vez de 50, eu vou querer levar 100. 100 já não cabe. Para levar 100, eu precisaria dar um jeito de colocar nesse ônibus, que é o que eu tenho, é a ferramenta que eu tenho, para conseguir levar isso para Santos. E daí, para colocar 50 pessoas aqui, eu tenho uma ideia. Poxa, eu posso pensar num ônibus de dois andares. Vou lá e penso na mesma ferramenta, que é um ônibus, e amplifico ele, coloco ele com dois andares. A partir daqui, eu fiz uma escala vertical. O que eu fiz? Coloquei mais poder na ferramenta que eu tinha. E a partir de agora eu consigo colocar 100 pessoas aqui para descer para Santos. Dentro desse ônibus a gente vai descer e tudo ok. Agora imagina que a gente está falando de um sistema. Aqui o que a gente está falando é o seguinte. Imagina que eu tinha até então um rack, que seria o meu ônibus, ou seja, eu tenho um lugar, ou um data center, um espaço físico, onde eu tenho ali, HD, eu tenho memória RAM, eu tenho placa de rede, eu tenho tudo que eu preciso, para conseguir fazer uma aplicação rodar, para conseguir fazer um sistema acontecer ali dentro. E a partir do momento que eu falo que eu vou escalar isso verticalmente, significa que eu vou pegar e vou colocar mais máquina ali dentro. Eu tenho dois jeitos de fazer isso. Ou eu vou colocando mais máquina nesse mesmo data center, certo? Vou colocando ali mais equipamentos que vão fazer com que eu consiga levar mais passageiros, processar mais coisas. Ou então, eu tenho que substituir alguns por alguns com mais poder de processamento. Bom, bacana. Isso até que funciona, mas funciona até certo limite. Primeiro, eu acabo tendo que descartar muita coisa porque eu tenho espaço físico limitado, que às vezes pode me barrar. E o segundo ponto é que além do espaço físico, eu tenho outra coisa que pode me atrapalhar. As coisas que já estão lá podem estar ocupando muito espaço. Então eu tenho que tirar essas coisas e substituí-las. Então, por coisas que comportam mais, seja um HD que eu tenho lá de 1TB, às vezes eu vou precisar de um HD maior, e daí com isso eu preciso substituir esse cara, eu acabo desperdiçando ele, porque eu não tenho mais como utilizar, o espaço me venceu. Então aqui tem todo esse problema, e eu tenho um problema maior ainda. Imagina que este fim de semana eu tinha 100 pessoas para levar, no fim de semana que vem eu tenho só 50, e agora eu tenho um ônibus de dois andares, o que eu vou fazer com outro andar? Vou acabar levando um ônibus deste tamanho para levar todo mundo, mas para gastar mais combustível e assim por diante. Ou seja, não parece ser a melhor escolha, porque eu não consigo fazer isso de forma desacoplada, eu preciso levar todo mundo, ou não levo ninguém, o ônibus não vai conseguir ter a melhor eficiência nesse sentido, certo? Então eu estou acabando por ser ineficiente. Qual outra opção que a gente tem? Parece bobo, mas é chamar vários ônibus, em vez de um ônibus eu vou levar dois, se amanhã em vez de 50 pessoas, de 100 pessoas eu precisar levar 150, eu levo 3. Se de hoje para amanhã, poxa, conseguir vender passagem para Santos para o dobro de pessoas, eu simplesmente duplico o número de ônibus que eu preciso levar. Então eu chamo mais ônibus para levar. Então com isso eu consigo levar muito mais pessoas de forma muito mais desacoplada quando a gente está falando de infraestrutura. Então basicamente quando eu estou falando de colocar mais ônibus, eu estou falando que eu aumentei o meu poder de forma horizontal. A partir de agora, eu tenho uma escalabilidade horizontal. Eu consigo colocar mais poder de processamento, no nosso caso, de forma horizontal. Em vez de eu ir lá e matar o meu data center colocando mais máquinas, eu simplesmente subo novos data centers virtuais para colocar cada vez mais máquinas ali. Ou seja, eu vou colocar cada vez mais poder de processamento em novos módulos. Então, eu vou modularizar isso e colocar vários itens que vão conseguir processar mais e entregar mais para o meu cliente. Basicamente, quando a gente está falando de escalabilidade, em linhas gerais, lógico que eu fiz várias abstrações aqui pra gente conseguir entender da forma mais simples eu tô falando sobre isso se a gente entrar no detalhe já começar a aprender cada vez mais coisas quando a gente é fã de cada componente a gente vai ver como eles funcionam para escalar habilidade é horizontal aqui nesse sentido e ficará habilidade vertical também então durante todo o treinamento aqui vocês vão ouvir a gente falando sobre isso poxa, aumentei o poder de processamento do meu HD, eu estou falando de uma escalabilidade aqui que foi vertical em vez disso eu subi mais uma máquina para conseguir processar, horizontal então a gente fica brincando com isso muito durante o ciclo de vida de uma aplicação ou de um banco de dados porque isso ajuda muito a gente fica brincando com isso muito durante o ciclo de vida de uma aplicação ou de um banco de dados, porque isso ajuda muito a gente a fazer as coisas acontecerem no dia a dia. Espero que vocês tenham entendido, tentei deixar o jeito mais simples possível. E daqui para frente a gente vai voltar a falar das nossas peças e aplicando agora os conceitos de escalabilidade. Fechou? Valeu!