Improving GCE boot times with custom images(medium.com)
medium.com
Improving GCE boot times with custom images
https://medium.com/@duhroach/improving-gce-boot-times-with-custom-images-f77921a2c115
4 comments
We've accomplished much of the same by using GKE and making artifacts out of containers. New instances scale up within a few seconds (and less than a second if we pre-pull the image).
It's pretty amazing.
It's pretty amazing.
Came here to say exactly this. Sadly kube isn't great for highly dynamic loads as you need a bit of time to spin up more nodes.
I would just run docker images over custom images. Spin up even faster and a bit easier to build.
I would just run docker images over custom images. Spin up even faster and a bit easier to build.
What's worked for me:
1. Base OS is core OS or GCE container optimised OS. Striped down, ultra fast, low ram (~200MB) and CPU footprint, ready to run docker containers/images out of the box.
2. Docker Image choice - base Alpine image + {compiled grpc binaries [1] OR compiled C based server for rest APIs [2]} c based rest server size is undeR 8MB, including a couple static assets of~2MB!! Host on gke for faster pull times, or create an instance template for blazing fast boot Times
[1] : https://github.com/mankash/grpc-alpine-server image: https://hub.docker.com/r/mankash/grpc-alpine-server/ [2] : https://github.com/mankash/alpine-kore-build image: https://hub.docker.com/r/mankash/alpine-kore-build/
[1] : https://github.com/mankash/grpc-alpine-server image: https://hub.docker.com/r/mankash/grpc-alpine-server/ [2] : https://github.com/mankash/alpine-kore-build image: https://hub.docker.com/r/mankash/alpine-kore-build/
Interesting graphs though.