DevOps Classroom Series – 26/Jun/2020

Containerization of Applications with Docker

  • Consider the below image as your applications architecture

  • The below image has implementation specifics

  • This application has a user interface/website hosted on apache server and radiology systems help in scheduling Scans (CT/PET/MRI etc) and Pharma system helps in Pharma procument and MRS (Medical Record System) will store the patient records. The database is mysql and it would store the infromation from radiology, pharma and mrs.

  • Now if we have to run the application on docker containers what would be the approach

Approach

  1. Build a docker image along with the code base
    • webapplication
    • radiology
    • pharma
    • mrs
    • mysql
  2. Lets identify the communication mechanism.
    • Each tier communicates with other over ipaddress/hostname and port combinations
    • So network should be available for communications
  3. When containers are deleted the data changed by container is also lost, so we need a mechanism to preserve the changes in mysql container
  4. when applications run, we need to have access to logs to find out if something goes wrong.
  5. when the load to the applications increase, we should be able to scale the containers

Problems to be Solved

  1. How do i preserve the data from a container
  2. How do i configure the network connectivity between containers
  3. How do i manage scaling the containers, accesing logs
  4. when new version of the images arrive how should i deploy the new version without having downtime

MicroServices

  • Consider the below application which is pharma management application
  • This pharma app has many functionalities
    • User management
    • Inventory Management
    • Order Management
  • Now lets assume we add radioligy system also
  • Now lets assume there is a load on pharma systems as there are some offers and we scale the pharma app. The load is on Order management but we are scaling the other functionalities also
  • Microservices can help in here. Microservice are collection of services that are
    • loosely coupled
    • Independantly deployable
    • Organized around business scenarios
    • Highly maintable and testable
  • Lets break the functionality as smaller services
  • We run each service on a docker container and will have capabilities to scale them individually

Leave a ReplyCancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Please turn AdBlock off
Social Network Integration by Acurax Social Media Branding Company

Discover more from Direct DevOps from Quality Thought

Subscribe now to keep reading and get access to the full archive.

Continue reading

Exit mobile version
%%footer%%