davideisinger.com

My personal website
Log | Files | Refs | README

www-viget-com-h4onv6.txt (10423B)


      1 [1] Skip to Main Content
      2 [2] Viget
      3 
      4   • [3] Work
      5   • [4] Services
      6   • [5] Articles
      7   • [6] Careers
      8   • [7] Contact
      9   • Open Menu
     10 
     11 Navigation
     12 
     13 [9] Viget Close
     14 
     15   • Practice
     16   • [11] Work
     17   • [12] Services
     18   • [13] Articles
     19 
     20 We’re a full-service digital agency that’s been helping clients make lasting
     21 change since 1999.
     22 
     23 [14] Contact Us
     24 
     25 People
     26 
     27   • [15]Company
     28   • [16]Careers
     29   • [17]Code of Ethics
     30   • [18]Diversity & Inclusion
     31 
     32 More
     33 
     34   • [19]Pointless Corp.
     35   • [20]Explorations
     36   • [21]Code at Viget
     37 
     38 Featured
     39 
     40 [22]
     41 Read the Article: Building the Future, One Intern at a Time
     42 
     43 Newsletter
     44 
     45 Building the Future, One Intern at a Time
     46 
     47 [23]
     48 Read the Article: Some Thoughts after a Major Ruby on Rails Upgrade
     49 
     50 Article
     51 
     52 Some Thoughts after a Major Ruby on Rails Upgrade
     53 
     54 Docker: Right for Us. Right for You?
     55 
     56 [eyJidWNrZXQiOiJ2Z3QtdmlnZXRjb20tYW]
     57 
     58   • [24]Home
     59   • [25]Articles
     60   • [26]Docker: Right for Us. Right for You?
     61 
     62 [27] Subscribe (opens in a new window)
     63 Share
     64 
     65   • [29] Share this page
     66   • [30] Share this page
     67   • [31] Post this page
     68 
     69 Eli Fatsi, Former Development Director
     70 
     71 Article Categories: [32] #Code, [33] #Back-end Engineering, [34] #Tooling
     72 
     73 Posted on March 29, 2021
     74 
     75   • [35]
     76     Share
     77   • [36]
     78     Share
     79   • [37]
     80     Post
     81 
     82 Some reflections from our adventures in Docker
     83 
     84 S o m e r e f l e c t i o n s f r o m o u r a d v e n t u r e s i n D o c k e r
     85 
     86 Over the last two years, we've been using Docker more and more here at Viget.
     87 We're a consulting agency so our developers are cycling on and off a wide
     88 variety of projects, often times building and maintaining multiple distinct
     89 platforms simultaneously. Docker has provided a handful of specific wins with
     90 this setup, and brought with it a handful of it's own drawbacks:
     91 
     92 Where Docker is Good [38]#
     93 
     94 Running multiple versions of dependencies (eg: postgres)
     95 
     96 This used to be a large pain every now and then, now it's not. What more can I
     97 say except thank you, Docker.
     98 
     99 New developers onboarding to a project
    100 
    101 Now when people onboard to a project with a sprawling tech stack, they don't
    102 have to become a local devops expert in order to configure their machine to run
    103 the app locally. We can usually abstract the build and setup to a handful of
    104 docker-compose calls and they're up and running.
    105 
    106 Running non-standard dependencies uniformly on everyone's machine (eg: redis,
    107 elasticsearch, background worker queues)
    108 
    109 Similar to the problem of onboarding new people, onboarding new tech to a
    110 running team can involve a lot of work if everyone has to update their stack to
    111 accomodate the new tooling. Docker encapsulates a lot of the initial setup
    112 complexity.
    113 
    114 Where Docker is Frustrating [39]#
    115 
    116 While Docker can make it quicker and easier to get complicated architectures
    117 running on a number of developer (and non-developer) machines, it does so at a
    118 cost. Docker adds an additional layer of infrastructure between you (the human)
    119 and an application's runtime, which acts as a hurdle for a lot of standard
    120 development tools and strategies.
    121 
    122 For example, one of the first issues I ran into was seeing that my breakpoints
    123 were suddenly unusable. When developing in a pure local environment, something
    124 like binding.pry (Ruby) or breakpoint() (Python) will halt the code
    125 mid-execution, and expose an interactive REPL for inspection. If you have a
    126 Rails application running via a docker-compose.yml file, those breakpoints
    127 hang, but there's shell to interact or continue with.
    128 
    129 There is, of course, a solution to this issue (check out the follow on post to
    130 this: [40]Docker + Rails), but it involves learning a bit about Docker and
    131 using more than just the basic docker-compose build/up/down commands. Which
    132 really seems to be the story for most problems we've hit: the solution is out
    133 there, and the more you know about Docker / Docker Compose, the easier it is to
    134 find it.
    135 
    136 Summary [41]#
    137 
    138 For the type of work we do at Viget, working on multiple projects across wildly
    139 varying tech stacks, leaning on dependencies that range from cutting edge to
    140 practically abandoned, Docker has brought our team way more upsides than it has
    141 drawbacks.
    142 
    143 I will mention that we haven't experimented with Docker in any of our
    144 deployment / devops processes. I know this is another selling point for people
    145 (bringing production / development environments closer together in behavior),
    146 but we haven't found a use case for that that seems more appealing than our
    147 current setup (primarily built on Terraform & Ansible).
    148 
    149 Whether or not leaning on Docker is right for you is entirely dependent on the
    150 kinds of projects you're running and what team you have working on them.
    151 Something I can say with some certainty though is that Docker has the power to
    152 hide a lot of local devops pain points, so if you and your team are drowning in
    153 those, maybe give Docker a whirl.
    154 
    155 Related Articles
    156 
    157   • [42]
    158     Some Thoughts after a Major Ruby on Rails Upgrade
    159 
    160     Article
    161 
    162     Some Thoughts after a Major Ruby on Rails Upgrade
    163 
    164     Noah Over
    165 
    166   • [43]
    167     Setting up a Python Project Using asdf, PDM, and Ruff
    168 
    169     Article
    170 
    171     Setting up a Python Project Using asdf, PDM, and Ruff
    172 
    173     Danny Brown
    174 
    175   • [44]
    176     Craft 5: What It Means For Super Table Page Builders
    177 
    178     Article
    179 
    180     Craft 5: What It Means For Super Table Page Builders
    181 
    182     Max Myers
    183 
    184 The Viget Newsletter
    185 
    186 Nobody likes popups, so we waited until now to recommend our newsletter,
    187 featuring thoughts, opinions, and tools for building a better digital world. 
    188 [45]Read the current issue.
    189 
    190 [46]Subscribe Here (opens in new window)
    191 
    192 Site Footer
    193 
    194 Have an unsolvable problem or audacious idea?
    195 
    196 Let’s get to work
    197 
    198 [47] Contact Us [48] [email protected] [49] 703.891.0670
    199 
    200   • Practice
    201   • [50]Work
    202   • [51]Services
    203   • [52]Articles
    204 
    205   • People
    206   • [53]Company
    207   • [54]Careers
    208   • [55]Code of Ethics
    209   • [56]Diversity & Inclusion
    210 
    211   • More
    212   • [57]Pointless Corp.
    213   • [58]Explorations
    214   • [59]Code at Viget
    215 
    216 Sign Up For Our Newsletter
    217 
    218 A curated periodical featuring thoughts, opinions, and tools for building a
    219 better digital world.
    220 
    221 [60] Check it out
    222 
    223 Social Links
    224 
    225 [61] Viget
    226 
    227   • [62]
    228   • [63]
    229   • [64]
    230   • [65]
    231   • [66]
    232   • [67]
    233 
    234 Viget rhymes with 'dig it'. Click here to hear how we say it.
    235 
    236 Office Locations
    237 
    238   • [69]Washington, DC Metro
    239   • [70]Durham, NC
    240   • [71]Boulder, CO
    241   • [72]Chattanooga, TN
    242 
    243 © 1999 – 2024 Viget Labs, LLC. [73]Terms [74]Privacy [75]MRF
    244 
    245 
    246 References:
    247 
    248 [1] https://www.viget.com/articles/docker-right-for-us-right-for-you-1/#content
    249 [2] https://www.viget.com/
    250 [3] https://www.viget.com/work/
    251 [4] https://www.viget.com/services/
    252 [5] https://www.viget.com/articles/
    253 [6] https://www.viget.com/careers/
    254 [7] https://www.viget.com/contact/
    255 [9] https://www.viget.com/
    256 [11] https://www.viget.com/work/
    257 [12] https://www.viget.com/services/
    258 [13] https://www.viget.com/articles/
    259 [14] https://www.viget.com/contact/
    260 [15] https://www.viget.com/about/
    261 [16] https://www.viget.com/careers/
    262 [17] https://www.viget.com/code-of-ethics/
    263 [18] https://www.viget.com/diversity-equity-and-inclusion/
    264 [19] https://pointlesscorp.com/
    265 [20] https://explorations.viget.com/
    266 [21] https://code.viget.com/
    267 [22] https://www.viget.com/newsletter/building-the-future-one-intern-at-a-time/
    268 [23] https://www.viget.com/articles/some-thoughts-after-a-major-ruby-on-rails-upgrade/
    269 [24] https://www.viget.com/
    270 [25] https://www.viget.com/articles
    271 [26] https://www.viget.com/articles/docker-right-for-us-right-for-you-1/#hero
    272 [27] http://eepurl.com/gtHqsj
    273 [29] https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.viget.com%2Farticles%2Fdocker-right-for-us-right-for-you-1%2F
    274 [30] http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.viget.com%2Farticles%2Fdocker-right-for-us-right-for-you-1%2F
    275 [31] https://x.com/intent/tweet?text=Some%20reflections%20from%20our%20adventures%20in%20Docker%20https%3A%2F%2Fwww.viget.com%2Farticles%2Fdocker-right-for-us-right-for-you-1%2F
    276 [32] https://www.viget.com/articles/?category=code#results
    277 [33] https://www.viget.com/articles/?category=back-end-engineering#results
    278 [34] https://www.viget.com/articles/?category=tooling#results
    279 [35] https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Fwww.viget.com%2Farticles%2Fdocker-right-for-us-right-for-you-1%2F
    280 [36] http://www.linkedin.com/shareArticle?mini=true&url=https%3A%2F%2Fwww.viget.com%2Farticles%2Fdocker-right-for-us-right-for-you-1%2F
    281 [37] https://x.com/intent/tweet?text=Some%20reflections%20from%20our%20adventures%20in%20Docker%20https%3A%2F%2Fwww.viget.com%2Farticles%2Fdocker-right-for-us-right-for-you-1%2F
    282 [38] https://www.viget.com/articles/docker-right-for-us-right-for-you-1/#where-docker-is-good
    283 [39] https://www.viget.com/articles/docker-right-for-us-right-for-you-1/#where-docker-is-frustrating
    284 [40] https://gist.github.com/efatsi/23b42c707ba39a6ae0926c1d1fc71749
    285 [41] https://www.viget.com/articles/docker-right-for-us-right-for-you-1/#summary
    286 [42] https://www.viget.com/articles/some-thoughts-after-a-major-ruby-on-rails-upgrade/
    287 [43] https://www.viget.com/articles/setting-up-a-python-project-using-asdf-pdm-and-ruff/
    288 [44] https://www.viget.com/articles/craft-5-what-it-means-for-super-table-page-builders/
    289 [45] https://www.viget.com/newsletter
    290 [46] http://eepurl.com/gtHqsj
    291 [47] https://www.viget.com/contact/
    292 [48] mailto:[email protected]?subject=Hello%2C%20Viget%21
    293 [49] tel:7038910670
    294 [50] https://www.viget.com/work/
    295 [51] https://www.viget.com/services/
    296 [52] https://www.viget.com/articles/
    297 [53] https://www.viget.com/about/
    298 [54] https://www.viget.com/careers/
    299 [55] https://www.viget.com/code-of-ethics/
    300 [56] https://www.viget.com/diversity-equity-and-inclusion/
    301 [57] https://pointlesscorp.com/
    302 [58] https://explorations.viget.com/
    303 [59] https://code.viget.com/
    304 [60] https://www.viget.com/newsletter/
    305 [61] https://www.viget.com/
    306 [62] http://x.com/viget
    307 [63] https://github.com/vigetlabs
    308 [64] https://dribbble.com/viget
    309 [65] https://www.instagram.com/viget/
    310 [66] https://www.linkedin.com/company/viget-labs
    311 [67] https://vimeo.com/viget/collections
    312 [69] https://www.viget.com/dc-metro-hq/
    313 [70] https://www.viget.com/durham/
    314 [71] https://www.viget.com/boulder/
    315 [72] https://www.viget.com/chattanooga/
    316 [73] https://www.viget.com/terms-conditions/
    317 [74] https://www.viget.com/privacy-policy/
    318 [75] https://individual.carefirst.com/individuals-families/mandates-policies/machine-readable-file.page