• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Tim Cooke
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Liutauras Vilda
Sheriffs:
  • Rob Spoor
  • Junilu Lacar
  • paul wheaton
Saloon Keepers:
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
  • Scott Selikoff
Bartenders:
  • Piet Souris
  • Jj Roberts
  • fred rosenberger

How to decide whether code should be deployed on cloud servers or physical servers.

 
Ranch Hand
Posts: 2601
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
How to decide whether code should be deployed on cloud servers or physical servers.Why every code is not deployed on Cloud servers but some are still deployed instead on physical servers too.Sometime the code is deployed on physical servers whereas sometimes the code is not deployed on physical servers but on cloud. How is it decided. Thanks.
 
Marshal
Posts: 5362
325
IntelliJ IDE Python Java Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It mostly depends on whether you want to own and manage your own servers. If you do then you buy your own servers. If you don't then you rent servers from someone else.

Often the cloud providers, the ones renting you use of their servers, will have elaborate features that allow you to dynamically rent more or less servers based on demand so it can be more cost effective that way. But it all comes down to your own requirements to determine which is the best option for you.
 
author
Posts: 23923
142
jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Well, I would probably think that the main reason is cost versus performance. Dedicated servers are more expensive -- as obviously, you are not sharing the resource. Shared resources are cheaper, but you pay in terms of performance. Additionally, since you don't control who else uses the environment, it is unlikely that you will have any strong guarantees in terms of service level agreements.

Henry
 
Tim Cooke
Marshal
Posts: 5362
325
IntelliJ IDE Python Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
It also depends on the data you want to store on them. Will your business allow you to trust someone else to look after your data? If not, you had better look after it yourself.
 
Ranch Hand
Posts: 343
Mac OS X Spring Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
We are a bank and the kind of data we have and number of regulations that number of businesses face, we can't trust anyone with the data. However, we prefer AWS than in-house servers for the sake of ease of infrastructure setup, security offered, and SLA on server uptime. As per CAP Theorem, for a distributed network system, you can't have Consistency, Availability and Performance (CAP) simultaneously. So, there is always going to be a trade-off that you will have to discuss and decide within your team what suits your need and decide accordingly judging the solution on the criteria that best meets your needs.
 
Monica Shiralkar
Ranch Hand
Posts: 2601
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
thanks all.
 
Saloon Keeper
Posts: 25624
183
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I maintain physical machines, VM hosts, and containers. Each has its advantages.

Obviously, you need physical machines. Even the cloud has physical machines behind it. They're what host the VMs and containers!

My physical machines all host the core OS. That is, sufficient software to host my VMs. I'm running my containers within VMs, so in my case I don't need any container-specific packages installed in the physical VM.

On the other hand, there are several services that I prefer to host in the physical boxes, many of which could be virtualized, some of which are better not.

I have SAN filesystem services installed. That supports my ability to do real-time mirroring on multiple hosts. I like it on the physical box because the path between the physical disks and the filesystems being shared up isn't dependent on secondary services (such as virtual machine managers and Docker). This give probably a minor performance boost, but more importantly, means that those files will be available even if the virtualization services are down or haven't come up yet.

I have a Nginx proxy (mirrored) on physical hosts. A bigger budget and I might simply have a hardware proxy box like an F5, but this fits my budget and needs. The proxy fronts for physical services, VMs and containers, so it needs to be there even if the backend servers are not.

I have DNS on my physical hosts. Another resource that needs to be highly available and come online early.

I worked in a shop back when virtualization was still minimal. We had Solaris Zones, but I was about the only one who knew how to use them, so we had production servers which often ran at 10% capacity and even at their peak didn't usually exceed 20%, because they provided services that needed to be isolated. We were running short on rack space and worse - we were popping circuit breakers. So virtualization was something badly needed there.

I mentioned that my Docker instances are actually in VMs. That has a few advantages. For one, currently Docker can crash when I do certain types of Docker image builds on CentOS 6, but not on CentOS 7. So, since I prefer CentOS 6 (no systemd to annoy me), I keep both OS's in respective VMs. Also, VMs can hot-migrate to other physical hosts if their primary host deteriorates. And finally, OS updates to the VMs (especially Docker updates) don't have the potential to take the entire physical server offline for long periods of time. If things go really sour, I can revert the VM image and I don't have to take down all the machine services at once.

 
Monica Shiralkar
Ranch Hand
Posts: 2601
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If it is important for the data to remain secure, then is cloud avoided in those cases?
 
Tim Holloway
Saloon Keeper
Posts: 25624
183
Android Eclipse IDE Tomcat Server Redhat Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
As a rule, anything really critical I'd run on local servers. Relying on the cloud, as we periodically get reminded, can be dangerous.

Cloud-based systems can be attacked from other clients within the cloud. And if the cloud goes down (and Amazon periodically does), you've no control over your own resources.

And if government agencies decide that one of the other cloud clients is supporting a criminal or terrorist association, they can storm the cloud data center and physically start removing and examining equipment, irrespective of whether it has your innocent data or the suspect data. I recall an especially blatant example of this that happened in Texas, a few years ago. Some of the "cloud outages" in fact, might be cover-ups for more recent incidents where they've learned to be a bit more subtle.

Your local servers can, of course, fail, the ISP servicing them can fail, and of course, local support means hiring your own sysadmins. But if your information assets are valuable enough, it may be worth it.
 
Monica Shiralkar
Ranch Hand
Posts: 2601
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for replying to a thread where the previous reply was from you itself which was around 4 years back.
 
Monica Shiralkar
Ranch Hand
Posts: 2601
13
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Tim Holloway wrote:As a rule, anything really critical I'd run on local servers. Relying on the cloud, as we periodically get reminded, can be dangerous.



How about having such data in private/hybrid cloud?
 
reply
    Bookmark Topic Watch Topic
  • New Topic