官术网_书友最值得收藏!

Containers

The old way with virtual machines was to deploy applications on a host operating system with configuration-management tools such as Chef or Puppet. This has the advantage of managing the application artifacts' libraries and life cycles with each other and trying to operate specific operating systems, whether Linux or Windows. Containers came out of this limitation with the idea of shipping your code and dependencies into a portable container where you have full operating-system-level virtualization. You essentially have better use of the available resources on the machine.

These containers can be spun up very fast and they are essentially immutable, that is, the OS, library versions, and configurations cannot be changed. The basic idea is that you ship the code and dependencies in this portable container and the environments can be recreated locally or on a server by a configuration. Another important aspect is the orchestration engine. This is the key to managing containers. So, you'd have Docker images that will be managed, deployed, and scaled by Kubernetes or Amazon EC2 container service (ECS).

The drawbacks are that these containers generally scale within seconds, which is still too slow to actually invoke a new container per request. So, you'd need them to be pre-warmed and already available, which has a cost. In addition, the cluster and image configuration does involve some DevOps effort.

Recently AWS introduced AWS Fargate and Elastic Kubernetes Service (EKS), which have helped to relieve some of this configuration-management and support effort, but you would still need a DevOps team to support them.

The other drawback is that there's an integration effort with the managed services. For example, if you're dealing with a streaming analytics service, you still need to write the polling and subscription code to pull the data into your application or service.

Finally, like with virtual machines, you still pay for any containers that are running even if the Kubernetes assists with this. They can run on the EC2 instance, so you'll still need to pay for that actual machine through a running time even if it's not being used.

主站蜘蛛池模板: 晴隆县| 木兰县| 元阳县| 江门市| 棋牌| 陆川县| 保德县| 临桂县| 永善县| 布尔津县| 东辽县| 凉城县| 九龙坡区| 万山特区| 陇西县| 肃南| 朝阳区| 康乐县| 罗江县| 合川市| 勐海县| 田林县| 缙云县| 绥芬河市| 泽州县| 屯留县| 济南市| 响水县| 和龙市| 霍林郭勒市| 耒阳市| 安义县| 元江| 远安县| 滁州市| 比如县| 东平县| 体育| 泸溪县| 广宗县| 东方市|