  Cloud computing technology has been one of the most critical developments in
provisioning both hardware and software infrastructure in recent years.
Container technology is a new cloud technology that boosts the booting of
applications, increases the ability to deploy applications on containers and
improves the host machine resource sharing. Thus, enhancing a cloud container
system needs a robust algorithm that deploys the applications efficiently. Most
of the schedulers associated with container technology are focused on load
balancing for increasing container performance. The traffic over networks plays
a significant role in the performance of containers. Container deployment
considering only load balancing may not be the best scheduling strategy due to
the dependency between the applications that might be deployed in different
pods (zones) in the container's cloud. This project aims to develop an
algorithm that deploys applications into containers by considering the
dependencies between applications as well as load balancing. The proposed
algorithm performs better in terms of improving the throughput and reducing the
network traffic as compared to state-of-the-art container scheduling
algorithms.
