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