Existem casos de uso que se prestam melhor ao Amazon Cloudfront sobre s3 ou o contrário? Estou tentando entender a diferença entre os 2 através de exemplos.
Existem casos de uso que se prestam melhor ao Amazon Cloudfront sobre s3 ou o contrário? Estou tentando entender a diferença entre os 2 através de exemplos.
Respostas:
O Amazon S3 foi projetado para armazenamento de arquivos de grande capacidade e baixo custo em uma região geográfica específica. * Os custos de armazenamento e largura de banda são bastante baixos.
O Amazon CloudFront é uma CDN (Rede de Entrega de Conteúdo) que proxies e armazena em cache os dados da Web em locais de borda o mais próximo possível dos usuários.
Quando os usuários finais solicitam um objeto usando esse nome de domínio, eles são roteados automaticamente para o local da borda mais próximo, para fornecer alto desempenho ao seu conteúdo. ( Amazônia )
Os dados fornecidos pelo CloudFront podem ou não vir do S3. Como é mais otimizada para a velocidade de entrega, a largura de banda custa um pouco mais.
Se sua base de usuários estiver localizada , você não verá muita diferença ao trabalhar com o S3 ou o CloudFront (mas precisará escolher o local certo para o seu bucket do S3: EUA, UE, APAC). Se sua base de usuários estiver espalhada globalmente e a velocidade for importante, o CloudFront pode ser uma opção melhor.
Ambos S3 e CloudFront permitir aliases de domínio, no entanto CloudFront permite que vários aliases para que d1.mystatics.com
, d2.mystatics.com
e d3.mystatics.com
poderia todos apontam para o mesmo local aumentando a capacidade para downloads paralelos (este utilizado para ser recomendado pelo Google , mas com a introdução de SPDY e HTTP / 2 é de menor importância).
O CloudFront também suporta o CORS a partir de 2014 (graças à sergiopantoja).
* Nota: o S3 agora pode replicar automaticamente para regiões adicionais a partir de 2015.
CloudFront e S3 Bucket não são os mesmos . Nos termos do leigo: o CloudFront permite acelerar a entrega de conteúdo da web via CDN (Content Delivery Network) em locais de borda, enquanto os S3 Buckets são onde você armazena seus arquivos reais. As fontes do CloudFront podem não ser necessariamente do S3, mas para facilitar a visualização da integração do S3 com o CloudFront:
Outra grande diferença é que o CloudFront permite que você espelhe o site no seu servidor. O Cloudfront armazena em cache os arquivos, como imagens, mp3 ou vídeo, usando sua rede de entrega de conteúdo.
Isso evita que você duplique seus ativos como faria ao usar o Amazon S3.
No entanto, após a expiração de um arquivo, o CloudFront o buscará novamente em seu site ativo (a custo). Portanto, a frente da nuvem é melhor para arquivos acessados com frequência e menos para arquivos acessados com pouca frequência.
Uma maneira de definir a validade do arquivo para o apache é em .htaccess. Por exemplo
<filesMatch "\\.(mp3|mp4)$">
Header set Cache-Control "max-age=648000, private"
</filesMatch>
O Amazon CLOUDFRONT e o S3 são dois serviços diferentes fornecidos pelo Amazon Web Services.
O Amazon S3 é um serviço de armazenamento no qual podemos armazenar arquivos estáticos, como:
css, imagens, javascripts, vídeos, etc ...
O Amazon CloudFront é um middleware que fica entre um usuário que solicita um arquivo da AWS e do data center S3 em uma região específica. O CloudFront é usado para acelerar a distribuição de seu conteúdo estático e dinâmico da Web do S3 para o usuário.
Você pode entender melhor com um exemplo: -
Por exemplo, o seu S3 está localizado na região da AWS, leste dos EUA (Virgínia do Norte), que é um local do data center para armazenar seus arquivos.
Se um usuário da Índia tentar acessar um arquivo de um servidor da AWS na Virgínia, o usuário precisará ir para esse local específico com uma solicitação, e isso levará muito tempo.
O que o CloudFront faz é permanecer como um middleware entre o usuário e o AWS S3.
Os arquivos mais frequentemente usados podem ser armazenados em cache no CloudFront e o que ele faz é replicar esses arquivos em locais de borda (para fornecer conteúdo aos usuários finais com menor latência, o Amazon CloudFront usa uma rede global de locais de borda para entrega de conteúdo).
Se o conteúdo já estiver no local da borda com a menor latência, o CloudFront o entregará imediatamente. Se o conteúdo não estiver atualmente naquele local de borda, o CloudFront o recuperará de um bucket do Amazon S3 e o fornecerá ao usuário o mais rápido possível.
Cada solicitação recebe um novo DNS do CloudFront para o S3, portanto, isso resultaria em menor tráfego e mais processamento paralelo de solicitações.
A seguir, é apresentada a lista dos locais de bordas atuais de julho a 2016: -
Estados Unidos
Europa
Amsterdã, Holanda (2)
Dublin, Irlanda
Frankfurt am Main (3)
Londres, Inglaterra (3)
Madri, Espanha
Marselha, França
Milão, Itália
Paris, França (2)
Estocolmo, Suécia
Varsóvia, Polónia
Ásia
Chennai, Índia
Hong Kong (2)
Mumbai, índia
Manila, Filipinas
Nova Deli, India
Osaka, Japão
Seul, Coréia (3)
Singapura (2)
Taipei, Taiwan
Tóquio, Japão (2)
Austrália
Melbourne, Austrália
Sydney, Austrália
América do Sul
São Paulo, Brasil
Rio de Janeiro, Brasil
Com isso, você pode concluir que, se os usuários são limitados, são da mesma região em que o seu S3 está hospedado, não é necessário ir para o CloudFront e, se o número de usuários for aumentado em nível global, você deve definitivamente usar o CloudFront para melhor latência e controle de tráfego.
O Amazon S3 é um serviço de armazenamento simples, que pode ser usado em grande quantidade de informações, como vídeos, imagens, PDF etc.
O CloudFront é uma rede de entrega de conteúdo, mais próxima do usuário final e usada para disponibilizar as informações no Amazon S3 no menor tempo possível.
Um exemplo de caso de uso é o Video on Demand.
Algumas vantagens de usar o CloudFront para o caso de uso correto:
Outros casos de uso possíveis:
Um aspecto esquecido aqui é:
O Amazon Cloudfront também oferece preços mais baixos que o Amazon S3 em níveis de uso mais altos.
O Cloudfront CDN é para distribuição de conteúdo em vários servidores distribuídos geograficamente (CSS, JS)
Considerando que s3 é mais um armazenamento de recursos menos usado por usuário (imagens de usuário, PDFs).
Você pode servir seus recursos do Cloudfront a partir de um bucket s3, ignorando completamente o servidor da web.
( Útil em situações em que o servidor da Web pré-compila e armazena imagens e java-script. Armazená-los no s3 significa que o espaço ocupado pela memória do servidor é reduzido )
Ex: No Heroku Slugs (os tamanhos de aplicativos compatíveis podem ser reduzidos usando o s3 e envolvê-lo com CDN na frente da nuvem para melhorar a taxa de transferência)
Como primeiro, gostaria de explicar que o Amazon S3 é a nuvem Storage e Cloud Front é a rede de entrega de conteúdo (CDN).
Portanto, você pode usar para armazenar os arquivos no S3 e criar a distribuição para veicular o conteúdo pela Internet. Além disso, você pode criar distribuição para regiões específicas.
Você pode ver alguma comparação entre o Amazon S3 e o Amazon Cloudfront aqui: http://www.bucketexplorer.com/documentation/cloudfront--amazon-s3-vs-amazon-cloudfront.html
[Divulgação: Bucket Explorer]
O Amazon S3 é uma excelente plataforma de armazenamento de objetos se você estiver procurando por um sistema de armazenamento distribuído globalmente para proteger contra regiões / zonas em queda. Também é ótimo para conteúdo fixo / estático que não é transacional e muda, como fotos, vídeos, imagens, backups, etc. Espero que ajude!