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

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.

主站蜘蛛池模板: 呈贡县| 平舆县| 临沂市| 金秀| 平泉县| 疏附县| 台中市| 美姑县| 会东县| 高唐县| 桐梓县| 安义县| 克拉玛依市| 科技| 扎鲁特旗| 通许县| 邢台市| 鲁甸县| 克拉玛依市| 民乐县| 镇平县| 元朗区| 双鸭山市| 昌宁县| 永康市| 绵竹市| 定兴县| 修水县| 清新县| 盐边县| 于田县| 莆田市| 台江县| 皮山县| 抚顺县| 安远县| 日照市| 苍梧县| 辰溪县| 正安县| 娄底市|