Deciding Server configuration

Joined
Apr 22, 2012
Messages
343
Reaction score
14
Hello

We are deploying a Linux web application. We have approx 50 users and 15 concurrent users. The web application has CRM suit. Application suit has OS, Application Server and Database server (current plan PostGreSQL may consider MySQL)

1. How do I decide I need one server or two servers(Separate application and Database)
2. How do I decide the configuration of server? CPU, Memory, etc
3. Any brand? DIY server

Any experts can help?


Thanks
 

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,547
Reaction score
1,301
Hello

We are deploying a Linux web application. We have approx 50 users and 15 concurrent users. The web application has CRM suit. Application suit has OS, Application Server and Database server (current plan PostGreSQL may consider MySQL)

1. How do I decide I need one server or two servers(Separate application and Database)

That will depends on your corporate security policy. For enterprise environments, it is recommended to split into 2 or 3 tiers namely Web, App, DB.

Only the Web or App should have direct network connectivity to the public network. Database should reside within an internal network that is only accessible by the administrators console or application server.

Depending on various situations, you can consider hosting the database away from the application server and/or web server. One thing is it is more secure and another is these 2 types of system have different resource requirement and hence you can customize different servers configuration.

Yet if for cost reason, if you like to host them together, it is just fine, just less flexibility, less scalability and less security.

You can also consider using baremetal virtualization techniques such as Xen, VMware ESXi, KVM to segregate responsibilities and have certain level of isolation and hence also certain level of security enforced. For lightweight segregation of applications and resource management, recent Linux OS have cgroups to help. LXC is using cgroups to provide isolations much like Solaris Zones.

2. How do I decide the configuration of server? CPU, Memory, etc

Sizing is an art largely based on experiences and solution modelling. There is no hard and fast rule to sizing. Some products have sizing metrics to help in sizing, but in my opinion, they are normally oversizing in preference. Based on my experience, 50users with 15 concurrent users is a very low load solution.

Sizing is also dependent on performance tuning and optimisation, along with architectural design. So it's a hard question to answer.

3. Any brand? DIY server

For business use, stick with industrial procurement such as IBM, HP, Dell etc. Don't go for DIY unless you want to keep yourself or your system administrators busy with technical issues.

As a recommendation to your business use, consider deploying your solution in the cloud using either AWS or Microsoft Azure.

I think you will benefit a lot on long run. Less maintenance, higher availability, scalability and flexible, and definitely lower CAPEX with attractive OPEX.
 
Joined
Apr 22, 2012
Messages
343
Reaction score
14
Davidktw

Thank you for your detailed inputs. I looked at AWS Singapore pricing.(Exclude bandwidth charges)

BNCYtGR.png


1. Suppose if I take up Standard Instance of Medium, Once I install OS and application is it considered 24x7 or only office hours during internet traffic? The server needs to be on 24x7 as we have night scheduler to run some process.

2. The pricing of US $0.16 x 24 hours x 365 days = US$1401 per year. So typical server cost US$2500 (4GB Memory, 1TB SATA RAID etc), one time investment. on site. So 5 years total cost for AWS is high compare to ON Site with 5 years NBD support.

Am I missing something?
 
Last edited:

davidktw

Arch-Supremacy Member
Joined
Apr 15, 2010
Messages
13,547
Reaction score
1,301
Davidktw

Thank you for your detailed inputs. I looked at AWS Singapore pricing.(Exclude bandwidth charges)

BNCYtGR.png


1. Suppose if I take up Standard Instance of Medium, Once I install OS and application is it considered 24x7 or only office hours during internet traffic? The server needs to be on 24x7 as we have night scheduler to run some process.

2. The pricing of US $0.16 x 24 hours x 365 days = US$1401 per year. So typical server cost US$2500 (4GB Memory, 1TB SATA RAID etc), one time investment. on site. So 5 years total cost for AWS is high compare to ON Site with 5 years NBD support.

Am I missing something?

There is nothing called office hours in AWS. It's all round the clock consumption. When you start an instance, you select your operating system for a list of choices. Below is a screenshot of the management console for launching computing instances.
2ebg30y.png


The common list of operating systems made available by AWS are RHEL, Ubuntu, SLES, M$ Windows Servers and Amazon's own distro which is Redhat based.

Outside of this list, you will find plentiful of other Operating System, or the correct term is Amazon Machine Images(AMI). Some other popular ones are CentOS, Debian etc. You will find a whole lot of them in here at https://aws.amazon.com/amis

Hence the minimal is you don't need to install OS, you may or may not need to install the base application depending on which AMI you choose to start with.

You can actually built your own AMI if you are adventurous and skilled enough.

You will be surprised they just launched one AMI from SAP. It's SAP Hana in AWS. There is something called AWS Marketplace where you can find tons of free or commercial AMI that are billed hourly based on your usage. Some of them are ready made virtual machine images of applications and operating systems installed like SAP Hana.

Let me give you some insight into how cloud computing should be done. First of all, when you sign up for an account with AWS, the first year, you will enjoy monthly approx USD20 discount on the resources you use. The caveat here is you ought to be using micro instance. This is sort of testing for new customers coming onboard. Next is there is virtually no upfront cost, so other than effort your company is investing in to jump onboard, there is no contract or any form of commitment from your corporate. Nearly everything is PAY-AS-YOU-USE, except some reservation if you would like to enjoy a lower cost for your instances and some other more niche services such as VPC gateway.

Your calculation on on-demand pricing for a 100% utilization medium instance is correct. That is USD1401/yr. But suppose after a few months you deploy your solution and you find cloud is suitable for your solution, you can opt for 1yr or 3 yr term reservation, which you will need to pay a small upfront fee. After that, per hour cost for your instances will be lower. Using the same configuration as you have spec-ed, a reservation of 1 yr term cost will be USD790 instead of USD1401. That will be a saving of 44% in cost if you are willing to pay a small upfront of USD370 to commit that you are willing to use for 1 yr at least. Now that is NOT A CONTRACT. That is just an upfront payment for reservation. You can still walk away anytime but you lose your deposit of USD370. All is not lost actually. If you decided to walk away, AWS allow you to sell your remaining reserved instance back to other AWS customers reclaim back some cost you have invested. Refer to Amazon EC2 Reserved Instances under "Reserved Instance Marketplace" for more information.

Now you mentioned the cost is higher in a 5 years investment. Let me give you the actual break down. Assume you use for 6 months and you realise it's worth it. You can immediately purchase 1x 3yrs terms + 1x 1yr term of reservation for any of your running instances. That make 4 years commitment. The cost will be
3 yrs terms = 0.038 * 24 * 365 * 3 + 580 = USD1578.64 (62% saving vs on-demand)
1 yr term = 0.048 * 24 * 365 + 370 = USD790.48 (44% saving vs on-demand)
1 yr on-demand = USD1401.60
TOTAL = USD4558.88

At first sight, you say the pricing is high. Have you consider the maintenance contract over the 5 years on-site ? Have you consider the hosting environment as your cost ? Electric bills ? Hosting rental or on-premises data centre costing ? Backup and recovery services of the IT folks ?

Each time you deploy more of such servers, do your operational cost increase because these servers need care from time to time ? How about the networking cost of cabling, switches, load-balancers, firewall etc ? What my point is you need to consider your cost from a holistic perspective, you can't just measure one machine at a time.

if you actually try out on AWS or maybe even Microsoft Azure, you will realise the simplicity of configuring servers and infrastructure via the management console. You will be surprise it's like having the data centre at your finger tips. Certainly there are other cost involved using cloud computing, but what you get in return is flexibility, responsive changes and scalability opportunity. AWS in particular is operating in the economy of scale which is why as customers, we can enjoy low cost with high quality services. Since operation of AWS, there has been 26 times to date that they lower pricing for some of their services, which as customers, you benefit immediately even for reservation instances.

Now have you also consider, after 5 years, how are you going to dispose your old server ? Do you think a 5 year old server is worth re-purposing for new projects in the future ? So what will be the plans ? You don't need to think about this if you are using cloud computing.

For enterprise architect solution, it can't be just a single set of server. Consider the database, which is critical, how do you ensure uptime ? If it goes down, or if the data get corrupted, how is the backup and recovery going to be ? If you choose to use AWS RDS with across Availability Zone high availability, you can just leave it to AWS to handle the backup, high availability. It even ensure performance if you need them, and if you want, it will auto upgrade. Read up more at Amazon RDS, Cloud Relational Database Service: MySQL, Oracle, SQL Server

All these are just tips of the iceberg of true cloud computing. Don't think of cloud computing as a one to one replacement of traditional servers deployment. Think of it as a rubber band platform for your corporate to expand easily and responsively. Send some of your IT folks for AWS training and expose them to the capability of cloud computing. My opinion is cloud computing is the way to go and there is no escaping from it. It will bring you power that you have not ever enjoyed in the past and an all time lower cost if your corporate can use them properly with the right set of skill set.
 
Joined
Apr 22, 2012
Messages
343
Reaction score
14
Thank you Davidktw for the detailed explanation. If we consider the TCO AWS makes sense.


Nice of you putting all the relevant information :)
 
Important Forum Advisory Note
This forum is moderated by volunteer moderators who will react only to members' feedback on posts. Moderators are not employees or representatives of HWZ Forums. Forum members and moderators are responsible for their own posts. Please refer to our Community Guidelines and Standards and Terms and Conditions for more information.
Top