Docker for system engineers RRS feed

  • Question

  • Hi, I was given a task to learn docker. Since I am not developer but system engineer I want to know is there a strict dividing line between us system guys and developers when it comes to docker and windows containers in general. In the end chances of me dockerize any our custom application without developer's help are very remote since our applications are not simple - I am in a department which provides custom DMS applications based on EMC Documentum platform (both desktop and web apps written in .NET/Java).

    I am well aware of DevOps concept but there must be clear separation between sys eng and devs in docker world or I am wrong meaning I would have to learn to write .NET/Java code? :-)

    Friday, June 9, 2017 10:30 AM

All replies

  • There are multiple ways to look at this.

    Can you containerize a 'traditional' multi-tier enterprise application?  Generally speaking, yes.

    You can put the front end server, the db server, worker servers, etc. all in containers.  Or some of those components into containers.

    Now, is this statement universal?  No.  You have to try to know.

    "docker' is a management engine.  it manages containers on top of windows and Linux.  the containerization technology itself is not 'docker'.

    'windows containers' give you a windows kernel.  'Linux containers' give you a Linux kernel.

    If you have an application with a well understood installation and configuration process, you have the potential for a DevOps style Container build and publish process.  But that does not mean you need to deploy into containers that way.

    Check out (dust off your search-fu):  Image2Docker, Docker Project, and ConvertTo-DockerFile  for translation / conversion.

    Look at "Docker Enterprise Edition"

    If your developers are thinking Docker, because they want to start building microservices, there is some logic there.  From an IT perspective, it is a massively scaled out enterprise application.

    the other thing that Docker gives you, is a way to roll back to a previous image, really quickly.

    But again, you can sip the DevOps Cool-Aide without swallowing.  they are just tools and different ways to look at running and managing your servers / services.

    Brian Ehlert
    Learn. Apply. Repeat.

    • Proposed as answer by Nedim Mehic Tuesday, July 11, 2017 2:20 PM
    Friday, June 9, 2017 4:10 PM
  • Yes Brian, original idea behind thinking of Docker was moving from traditional monolithic apps to microservices architecture where each microservice would be mapped to one Windows container (I guess that is a logic). This approach probably will be tough to implement in case of existing apps but it could be great solution for upcoming projects where apps will be developed from scratch. Speaking of existing apps, since these are DMS applications with each client having its own business process, in practice app for each client varies (depending if client is a bank, insurance company, government's ministry ...) hence we do not have "universal" app nor some core module on which you pack additional modules. Shortly speaking there is no single one installation/configuration check list since apps can differ drastically depending on client business logic. Maybe developers made some mistake in first place in approach but I can not do anything about it and now it is too late.
    <contentxferbho id="87FD7BE7-AD58-4878-9AF6-8540EC34D21D"></contentxferbho>
    • Edited by BoxiKG Tuesday, June 13, 2017 9:05 AM
    Tuesday, June 13, 2017 9:01 AM
  • Hi Boxi,

    As Brian said, containers bring independent benefits to developers and systems/deployment folks.  You don't need to learn a whole new language or anything, just the appropriate Docker commands and some understanding of the architecture.

    There's a bunch of presentations here that give a nice overview.  This is the latest intro presentation if you would rather click through, although I think you'll find you get more out of the videos.

    If you are intrigued after checking out the intro content, you can look into the Modernizing Traditional Apps program or ping the forum with any more specific questions.

    Honestly your use case sounds like a very interesting possible application of containers.  It sounds like you are having to create custom versions of the app for each individual customer due to different use cases.  If you can pick out any pieces that are repeated across customers, you may be able to increase the ease and reliability of your deployments a significant amount.

    Let us know if you have further questions!


    • Proposed as answer by Nedim Mehic Tuesday, July 11, 2017 2:20 PM
    Tuesday, June 20, 2017 6:40 PM