We have all used containers. But one of the basic requirements of any client today is optimal costs. And that means keeping your infrastructure as lean as you can, as much as you can.
It's the night before Black Friday. You're logging out of work with the peace of mind that your services are all configured with replica sets and threshold limits. Black Friday will be a walk in the park. And it is. What you don't realize is that you would need to scale down your services once the weekend is over. And now you're on monitoring duty over…
● AWS Elastic Load Balancer
● AWS Elastic Container Service
● Netflix Eureka
● Netflix Zuul
Containerizing the microservices:
The first task in setting up the infrastructure is to get the microservices containerized and running on ECS/ Docker. Assuming the microservices are Java based and built as JAR files, a sample Dockerfile would be:
ADD <path to sample JAR> Sample-Service-0.0.1.jar
ENTRYPOINT [“java”, “-jar”, “Sample-Service-0.0.1.jar”]
Amazon’s ECS is preferred because we could leverage the service to auto-scale depending on the incoming requests to the microservice.
Alternative to ECS could be Docker Swarm.
Docker is an open-source container-based platform, which packages your application and all its dependencies together in form of containers so that your application works seamlessly in any environment ( development, test or production).
It is a platform used for building, shipping and running our applications.
About an year ago, we had a project come in which required automating infrastructure setup, configuration management and change management. I happened to be at the right place at the right time, and was given in charge of the whole thing.
The project was designed on the micro services style of architecture and our teams decided on using GitHub as the source code repository, JFrog for storing our build artifacts, a RHEL based Kubernetes cluster as the deployment platform and Jenkins to drive the whole thing through a continuous integration, testing and deployment pipeline. In this way, developers, QA, and…
You have probably heard about containers and virtualization in your CS classes back in college, and now you hear the ‘cool’ devs at your job talk about Docker (or Vagrant) at the coffee machine. Docker is hotter than hot because it makes it possible to get far more apps running on the same old servers and it also makes it very easy to package and ship programs.
First things first.
To put it simply, Docker is a type of virtualization which is faster and lighter than other VMs thanks to a different attitude to the infrastructure. If we compare it…