3 ms·
I'll have a read through your article later as I'm quite interested in hearing your point of view. However in my experience, it's pretty easy to get a reasonabl
by scoopertrooper 6y ago
I'll have a read through your article later as I'm quite interested in hearing your point of view. However in my experience, it's pretty easy to get a reasonable Kubernetes cluster setup with stateless apps on a cloud platform managed Kubernetes service.
- ramraj07 6y agoCan you share in your opinion a good single guide to do this in AWS?
- scoopertrooper 6y agoI haven't worked with EKS; I've mainly worked with Azure's AKS, but the principals are largely the same. I'm not sure how familiar you are with AWS, EKS, Kubernetes, or Docker in general and I don't know of a guide that encompasses all these technologies. My best advice would be: 1) Get a little toy Docker container running locally with a http server that responds with "Hello world" 2) Try and deploy it to as a pod to a local Kubernetes cluster (Docker desktop has one built in or you can try deploying Minikube if you're feeling adventurous) 3) Add an ingress and service to your cluster, so you can access your server from a browser 4) Expand your cluster by installing something like Postgres on it and have your toy app query it and print out a query result in response to requests 5) Try passing your toy app the password to login to Postgres as a Kubernetes Secret via an environmental variable 6) Start exploring EKS specific deployment documentation such as the links below. 7) Start learning about helm https://docs.aws.amazon.com/eks/latest/userguide/create-cluster.html https://docs.aws.amazon.com/eks/latest/userguide/create-clus... https://docs.aws.amazon.com/eks/latest/userguide/sample-deployment.html https://docs.aws.amazon.com/eks/latest/userguide/sample-depl... https://learn.hashicorp.com/tutorials/terraform/eks https://learn.hashicorp.com/tutorials/terraform/eks (Once your comfortable with everything else)
- ramraj07 6y agoHonestly that sounds like not simple at all. I just want a webapp up and running, with a database and cache server, and I have again and again launched Elastic Beanstalk + Elasticache + RDS (or the GCP version) in half a day following basic tutorials, and this system runs very well (and scales very well) with zero need to "dive into documentation" for various things. I can then focus on my app instead of infra. It's still not clear why such simple architectures need kubernetes.
- scoopertrooper 6y agoLike a lot of things, it's pretty simple once you get over the learning curve. I do these setups all the time, so it's like doing the dishes for me. K8s may not be the best option for every project, but my original point was that choosing it ought not blow out the budget or delivery window of a project. Maybe, you might shave a week or two off a greenfield project by going with something like Elastic Beanstalk, but in the scheme of things that's a rounding error. To put things in perspective, a typical deployment for a small app requires 3-4 short configuration files specific to K8s plus your Docker container. Furthermore, you'd generally still use the cloud managed services like Elastic Cache and RDS when developing K8s applications. I was merely using a Postgres as an example in my mini-not-quite-a-tutorial before. So yeah, if Elastic Beanstalk is working for you and you think the tradeoff between flexibility and simplicity is right for your project, then keep doing what you're doing.