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

Delivering Autonomous WebApps

Sponsored · Ship Features Fearlessly Turn features on and off without deploys. Used by thousands of Ruby developers.

Delivering Autonomous WebApps

Rails Behind Corporate Firewalls

Avatar for Nick Merwin

Nick Merwin

April 23, 2015
Tweet

Other Decks in Programming

Transcript

  1. D E L I V E R I N G

    A U T O N OM O U S W E B A P P S 
 RAI LS BEHIND CORPORATE FIREWALLS Nick Merwin | [email protected]
  2. sensitive info can’t live in cloud no unplanned downtime S

    E C U R I T Y R E L I A B I L I T Y C O S T seats versus subscription
  3. P R C O M M E N T S

    & S T A T U S O V E R V I E W L I N E BY L I N E
  4. •Companies that can’t use cloud apps for source code •Already

    using Github Enterprise N E W C U S T O M E R B A S E
  5. D E L I V E R A B I

    L I T Y I N S T A L L A T I O N •VM ~1GB •App package ~100MB •License file ~1KB •Networking Config •External Access •Process Management
  6. •Exception collection •Logging actions •Resource management P R O D

    U C T 
 S U P P O R T •File system access •Database access •Code obfuscation I N T E L L E C T U A L P R O P E R T Y
  7. L I C E N S E F I L

    E W I T H E N C RY P T E D S E T T I N G S U B U N T U N E T W O R K C O N F I G A P P N G I N X / PA S S E N G E R O N B O O T P R E - I N S T A L L E D A P P F A C I L I T A T E S M A I N A P P R A I L S A P P S I N G L E PA C K A G E 
 W / G E M S V E N D O R E D
  8. R A I L S A P P L I

    C E N S E F I L E R E A D E R D A T A 
 I M P O R T / 
 E X P O R T S U P P O R T PA C K A G E G E N E R A T I O N / D O W N L O A D
  9. V I R T U A L B OX •

    separate VM for distribution / packaging • least amount of touches possible • automated provisioning script 14 . 0 2
  10. N E T W O R K C O N

    F I G S I M P L E S T S E T T I N G S N E E D E D • DHCP / Static IP • DNS • /etc/init/tty1.conf
  11. M E N U A P P I N F

    O G A T H E R I N G / E T C / N E T W O R K / I N T E R F A C E S D N S . T X T
  12. •easily runs rails app in place •touch tmp/restart.txt to restart

    with new code •app-loader at “/setup” C O N F I G
  13. I N S T A L L E R A

    P P • Code updates / license extraction app • pre-installed on distribution VM L O A D E R A P P L I C E N S E F I L E A P P 
 F I L E D E C RY P T / U N T A R R A I L S A P P T O U C H T M P / R E S T A R T . T X T
  14. A P P . R B I N D E

    X . H A M L
  15. L I C E N S E F I L

    E Fields: Customer Name Subscription Status Expiration Date Number of seats Features Version Unique Rails secrets: secret_token, devise_secret
  16. C O N F I G / I N I

    T I A L I Z E R S / 01 _ L I C E N S E . R B A P P L I C A T I O N . H T M L . E R B
  17. S U P P O R T PA C K

    A G E E XC E P T I O N C O L L E C T O R : T M P / E XC E P T I O N S E N C RY P T E D D O W N L O A D
  18. D A T A E X P O R T

    / I M P O R T
  19. B A C KG R O U N D J

    O B S Foreman Export
  20. • need to vendor all gems in same environment •

    tar and encrypt all pertinent files • obfuscation • VERSION file PA C K A G I N G S C R I P T
  21. A M A Z O N A M I C

    R E A T I N G F R O M V I R T U A L B OX O VA
  22. N E X T L E V E L •

    RAM / Disk management • Clustering • Mail server config • Incremental VM updates • SaaS app in cloud to sell license files • Enterprise Sales (j/k)
  23. R U N V M 
 set up networking U

    P L O A D F I L E S 
 license & app to VM H I T S E A T L I M I T multiple sign ups H I T B U G 
 grab support package F I X B U G 
 view support package; release new version U P G R A D E A P P 
 verify bug is fixed N E W F U L L L I C E N S E 
 verify full version is running G E N E R A T E T R I A L license file
  24. Q U E S T I O N S ?

    Nick Merwin | [email protected] S A M P L E C O D E : github.com/nickmerwin/entercom github.com/nickmerwin/app-loader