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

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.

主站蜘蛛池模板: 拉萨市| 绥江县| 巢湖市| 枣强县| 辽中县| 容城县| 舟曲县| 诸暨市| 巢湖市| 且末县| 英德市| 兴国县| 汤原县| 天柱县| 额济纳旗| 双柏县| 岱山县| 新平| 得荣县| 哈尔滨市| 波密县| 郓城县| 凭祥市| 汉中市| 山西省| 临桂县| 隆德县| 林口县| 九江市| 潞西市| 凤山县| 新丰县| 常德市| 成都市| 平江县| 阿巴嘎旗| 大安市| 新源县| 密云县| 黄石市| 河津市|