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

Delivering Autonomous WebApps

Delivering Autonomous WebApps

Rails Behind Corporate Firewalls

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