Cloud vs Server for Application Development [close

2019-04-08 11:00发布

问题:

What are the benefits of using a Cloud Service over a normal server setup? It's a given that i may benefit from a distributed server setup (The cloud) and maybe cost. But am i really missing out on any capabilities by not using a cloud service? If anything cloud computing is rather limited.

For example the Azure service not all of the .Net Framework assemblies are available to the developer.

There has been a lot of hype with Push and data synchronization technologies recently, and they seem to be sold as something that can only be done with cloud services. There's nothing baked into Cloud Services that enables Push or Syncing right? The developer still needs to write the apps and it host it on the Cloud. If so, then why not use a normal server setup?

Forgive me if i am talking total nonsense, but i am trying read beyond the marketing hypea dn try to understand the real limitations/benefits of using a Cloud and what business benefits it can bring.

回答1:

One big advantage of cloud services (and in particular here I am talking about Amazon's EC2, though others work the same way) is that you can easily scale your usage up or down (the E stands for 'elastic'). So if you have a low-traffic website that suddenly gets Slashdotted, you can spin up 10 more servers within a minute or so, pay for them only while you use them, and shut them down again once the traffic dies down. If you were maintaining your own servers, you might be stuck with higher costs for a longer period of time (if you were renting), or with a bunch of machines you didn't need (in the worst case).

Also, with things like machine images, EC2 makes setup really easy.

Sorry if this sounds like an advertisement. In the interest of full disclosure, I used to work on the EC2 team but have not in over a year. I don't care if you use them or something else, I just happen to know the most about it.



回答2:

The only real difference between a "clustered server" environment and a "cloud" is that you own and controll your cluster of servers whereas someone else owns and controlls the cloud servers.

This is either an advantage or disadvantage depending on what you are doing.

There are many apps can never be put on a cloud because of privicy, SOX and other regulations simply becuase you have no real control over what happens to the data once its out there.



回答3:

It is important to distinguish between two kinds of Cloud Computing (as I see it). Elastic - such as the one of Amazon EC2 Fabric- such as Google App Engine

The elastic kind (or model if you like) gives you the flexibility to manage multiple instances, yet all the scale-up coding is on your shoulders. You are the one who responsible that your application will be scalable. From that perspective, it is not much different than using typical server.

The Fabric cloud services (as I call it), has some limitations but it provides you an hassle free scale up environment. You write your application and it is automatically scalable. You don't have to manage a server, there are no physical disk, server services, admin users, etc. You don't have to take care of filesystem backup, because from your point of view, there's no such thing as server. With this benefit comes a price. I/O access to the filesystem, threads, or lower network api are unexposed. But considering you're building your app to scale, you will not use these services in the first place.

Fabric cloud service will provide you with easy alternatives, though. In AppEngine for example, you can easily create background tasks, call remote web services (restless or soap), and you can easily deploy multiple versions of your app.

In conclusion, normal server deployment vs elastic cloud is just a matter of price and flexibility. normal server deployment vs fabric cloud is a matter of paradigm. For the latter, most of the time your app design is the same, but if you need sophisticated server side programming, then it's no doable, on the other hand if you can't or don't want to administrate or secure your server, it's a perfect solution.



回答4:

The greatest advantage ever is that cloud hosing grants you with time, room for innovation and what is more cares about the money you pay. Cloud platform runs and scales your application and enables the user to roll back in time in case if something goes wrong with the app. For customers needs cloud platform utilizes and adjusts all the services and provides features adaptable for your ever-changing business demands. It is really an advantage to experience these innovations. From my perspective today’s cloud hosting is blooming with:

1.Windows Azure

2.Amazon EC2

3.Jelastic

4.Rackspace Cloud Hosting



回答5:

I think the biggest advantage of server development is also the biggest roadblock for clouds: you own the servers. They're under YOUR control. You can walk over and see where your data is. You don't have to worry about it being in a data center somewhere else. You don't have to worry about a company going out of business or mishandling your information.

This is a real worry for conservative businesses. Data is the lifeblood of most organizations, so a decision to put it into someone else's hands isn't taken lightly.

The problem with server development is that greater control brings greater responsibility. You have to pay for all that hardware, software, electricity, data center real estate, and people to maintain it all. You assume that your security and data handling practices are as good as or better than the cloud firm you might be handing the data to. If this is bad assumption, cloud computing starts looking better.

I think it has little to do with development considerations and everything to do with business realities.



回答6:

What are the benefits of using a Cloud Service over a normal server setup?

First and foremost, the terms "cloud computing" should be used in the right context. Its often mistakenly or interchangeably used to denote PaaS - SaaS service modes too.

Often cloud solutions are marketed for reduced OPEX (operational costs) but the real advantage is

  • Elastic Nature
  • On demand Provisioning
  • Measurement of services provided
  • ready to use load balancers, CDN etc which certain IaaS (Infrastructure as a Service)
  • resources pooled over a network, often running on vitalized environment

Further classifications can be done as:

PaaS, SaaS - based on the service delivery mode.

classification based on the deployment / architecture also can be done:

Public Cloud, Private Cloud, Hybrid Cloud etc.

In general or the most common translation of cloud computing is virtualized environment which can scale rapidly on demand. Now, unless the properties described above are not needed, a traditional server will be more than enough. An example could a news portal may need rapid scaling & cloud solution will be a good match but a company web site may not be a good fit for a cloud deployment.



回答7:

The biggest advantage of cloud for development is infrastructure provisioning . Imagine getting a server for development it requires many intra department approvals and more money and time if server is not available with the organization.

Not to mention the upfront cost of server. Moreover if development team is distributed another setup is required for giving access to team and maintaining security aspects which add more cost and time.



回答8:

You can actually gain the benefit of Cloud service while still deploying your own server configuration. This is called the Infrastructure as service unlike Application as service that Google AppEngine and Azure offered. One of the player in this area is Amazon.



回答9:

Cloud follows "pay as you go model". This means there is not huge cost initially and you pay as per usage. Also you can easily scale up and down as per your needs. Physical servers are managed by service providers like Godaddy, Amazon etc.

In normal case when you own servers. Initial investment cost is high and you need to take care of managing the physical servers. Scaling is not so easy in this case; you need to plan well in advance.



标签: cloud