--Some understanding of Docker --For beginners (rather, I am a beginner)
Knowing how to launch a Docker environment on AWS, It will be a stepping stone to the next step.
I'm not particular about AWS, it's a pain when running Docker on my own server. When running an application in a production environment, it often takes a redundant configuration (it is quite difficult if it is not taken ...) If you do this manually, start Docker n times, and when the process dies, ssh it again and start Docker ... and so on. Therefore, it is considered to include an orchestration layer. In this layer, Docker is launched by n processes and balanced. If a process dies, start a new process. At the time of deployment, it will do things like rolling updates. Here is one problem. "When the orchestrating process (master) becomes abnormal, the delivery of the entire service is jeopardized." Therefore, when performing orchestration manually, it is essential to make the master redundant. AWS has several services that manage this master in a fully managed manner, so you can concentrate on just what kind of Docker to deploy and how to deploy it.
Customers simply upload their code and Elastic Beanstalk handles the deployment automatically, from capacity provisioning, load balancing, Auto Scaling to application health monitoring.
There are some things to consider in order to use it in a production environment, Deploying the code (uploading from the mannequin is also possible) will do EC2 placement, load balancing, scaling, etc. on the network nicely.
Fully managed container orchestration service
A fully managed container orchestration service provided by AWS. Since it is genuine AWS, it has a high affinity with other AWS services and is easy to cooperate seamlessly. Conversely, the impression is that there are many cases where the requirements are not met without using other AWS services. .. Since it is a service that "runs Docker", you need to do it yourself to some extent, such as periodically executing batches and running batches at the time of deployment.
There are EC2 and Fargate (serverless computing for containers) as boot types.
Helps you have the flexibility to start, run, and scale Kubernetes applications in the AWS cloud or on-premises.
It is a service provided by AWS managed master node of Kubernetes of oss. Kubernetes is a service that is said to be the de facto Docker orchestration, and it is highly customizable, and Kubernetes also provides application launch and deployment. EKS itself costs about 8,000 yen per month (0.10 USD per hour)
There are EC2 and Fargate as boot types.
If there are few people who are bright in infrastructure, start up with EB, and if you are interested in infrastructure/infrastructure engineers, I think you should consider introducing ECS / EKS. (Depending on requirements) Regarding ECS and EKS, some companies have switched to ECS-> EKS, and vice versa, so I'm wondering which one is hard to say. I feel that Kubernetes is preferred if you want to ride the tide of infrastructure. (However, I am worried about the monthly fixed cost when launching a small company.)
Recommended Posts