Da imagem do docker à nuvem em segundos
A infraestrutura ficou desnecessariamente complicada. Soluções tradicionais de implantação de contêineres, como Kubernetes e ECs, o deixam essencialmente com contêineres que exigem seu próprio provisionamento, dimensionamento e networking enquanto executam em um pool de VMs também com seu próprio provisionamento, escala e networking separados. Essa camada de indireção herdada cresceu do fato de que as VMs historicamente têm sido muito mais difíceis de provisionar do que os contêineres.
Não mais. Com as imagens da VMify VM, são criadas em segundos com um único comando, permitindo que você elimine essa indireção herdada, ao mesmo tempo em que tornava sua infraestrutura mais simples, mais confiável e mais segura.
O VMify pega as imagens do Docker e as compila em AWS mínimo, seguro e totalmente assado AWS AMIS em segundos.
Só é preciso um comando simples:
$ vmify hello-world

Em seguida, você pode integrar esse AMI em sua infraestrutura existente como processos de implantação de código usando o CloudFormation e Terraform. Ou você pode simplesmente iniciar instâncias com base nele usando grupos automáticos da AWS, a API do EC2 RunInstances ou o AWS Console.
O VMify compila sua imagem do Docker em uma imagem da máquina, combinando-a com nanoos VMify, um sistema operacional ultra-minimal Linux in Memory. Isso permite que sua imagem do Docker inicialize diretamente no hardware virtual do EC2.
Os nanoos vmify consistem em apenas um kernel Linux e um sistema init de memória ultra-minimal, pesando apenas 1 MB. Tudo o que faz é carregar os drivers necessários para a máquina atual, configurar um daemon ACPI para reagir aos eventos de reinicialização e poweroff e ativar a sincronização do relógio baseada em NTP para evitar o desvio do relógio. Depois disso, passa o controle para a imagem do seu contêiner, carregando-a de uma partição de disco somente leitura e iniciando seu ponto de entrada e CMD em um ambiente confinado de chroot.
Não há provisionamento de tempo de execução nem daemon do Docker a bordo, pois a imagem já está totalmente apoiada. As instâncias inicializam instantaneamente e são garantidas como 100% idênticas a cada vez.
Todo o sistema tem muito menos partes móveis. Todo o acesso ao disco é somente leitura, garantindo que o volume nunca seja modificado. As gravações são tratadas por uma sobreposição de TMPFs com uma quantidade configurável de espaço de troca, vivendo em um volume efêmero separado limpo em cada inicialização.
Para começar, tudo o que você precisa é um usuário do IAM com a seguinte política:
{
"Version" : " 2012-10-17 " ,
"Statement" : [
{
"Sid" : " vmify " ,
"Effect" : " Allow " ,
"Action" : [
" ebs:StartSnapshot " ,
" ebs:PutSnapshotBlock " ,
" ebs:CompleteSnapshot " ,
" ec2:DescribeSnapshots " ,
" ec2:RegisterImage "
],
"Resource" : " * "
}
]
} Adicione as credenciais dos usuários a uma nova seção [vmify] em ~/.aws/credentials (o mesmo arquivo usado pela AWS CLI):
[vmify]
aws_access_key_id = AKIAXXXXXXXXXXXXXXXX
aws_secret_access_key = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxFinalmente, verifique se você tem
VMify 0.0.2 Pre-release
From Docker Image to Cloud in Seconds
Usage:
vmify [args] image
AWS credentials are retrieved from the [vmify] profile in ~/.aws/credentials
Examples:
vmify nginx
vmify -d -r=us-east-1 -s:dev.hpet.max-user-freq=64 -s:vm.panic_on_oom=0 nginx:latest
Params:
image The Docker image to compile into an AMI
Args:
-q Quiet mode: only print AWS AMI id upon completion
-t Timings displayed in output
-d Debug output turned on during boot
-b reBoot instead of terminating upon entrypoint exit
-a=arch Arch for the image (x64 or arm64, default: current cpu arch)
-r=region Region in AWS to use (default: us-east-1)
-w=number sWap size (in GiB) to use, 0 to disable swap (default: 1)
-k=args Kernel arguments
-s:key=val Sysctl to set with this value
-h or -? Show this help message
O VMify funciona com as seguintes regiões da AWS:
af-south-1 , ap-east-1 , ap-northeast-1 , ap-northeast-2 , ap-northeast-3 , ap-south-1 ,
ap-southeast-1 , ap-southeast-2 , ap-southeast-3 , ca-central-1 , eu-central-1 ,
eu-north-1 , eu-south-1 , eu-west-1 , eu-west-2 , eu-west-3 , me-south-1 , sa-east-1 ,
us-east-1 , us-east-2 , us-west-1 , us-west-2
Amis criado pelo VMify são compatíveis com os seguintes tipos de instâncias:
t3 , t3a , m6i , m5 , m5a , m5n , m5zn , c6i , c6a , c5 , c5a , c5n , r5 , r5b , r5a , r5n
t4g , m6g , c6g , c6gn , r6g