[TriPython] Help on an AWS/ELB Project

Tobias McNulty tobias at caktusgroup.com
Tue Jan 24 12:03:24 EST 2017


I'm a big fan of continuous deployment (i.e., automated deployments via
your CI server). If tests pass and the code has been merged, why not map
all "stable" branches to server environments (e.g., develop -> staging,
master -> production) and then run whatever commands you need to run to
deploy once all your tests have passed? Many public CI services such as
Travis, Circle CI, or GitLab include a section in the config file for
deployment.

Regarding server configuration, I 100% recommend Ansible (or something
similar) if you are maintaining one or more servers yourself, but it can be
avoided if a completely managed environment is used (such as AWS with RDS,
Elastic Beanstalk, etc., where platform updates can be configured
automatically).

In any case, in this day and age (IMO), there is no excuse for SSH'ing to a
server and manually checking out the code, running migrations, etc. Other
than that, there's no right answer. You should consider how much time you
want to spend setting things up, managing server configurations, security
updates, etc., as well as the expertise/ability of the team to quickly
address security issues in the event it's needed.

Good luck, and let us know what you end up doing or if you have any
questions along the way!

Tobias



On Tue, Jan 24, 2017 at 11:10 AM, Rob Ladd <rob.ladd at gmail.com> wrote:

>    Wow. Thanks Tobias!!
>    This is a lot of great stuff.
>    This is a small outfit, with one full time dev. So my questions are
> going
>    to be along the lines of, "Should they use snapshots, AMIs or just Git
> to
>    provision servers for the load balancer?" and, "Is it worth teaching
> them
>    how to use a new deployment model, rather than adapting the one they're
>    already comfortable with?" etc.
>    Right now they're not using any deployment tools, other than git.
>    Is it worth me getting them to use ansible or puppet, etc, or can they
> get
>    by using a simpler, Git-based workflow?
>    On Mon, Jan 23, 2017 at 4:35 PM Tobias McNulty <[1]
> tobias at caktusgroup.com>
>    wrote:
>
>      ** **This is more than you asked about, but it will setup all the
> things
>      you
>      ** **mentioned (and then some) in a VPC and give you an environment
> for
>      running
>      ** **containers (I recommend the Elastic Beanstalk option):
>      ** **[1][2]https://github.com/tobiasmcnulty/aws-container-basics
>      ** **Even if you don't end up using it, you might find it helpful to
> set
>      up a
>      ** **test environment and play around with the resources it creates.
> If
>      you do
>      ** **so under a brand new AWS account and select all the smallest
> server
>      ** **options, that should keep you inside the free tier, too.
>      ** **Tobias
>      ** **On Mon, Jan 23, 2017 at 2:37 PM, Rob Ladd
>      <[2][3]rob.ladd at gmail.com> wrote:
>
>      ** ** **** **Hello TryPythonistas!
>      ** ** **** **I have a project where I need to help set up AWS and ELB
>      for a
>      ** ** **high(er)
>      ** ** **** **availability web property. Sadly, they are not Python
>      sites. The
>      ** ** **guy
>      ** ** **** **asking for my help is an old friend.
>      ** ** **** **While I've used AWS, I'm certainly not an expert in it.
>      I'll have
>      ** ** **plenty
>      ** ** **** **of clueless questions.
>      ** ** **** **Topics would include:
>      ** ** **** **- Setting up the ELB
>      ** ** **** **- There will be some TLS questions
>      ** ** **** **- Overall topology
>      ** ** **** **- Handling code updates across instances
>      ** ** **** **Anybody who's set up AWS/ELB in front of ecommerce sites
>      got a few
>      ** ** **hours
>      ** ** **** **to walk me through some stuff?
>      ** ** **** **I can pay an hourly rate.**
>      ** ** **** **If you're interested in helping, please contact me by
> email
>      or at
>      ** ** **818 448
>      ** ** **** **2815.
>      ** ** **** **Thanks a bunch!!
>      ** ** **** **-Rob Ladd
>      ** ** **_______________________________________________
>      ** ** **TriZPUG mailing list
>      ** ** **[3][4]TriZPUG at python.org
>      ** ** **[4][5]https://mail.python.org/mailman/listinfo/trizpug
>      ** ** **[5][6]http://tripython.org is the Triangle Python Users Group
>
>      ** **--
>
>      ** **Tobias McNulty
>      ** **Chief Executive Officer
>
>      ** **[6][7]tobias at caktusgroup.com
>      ** **[7][8]www.caktusgroup.com
>
>      References
>
>      ** **Visible links
>      ** **1. [9]https://github.com/tobiasmcnulty/aws-container-basics
>      ** **2. mailto:[10]rob.ladd at gmail.com
>      ** **3. mailto:[11]TriZPUG at python.org
>      ** **4. [12]https://mail.python.org/mailman/listinfo/trizpug
>      ** **5. [13]http://tripython.org/
>      ** **6. mailto:[14]tobias at caktusgroup.com
>      ** **7. [15]http://www.caktusgroup.com/
>      _______________________________________________
>      TriZPUG mailing list
>      [16]TriZPUG at python.org
>      [17]https://mail.python.org/mailman/listinfo/trizpug
>      [18]http://tripython.org is the Triangle Python Users Group
>
> References
>
>    Visible links
>    1. mailto:tobias at caktusgroup.com
>    2. https://github.com/tobiasmcnulty/aws-container-basics
>    3. mailto:rob.ladd at gmail.com
>    4. mailto:TriZPUG at python.org
>    5. https://mail.python.org/mailman/listinfo/trizpug
>    6. http://tripython.org/
>    7. mailto:tobias at caktusgroup.com
>    8. http://www.caktusgroup.com/
>    9. https://github.com/tobiasmcnulty/aws-container-basics
>   10. mailto:rob.ladd at gmail.com
>   11. mailto:TriZPUG at python.org
>   12. https://mail.python.org/mailman/listinfo/trizpug
>   13. http://tripython.org/
>   14. mailto:tobias at caktusgroup.com
>   15. http://www.caktusgroup.com/
>   16. mailto:TriZPUG at python.org
>   17. https://mail.python.org/mailman/listinfo/trizpug
>   18. http://tripython.org/
>
> _______________________________________________
> TriZPUG mailing list
> TriZPUG at python.org
> https://mail.python.org/mailman/listinfo/trizpug
> http://tripython.org is the Triangle Python Users Group
>



-- 


*Tobias McNulty*Chief Executive Officer

tobias at caktusgroup.com
www.caktusgroup.com
-------------- next part --------------
   I'm a big fan of continuous deployment (i.e., automated deployments via
   your CI server). If tests pass and the code has been merged, why not map
   all "stable" branches to server environments (e.g., develop -> staging,
   master -> production) and then run whatever commands you need to run to
   deploy once all your tests have passed? Many public CI services such as
   Travis, Circle CI, or GitLab include a section in the config file for
   deployment.
   Regarding server configuration, I 100% recommend Ansible (or something
   similar) if you are maintaining one or more servers yourself, but it can
   be avoided if a completely managed environment is used (such as AWS with
   RDS, Elastic Beanstalk, etc., where platform updates can be configured
   automatically).
   In any case, in this day and age (IMO), there is no excuse for SSH'ing to
   a server and manually checking out the code, running migrations, etc.
   Other than that, there's no right answer. You should consider how much
   time you want to spend setting things up, managing server configurations,
   security updates, etc., as well as the expertise/ability of the team to
   quickly address security issues in the event it's needed.
   Good luck, and let us know what you end up doing or if you have any
   questions along the way!
   Tobias
   On Tue, Jan 24, 2017 at 11:10 AM, Rob Ladd <[1]rob.ladd at gmail.com> wrote:

     ** **Wow. Thanks Tobias!!
     ** **This is a lot of great stuff.
     ** **This is a small outfit, with one full time dev. So my questions are
     going
     ** **to be along the lines of, "Should they use snapshots, AMIs or just
     Git to
     ** **provision servers for the load balancer?" and, "Is it worth
     teaching them
     ** **how to use a new deployment model, rather than adapting the one
     they're
     ** **already comfortable with?" etc.
     ** **Right now they're not using any deployment tools, other than git.
     ** **Is it worth me getting them to use ansible or puppet, etc, or can
     they get
     ** **by using a simpler, Git-based workflow?
     ** **On Mon, Jan 23, 2017 at 4:35 PM Tobias McNulty
     <[1][2]tobias at caktusgroup.com>
     ** **wrote:

     ** ** **** **This is more than you asked about, but it will setup all
     the things
     ** ** **you
     ** ** **** **mentioned (and then some) in a VPC and give you an
     environment for
     ** ** **running
     ** ** **** **containers (I recommend the Elastic Beanstalk option):
     ** ** ****
     **[1][2][3]https://github.com/tobiasmcnulty/aws-container-basics
     ** ** **** **Even if you don't end up using it, you might find it
     helpful to set
     ** ** **up a
     ** ** **** **test environment and play around with the resources it
     creates. If
     ** ** **you do
     ** ** **** **so under a brand new AWS account and select all the
     smallest server
     ** ** **** **options, that should keep you inside the free tier, too.
     ** ** **** **Tobias
     ** ** **** **On Mon, Jan 23, 2017 at 2:37 PM, Rob Ladd
     ** ** **<[2][3][4]rob.ladd at gmail.com> wrote:

     ** ** **** ** **** **Hello TryPythonistas!
     ** ** **** ** **** **I have a project where I need to help set up AWS
     and ELB
     ** ** **for a
     ** ** **** ** **high(er)
     ** ** **** ** **** **availability web property. Sadly, they are not
     Python
     ** ** **sites. The
     ** ** **** ** **guy
     ** ** **** ** **** **asking for my help is an old friend.
     ** ** **** ** **** **While I've used AWS, I'm certainly not an expert in
     it.
     ** ** **I'll have
     ** ** **** ** **plenty
     ** ** **** ** **** **of clueless questions.
     ** ** **** ** **** **Topics would include:
     ** ** **** ** **** **- Setting up the ELB
     ** ** **** ** **** **- There will be some TLS questions
     ** ** **** ** **** **- Overall topology
     ** ** **** ** **** **- Handling code updates across instances
     ** ** **** ** **** **Anybody who's set up AWS/ELB in front of ecommerce
     sites
     ** ** **got a few
     ** ** **** ** **hours
     ** ** **** ** **** **to walk me through some stuff?
     ** ** **** ** **** **I can pay an hourly rate.**
     ** ** **** ** **** **If you're interested in helping, please contact me
     by email
     ** ** **or at
     ** ** **** ** **818 448
     ** ** **** ** **** **2815.
     ** ** **** ** **** **Thanks a bunch!!
     ** ** **** ** **** **-Rob Ladd
     ** ** **** ** **_______________________________________________
     ** ** **** ** **TriZPUG mailing list
     ** ** **** ** **[3][4][5]TriZPUG at python.org
     ** ** **** **
     **[4][5][6]https://mail.python.org/mailman/listinfo/trizpug
     ** ** **** ** **[5][6][7]http://tripython.org is the Triangle Python
     Users Group

     ** ** **** **--

     ** ** **** **Tobias McNulty
     ** ** **** **Chief Executive Officer

     ** ** **** **[6][7][8]tobias at caktusgroup.com
     ** ** **** **[7][8][9]www.caktusgroup.com

     ** ** **References

     ** ** **** **Visible links
     ** ** **** **1.
     [9][10]https://github.com/tobiasmcnulty/aws-container-basics
     ** ** **** **2. mailto:[10][11]rob.ladd at gmail.com
     ** ** **** **3. mailto:[11][12]TriZPUG at python.org
     ** ** **** **4. [12][13]https://mail.python.org/mailman/listinfo/trizpug
     ** ** **** **5. [13][14]http://tripython.org/
     ** ** **** **6. mailto:[14][15]tobias at caktusgroup.com
     ** ** **** **7. [15][16]http://www.caktusgroup.com/
     ** ** **_______________________________________________
     ** ** **TriZPUG mailing list
     ** ** **[16][17]TriZPUG at python.org
     ** ** **[17][18]https://mail.python.org/mailman/listinfo/trizpug
     ** ** **[18][19]http://tripython.org is the Triangle Python Users Group

     References

     ** **Visible links
     ** **1. mailto:[20]tobias at caktusgroup.com
     ** **2. [21]https://github.com/tobiasmcnulty/aws-container-basics
     ** **3. mailto:[22]rob.ladd at gmail.com
     ** **4. mailto:[23]TriZPUG at python.org
     ** **5. [24]https://mail.python.org/mailman/listinfo/trizpug
     ** **6. [25]http://tripython.org/
     ** **7. mailto:[26]tobias at caktusgroup.com
     ** **8. [27]http://www.caktusgroup.com/
     ** **9. [28]https://github.com/tobiasmcnulty/aws-container-basics
     ** 10. mailto:[29]rob.ladd at gmail.com
     ** 11. mailto:[30]TriZPUG at python.org
     ** 12. [31]https://mail.python.org/mailman/listinfo/trizpug
     ** 13. [32]http://tripython.org/
     ** 14. mailto:[33]tobias at caktusgroup.com
     ** 15. [34]http://www.caktusgroup.com/
     ** 16. mailto:[35]TriZPUG at python.org
     ** 17. [36]https://mail.python.org/mailman/listinfo/trizpug
     ** 18. [37]http://tripython.org/

     _______________________________________________
     TriZPUG mailing list
     [38]TriZPUG at python.org
     [39]https://mail.python.org/mailman/listinfo/trizpug
     [40]http://tripython.org is the Triangle Python Users Group

   --

   Tobias McNulty
   Chief Executive Officer

   [41]tobias at caktusgroup.com
   [42]www.caktusgroup.com

References

   Visible links
   1. mailto:rob.ladd at gmail.com
   2. mailto:tobias at caktusgroup.com
   3. https://github.com/tobiasmcnulty/aws-container-basics
   4. mailto:rob.ladd at gmail.com
   5. mailto:TriZPUG at python.org
   6. https://mail.python.org/mailman/listinfo/trizpug
   7. http://tripython.org/
   8. mailto:tobias at caktusgroup.com
   9. http://www.caktusgroup.com/
  10. https://github.com/tobiasmcnulty/aws-container-basics
  11. mailto:rob.ladd at gmail.com
  12. mailto:TriZPUG at python.org
  13. https://mail.python.org/mailman/listinfo/trizpug
  14. http://tripython.org/
  15. mailto:tobias at caktusgroup.com
  16. http://www.caktusgroup.com/
  17. mailto:TriZPUG at python.org
  18. https://mail.python.org/mailman/listinfo/trizpug
  19. http://tripython.org/
  20. mailto:tobias at caktusgroup.com
  21. https://github.com/tobiasmcnulty/aws-container-basics
  22. mailto:rob.ladd at gmail.com
  23. mailto:TriZPUG at python.org
  24. https://mail.python.org/mailman/listinfo/trizpug
  25. http://tripython.org/
  26. mailto:tobias at caktusgroup.com
  27. http://www.caktusgroup.com/
  28. https://github.com/tobiasmcnulty/aws-container-basics
  29. mailto:rob.ladd at gmail.com
  30. mailto:TriZPUG at python.org
  31. https://mail.python.org/mailman/listinfo/trizpug
  32. http://tripython.org/
  33. mailto:tobias at caktusgroup.com
  34. http://www.caktusgroup.com/
  35. mailto:TriZPUG at python.org
  36. https://mail.python.org/mailman/listinfo/trizpug
  37. http://tripython.org/
  38. mailto:TriZPUG at python.org
  39. https://mail.python.org/mailman/listinfo/trizpug
  40. http://tripython.org/
  41. mailto:tobias at caktusgroup.com
  42. http://www.caktusgroup.com/


More information about the TriZPUG mailing list