117

It has appeared earlier. In fact, this was the original model of getting access to computing resources back in the 1950s till well into the 1980s, when it was called "time sharing", then in the early 1990s it re-appeared under the name "Client/Server", then in the late 1990s again under the name "Thin Client", then "Application Service Provider". However, ...


32

Yes, pretty much. With the "cloud" (as in "cloud providers"), you are renting the diskspace, bandwidth, CPU and memory owned by the provider and the means to use them from your software. They give you the infrastructure and you don't own the hardware. There are other forms of cloud computing that don't involve these providers, where you (the organisation) ...


28

Strictly speaking, there is no 'Cloud'. Not in the sense of what that CEO was spouting. There's an Internet, of course. There's hosted services. There's VPS's. There's content delivery systems. We've (technical folks) have adapted to the term to reference certain hosted service models. But 'Cloud' in consumer media is largely a marketing term loosely ...


24

As a pro, If your company's office burns down, the code is still on the server. If your company's office doesn't burn down, but the server on which your git repository is located DOES, then you still have a local copy. If you host your repository on your server in your company's office building (like you would with a Network shared drive...?), then if the ...


21

"Cloud computing" is a blanket term meant to do two things: first, to abstract all possible uses of a client-server model behind a single term, as opposed to more specific use cases like "file servers", "database servers", "web servers", "application servers" etc.; and second, to abstract the server architecture itself, in terms of hardware, topology, ...


15

Cloud-based file syncing is great for pictures of your cat. Cloud-based scm such as github or bitbucket are what you should use for code. They have all the advantages of cloud file storage plus nearly magical abilities to version, compare and merge source files. Personally I'm partial to bitbucket as you get free unlimited private and public repositories ...


15

People have been renting time on remote computers for decades. In fact, "timesharing" was the original model for selling computing services back before computers were small enough and affordable enough that individual businesses could afford to own their own machines. The large information services of the 80's (Compuserve, AOL, etc.) were another way to rent ...


13

Is it possible to learn these technologies on home PC? Yes. For instance, you can work bith Google AppEngine's SDK entirely offline. Google Code University also provides some starter courses and tutorials on Distributed and Cloud Computing. Which technologies to learn in Cloud Computing? Cloud Computing encompasses many things (ass buzzwords often do.....


12

There are two answers. The first is that it didn't really take off until high-speed internet access became ubiquitous. Cloud computing doesn't work well unless you can be reasonably sure that you will always have high-speed access to your cloud resources. The second answer is that it's not really a new idea. Before PCs became affordable it was the norm to ...


11

Obviously its a question of trust in the provider and how much you value your source code. However, I thinks its clear that, at least in the past, people over valued their source code. For 'business process automation' products; where an in house team creates websites and other software specifically for the needs of the business. The value of that software ...


9

Erlang is particularly strong in concurrent/parallelized computing. In fact, it was designed originally for that very purpose. It has nothing inherent to do with cloud, except that oftentimes, calculation-heavy applications parallelized and deployed in "cloud" instances to make it easier to grow/shrink capacity on demand. The rest is just marketing-speak.


8

Back around the turn of the century, there was a big todo about the concept of an ASP (Application Service Provider). The idea was that a third party would host your software for you and you pay monthly licensing fees. Cloud computing is basically taking that concept to another level. Rather than buying the hardware or provisioning it from a traditional web ...


8

Cloud computing says absolutely nothing about who owns the resources. Cloud computing is an architecture for developing distributed, network-based applications. There are a number of cloud computing service providers out there, such as Azure Services Platform, Amazon Web Services, Google App Engine, and a number of others. However, using someone else's ...


8

I work for a company and roughly 95% of our servers (out of 400+) live 'in the cloud', mostly at Amazon EC2. Cloud providers have matured a lot in just the past few years, and you will find that many other emerging companies live in the cloud too, like Netflix and Quora. Now some problems we've faced as a result: Random downtimes due to maintenance or ...


8

Other than the fact that Erlang was specifically developed to be run in concurrent/parallelized/distributed situations, the two main techniques that it employs making this possible are: No side effects: This means, when you give a function a piece of data to execute against, it will not except in very strict cases affect anything else in the system/running ...


8

Glacier is an archiving service. According to their site "Amazon Glacier is optimized for data that is infrequently accessed and for which retrieval times of several hours are suitable". It's meant for data that you don't want to throw away but don't need to access regularly. To draw a metaphor with paper documents. If the paper on your desk is RAM, the ...


7

No, you actually should. I would even go as far as to say - everyone should. Parallel programming is actually a huge problem for the whole industry, it's a topic universities, tutorials, project managers and architects usually shy away from. This is bad, very bad, and should be fixed ASAP. Parallel programming is not actually that hard, but it needs a ...


6

Privacy: Corporate networks and websites get hacked all the time. Uptime: Ever get that email that "We will be doing some maintenance on Saturday..." from your company admin? Data Ownership: probably need to improve contracts and practices in this area. Most will offer a reasonable data dump in a managable format (Your 57 DVD's are in the mail.). ...


6

I'm using EC2 more traditionally, as servers. The problems I'd foresee with what you're attempting: storage: You have two choices, persistent EBS and ephemeral storage. EBS is quite slow, can't really imagine working with an IDE using such a slow disk. Ephemeral storage goes away as soon as you stop your instance, so not quite good option either. And of ...


6

I would say it depended on virtualization technology on commodity hardware. Time sharing and mainframe/client access has always existed, but required expensive special hardware to securely portion resources. Client/server access has always existed on commodity hardware since the internet. However, it required a dedicated server and you couldn't just ...


6

There are some trade-offs that you'll have to do: 1.Dedicated instances Advantages: No additional development needed nor conceptual work (less time and cost to market the product) Every customer is fully independent, which means technical flexibility (you could choose hosting facility depending on location, volume pricing, etc...), customizability (a ...


6

Since you are CPU-limited, you need to get your hands on 150 CPU cores, one for each thread. This rules out a single server, since a server of such proportions would be prohibitively expensive – and you don't really need it. Your general architecture with a common frontend that distributes work to multiple workers and combines their results appears to be ...


5

No. Cloud computing is not merely a way to rent resources. Cloud is all about services that: are delivered over the network (possibly the Internet) are fully controlled by API are fully automatable and automated require no human interaction for control are delivered as a commodity are billed like a utility: for measured usage require no capital expenditure ...


5

Given your statement that "I work across multiple locations, with at least three different computers", I'm going to assume that DVCS is pretty much a requirement here as you don't say it explicitly. At least it is for me as I'm in the same boat. I know this may seem like a "duh!" statement, but I wanted to get that established first. So to your questions: ...


5

I think you will remain unsatisfied at your job until you leave, or the other developer does. ;) More seriously, there isn't enough information to know if the other developer is shooting down your ideas because he doesn't like change, or if he is shooting them down because he has good, solid reasons that he isn't communicating well. I would take the ...


5

For sure, you should plan for the execution environment you are expecting to use. The cloud platform I use lets me define VMs with multiple CPUs. If explicit parallelism is important to you, select a different vendor.


5

The primary benefit to using ACS is that you can integrate login systems which are not compatible with DotNetOpenAuth; namely, that you could combine external logins with an Active Directory (including both on-premises AD as well as AD in the cloud like Office 365). Your customers could use their accustomed identities from 3rd parties, and your ...


5

The nice thing about the PageRank algorithm is that it can be solved iteratively in a distributed way, within the MapReduce framework. However, the working data for Pagerank on ~5M nodes and ~50M edges should fit perfectly well in 4GB ram, never mind 48GB.... Specifically, you don't need to store all data for each web page in memory -- instead, you should ...


5

The best way to understand what your coworker meant would be to ask her, rather than assuming these names refer to standard concepts shared by others. Ask her. If I were to try and decipher those terms, I would say that the first is using Terminal Services/Remote Desktop (on Windows) in which a thin client application (the Remote Deskto Client) acts as a ...


5

A key part of "cloud computing" is the deployment management tooling. In "classic" deployments one ordered a specific machine for a specific application and did quite fixed configuration. In a cloud environment there is more or less standardized hardware in a pool and an API which creates and configures virtual machines on it from some form of templates. ...


Only top voted, non community-wiki answers of a minimum length are eligible