How I learned to stop worrying and love the Cloud
-
I have my own feelings on the Cloud computing movement, but I have to earnestly research it as a fiscally pleasing alternative to a hardware purchase needed for a large database solution I am developing. Amazon's AWS is the suggested service. After researching the pricing of the service, it appears that it may quickly become costly for a server that must remain up 24/7/365 and is constantly updated in batches of 10-100k rows per second. The kicker is that this database server is for internal use only so if we hosted it in our network, it would not increase our in/outbound bandwidth, however if hosted in the cloud, it would, and we would also get charged for this from AWS's side. According to their site, storage costs are: Amazon EBS Volumes • $0.10 per GB-month of provisioned storage • $0.10 per 1 million I/O requests While data transfers are: Data Transfer In US EU Regions APAC Region All Data Transfer $0.10 per GB $0.10 per GB Data Transfer Out US EU Regions APAC Region First 1 GB per Month $0.00 per GB $0.00 per GB Up to 10 TB per Month $0.15 per GB $0.19 per GB Next 40 TB per Month $0.11 per GB $0.15 per GB Next 100 TB per Month $0.09 per GB $0.13 per GB Over 150 TB per Month $0.08 per GB $0.12 per GB Also, I won't be able to accurately estimate volume usage, IO's or data transfers until the system were to go into production. However, it can't go into production until I have chosen a hardware solution. The cloud's pricing system is making it more difficult because I could end up racking up huge bills once it goes prod. My question is: Is it possible to make the decision to go with a cloud service for a new system? Or is it only viable for systems where X, Y and Z are known? And if this is the case, why not just stay with the current physical hardware?
-
I have my own feelings on the Cloud computing movement, but I have to earnestly research it as a fiscally pleasing alternative to a hardware purchase needed for a large database solution I am developing. Amazon's AWS is the suggested service. After researching the pricing of the service, it appears that it may quickly become costly for a server that must remain up 24/7/365 and is constantly updated in batches of 10-100k rows per second. The kicker is that this database server is for internal use only so if we hosted it in our network, it would not increase our in/outbound bandwidth, however if hosted in the cloud, it would, and we would also get charged for this from AWS's side. According to their site, storage costs are: Amazon EBS Volumes • $0.10 per GB-month of provisioned storage • $0.10 per 1 million I/O requests While data transfers are: Data Transfer In US EU Regions APAC Region All Data Transfer $0.10 per GB $0.10 per GB Data Transfer Out US EU Regions APAC Region First 1 GB per Month $0.00 per GB $0.00 per GB Up to 10 TB per Month $0.15 per GB $0.19 per GB Next 40 TB per Month $0.11 per GB $0.15 per GB Next 100 TB per Month $0.09 per GB $0.13 per GB Over 150 TB per Month $0.08 per GB $0.12 per GB Also, I won't be able to accurately estimate volume usage, IO's or data transfers until the system were to go into production. However, it can't go into production until I have chosen a hardware solution. The cloud's pricing system is making it more difficult because I could end up racking up huge bills once it goes prod. My question is: Is it possible to make the decision to go with a cloud service for a new system? Or is it only viable for systems where X, Y and Z are known? And if this is the case, why not just stay with the current physical hardware?
Following are the 10 special reason to use cloud 1: Familiarity of Windows Azure is based on Windows, so you can write applications in the same programming languages you’ve used for Windows apps: Visual Basic, C++, C#, etc. You can also use familiar tools such as Visual Studio, along with ASP.NET and other familiar Windows technologies. This makes it easy for organizations to find developers who already have the skills to create applications for the Azure platform. And because the Azure environment is much like the standard Windows environment, it’s easier to create a cloud version of an existing Windows application. 2: 64-bit Windows VMs Applications running on Azure run in virtual machines, with each instance of the app running in its own VM on the 64-bit Windows Server 2008 operating system. The hypervisor on which they run is designed specifically for the cloud. You don’t have to supply your own VMs or deal with managing and maintaining the OS because apps are developed using Web role instances or worker role instances that run in their own VMs. The apps interoperate with other Azure components through a Windows Azure agent that runs in each VM. With Azure, you can focus on the code and don’t have to worry about the hardware. 3: Azure SDK Microsoft provides the Windows Azure software development kit (SDK), which includes a version of the Azure environment you can run on your own computer. It’s called the Windows Azure Development Fabric, and it includes the Azure agent and storage. You can work locally when developing and debugging an application and then move it to the cloud. You can download the tools for Vista Studio 2008 and 2010, along with the SDK, from Microsoft. 4: Scalability and flexibility Using Azure, you can easily create applications that run reliably and scale from 10 to 10 thousand or even 10 million users — without any additional coding. Azure Storage provides scalable, secure, performance-efficient storage services in the cloud. After you create a Web app, you can specify the number of processors for the application to use. If the application needs to scale up to meet growing demand, it’s easy to change the settings to use more processors. The “pay as you go/pay as you grow” approach lets you bring your new apps to market sooner and respond more quickly to changes in your customers’ needs. 5: Cost benefits and pricing model Taking advantage of resources in the cloud allows you to decrease your costs for building and expanding your on-premises resources. You can