This is very interesting question for the professionals. Recently I have worked with Amazon Web Services (if someone of you knows about AWS cloud), I have created a cloud in AWS hosting two Availability Zones, and each Availability Zone have 2 subnets (public and private). The goal was to have secure environment and also application should be highly available 24/7. Moreover, I have setup Auto Scaling group on my cloud, which launches new instances automatically when any server goes down (in any Availability Zone/subnet), and launch application on it and my cloud becomes complete and healthy again.
Above case is for Amazon Web Services only, now I wonder how a locally hosted (server inside our office) can be managed to achieve similar goal (regardless of internet connection and networking quality or throughput). We have to setup a highly available an secure environment in our office which will run our Node.JS application.
I just learned about Docker Container, which raised a question in my mind that can Docker Container assist me to achieve the goal? We can not afford down time, or slow performance, and hurdles on deployments (regardless of internet connection line, leave that for now).
I’m looking for solution for two forms: 1). When Node.js application is simply configured on the linux/ubunto server. 2). When we use Docker Container strategy.
For both cases I would love to know (keeping in mind Node.js is single threaded so need to think about that also):
i). Steps required to make it highly available environment ii). How can it recover from any disaster (when due to some reason the server goes down). iii). Handling heavy traffic in rush hours for both forms of deployment. iv). How security features can be applied on both forms. v). How DDoS can be prevented for both forms differently. vi). How deployment of newer version of application can be managed easily with minimum down time.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
This seems like a special request, I suggest you employ or freelance someone to do this for you as it seems to be quite a big job.
Hi @mhannan313 how did you end up achieving this? I have exactly the same need as those you detail above, would appreciate tips or sharing your experience :)
This is not a detailed or comprehensive answer as you’re inquiring about several different areas and topics, but look into:
And any other guides along the same lines - these should at least point you in the right direction.
Get paid to write technical tutorials and select a tech-focused charity to receive a matching donation.
Full documentation for every DigitalOcean product.
The Wave has everything you need to know about building a business, from raising funding to marketing your product.
Stay up to date by signing up for DigitalOcean’s Infrastructure as a Newsletter.
New accounts only. By submitting your email you agree to our Privacy Policy
Scale up as you grow — whether you're running one virtual machine or ten thousand.
Sign up and get $200 in credit for your first 60 days with DigitalOcean.*
*This promotional offer applies to new accounts only.