0

I'm building an application which is still in proof-of-concept/prototype stage. I use Amazon EC2 for my server needs. Its not open to the public yet and I develop and test on the AWS machine directly also playing around with other AWS tools and bring the server online/offline whenever necessary. My stack is Node.js, MySQL, MongoDB and Angular2.

At some point in the next few months, I would like to keep it (the Amazon machine) running 24/7 and open it up to public to use this (at a very small scale - 10 to 100 users.. alpha release). At this point, I would like to move my testing and development to a test server and deploy changes on Amazon whenever I have a major/minor release or have to fix a bug. I use git for version control.

Some resources I've looked into

Although the resources below are informative, I cannot draw anything conclusive.

My questions are as follows

  • How do you recommend I move things from my test server to my production server when I want to fix a bug or roll out an update? Should I maintain a common code repository and use git on the production server to pull changes whenever necessary? Should this be done manually or automate this?
  • Since I have only once machine (production), I'm guessing the services will be down when I'm updating. Is there way to minimize it or should I have a minimum of two production machines?
  • I've heard about (not used) tools like Capistrano, Chef but I dont have any CI/unit tests setup at this point(I'm being honest!). I barely have the complete code written.

  • My main goal is to prove my idea works and at the same time give some level of reliable service to the users (in the alpha/beta stage). Overall, I want to make it as professional as possible and follow good practices to an extent I can with the resources I have.

Keep in mind its just me and I dont have a team of smart talented developers. Any advice would be appreciated!

3
  • You need to do some reading on the services AWS provides. Elastic Beanstalk would be key for you.
    – Tim
    Feb 2, 2017 at 18:48
  • I explored Heroku and AWS Lamda. It doesnt suit my needs at this time. At this point I need more control over my architecture (since I'm still trying to figure out what kind of components I need).
    – am3
    Feb 2, 2017 at 19:03
  • Read my last comment again.
    – Tim
    Feb 2, 2017 at 19:07

1 Answer 1

0

To understand how effectively you are testing a product, I advise to have a test documentation. The need for this kind of documentation will be more obvious when you scale your product. If you don't know how to write such documentation, I suggest you read this guide: https://tech-stack.com/blog/test-strategy/ . It details the components of such a document and ends with an example.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .