Autonomous Application Deployment with Pkgsrc Who Is This Jack- Wagon? a Bit About Me

Autonomous Application Deployment with Pkgsrc Who Is This Jack- Wagon? a Bit About Me

AUTONOMOUS APPLICATION DEPLOYMENT WITH PKGSRC WHO IS THIS JACK- WAGON? A BIT ABOUT ME: ‘MURICAN ▸ overweight ▸ a little bit bigoted ▸ I own guns ▸ I probably don’t speak your language OVERWEIGHT ▸ Did I mention that I’m ‘Murican? LITTLE BIT BIGOTED ▸ GNU/Linux ▸ GNUbs ▸ Systems that do not include netstat, traceroute, a sane default command shell for /bin/sh ▸ Systems that turn $#!+ on just because you installed it ▸ version control systems that allow history to be rewritten ▸ ORMs LITTLE BIT BIGOTED (CONTINUED) ▸ PHP ▸ MySQL ▸ Oracle ▸ Chef ▸ Puppet ▸ Ansible ▸ Screen ▸ GLibC DON’T SCARE PEOPLE I OWN GUNS I PROBABLY DON’T SPEAK YOUR LANGUAGE ▸ Spanish ▸ Esperanto ▸ Italian ▸ German ▸ Romanian ▸ Frisian ▸ Polish ▸ Czech ▸ Mandarin I PROBABLY DON’T SPEAK YOUR LANGUAGE ▸ Spanish ▸ shell ▸ Esperanto ▸ AWK ▸ Italian ▸ Python ▸ German ▸ Lua ▸ Romanian ▸ Racket ▸ Frisian ▸ Ruby ▸ Polish ▸ JavaScript ▸ Czech ▸ Go ▸ Mandarin ▸ Rust HUGE NERD ▸ Plone ▸ Fabric ▸ Web2py ▸ Fossil ▸ RVM ▸ SQLite ▸ SaltStack ▸ PyJS ▸ Ansible ▸ Wempy ▸ Capistrano ▸ Linux Mint ▸ RepozeBFG ▸ MidnightBSD GCW@ 8IONS.COM APPLICATION DEPLOYMENT SYSTEM VIRTUALIZATION ORCHESTRATION CONFIGURATION MANAGEMENT CONTAINERIZATION AUTOMATION APPLIC8ION DEPLOYMENT SYSTEM VIRTUALIZ8ION ORCHESTR8ION CONFIGUR8ION MANAGEMENT CONTAINERIZ8ION AUTOM8ION GCW@ 8IONS.COM LOVE/HATE STORY COMMON STORY DEVELOPER HAS IDEA ▸ Developer builds app ▸ Developer runs app ▸ Developer needs to deploy app into production ABOUT THE APP ▸ POSIX-y ▸ Few dependencies ▸ System Libraries ▸ runtime language (JavaScript, Python, Ruby, etc) ▸ packages for language (NPM, CPAN, PyPI, Gems, etc. DEPLOYMENT OPTIONS ▸ Tarball ▸ Debs/RPMs ▸ Language tools (pip, gem, cpan, etc) ▸ Deployment tools ▸ Maven, ANT, Make ▸ Capistrano, Vlad, Fabric, etc ▸ Puppet, Chef, Salt, Ansible HAPPILY EVER AFTER UNTIL… VULNERABILITY DISCOVERED IN APPLICATION CODE VULNERABILITY IN APPLICATION CODE ▸ Re-roll Tarballs and deploy ▸ Re-build deb/rpm packages, put in repo, deploy ▸ Update deployment tools/recipes and deploy VULNERABILITY IN COMMUNITY PACKAGE VULNERABILITY IN COMMUNITY PACKAGE ▸ Check for update ▸ Check update for compatibility with application code ▸ Check updated application for compatibility underlying stack NEW VERSION OF YOUR RUNTIME IS RELEASED ▸ Check compatibility with application ▸ Find/fix edge-case issues NEW SYSTEM LIBRARIES ▸ Check compatibility with community packages ▸ Check compatibility with application WHAT IF THEY DON’T WORK TOGETHER? FORK IT! OR WORSE DON’T UPGRADE ANYTHING BUT THERE’S A BETTER WAY THE OS IS SUBSTRATE YOUR APPLICATION IS THE COLONY TWO SETS OF DEFINITIONS ▸ A host on your network ▸ monitoring ▸ orchestration ▸ (system) packages ▸ Your application stack ▸ apps that make up your stack THE BENEFITS ▸ Your application is now autonomous ▸ You can move from OS to OS as long as your application stack is supported on the target platform ▸ You can push updates to your substrate much more easily ▸ You can update your dependencies at will ▸ You can maintain your own forks without system conflicts ▸ You can run multiple versions in parallel on the same system ▸ You can wrap it all in meta-packages THE BENEFITS (CONTINUED) ▸ Parallel installations with ${PREFIX} ▸ Chroot “jail” for simple process isolation ▸ Tarball-able (not recommended but better than some solutions) ▸ Highly portable and easily maintainable ▸ Many many more… QUESTIONS GCW@ 8IONS.COM.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    39 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us