Upgrade to Pro — share decks privately, control downloads, hide ads and more …

NPM in Corporate Environments

Avatar for Chris Gomez Chris Gomez
February 09, 2017

NPM in Corporate Environments

It's typical for enterprise environments to enforce stifling restrictions that make depending on open source projects a burden. In this talk, Chris Gomez will share how the development team at Ally addressed this problem along with the other options they considered that may better fit your team's situation.

Avatar for Chris Gomez

Chris Gomez

February 09, 2017
Tweet

Other Decks in Technology

Transcript

  1. Our Team • Started ~4yrs ago (~2 devs) • Replaced

    legacy app with EmberJS SPA • Overwhelmingly positive UX feedback • Claiming all other post-auth UI dev • Growing the team in every regard • Embracing progressive strategies
  2. Environmental Challenges • Foo • Foo • Foo • Foo

    • Foo • Foo • NPM installs are “dial-up connection” slow • Foo • Foo • Foo ! ? ?
  3. NPM + Corp. Proxy = • Makes metadata requests for

    every package • Makes lots of requests concurrently • Unable to resolve autoconfig (proxy.pac) • Adds latency to every request • Rate-limits concurrent connections • Intended to monitor user traffic; Not system communication NPM Corporate Proxy
  4. • Reduce “retry” idle time • Only incurring latency overhead

    • *Maybe* faster than doing nothing • Latency overhead remains • Only as fast as your proxy • Every dev has to opt-in PROS CONS Retry Timeout + Maxsockets
  5. • Avoid rate-limited concurrent connections • Avoid “retry” idle time

    • Minimizes network traffic overall • Crazy easy to use • Not a true “npm install” • May not be in-sync with team/prod • All devs have to opt-in • Have to micro-manage when to opt-in/out of cache • You *will* get burned PROS CONS Cache-min
  6. • All the benefits of 
 cache-min • Centralized; Devs

    only need to set registry • Can be configured to bypass the proxy (with IT support) • Private packages (Sinopia) • Not much better than 
 cache-min • Most projects are unsupported • Requires a designated, network accessible machine PROS CONS Open Source NPM Mirrors
  7. • All the benefits of an OS mirror • Adds

    private packages • Replicates everything (~50GB) • 100% compliant with NPM • Straight from the horses mouth • Costs $$$ • Requires a designated, network accessible machine PROS CONS NPM Enterprise
  8. • All the benefits of NPM Enterprise • Supports multiple

    package managers • Adds team registries • Free to the public! • Can be upgraded to do audit packages • An easy sell for IT • Challenges your view of “enterprise” software • Requires buy-in from more departments PROS CONS Nexus Repository Manager