title: Building platform-as-a-service
body: <p>I have been assigned a problem statement which goes as follows:</p>
  
  <p>I am building platform-as-a-service from scratch, which has pipelined execution. Here pipelined execution means that output of a service can be input into another service. The platform can offer number of services, which can be pipelined together. Output of a service can be input to multiple services.</p>
  
  <p>I am new to this field so how to go about this task is not very intuitive to me. </p>
  
  <p>After researching a bit, I found out that I can use Docker to deploy services in containers. So I installed Docker on Ubuntu and installed few images and run them as service (for example, MongoDB). What I am thinking of is that I need to run the services in containers, and define a way of taking input and output to these services. But how exactly do I do this using Docker containers. As an example, I want to send a query as an input to MongoDB (running as a service) and want an output, which I want to feed into another service. </p>
  
  <ol>
  <li>Am I thinking in the right direction? If not in what direction should I be thinking of going about implementing this task?</li>
  <li>Is there a standard way of exchanging data between services? (For example output of on service as input to another)  </li>
  <li>Is there something that Docker offers that I can leverage?</li>
  </ol>
  
  <p><strong>NOTE: I cannot use any high level API which does this for me. I need to implement it myself.</strong> </p>