Skip to main content

Posts

Showing posts with the label amazon

Entity Framework 4 with Amazon RDS

  In my last post I demonstrated how you can use MySQL with Entity Framework 4. In this post I’m going to show you how to use Amazon RDS . Amazon RDS is a Relational Database Service which is similar to SQL Azure except that it supports MySQL & Oracle is coming soon. This is the actually the first time I’ve attempted to use the service and am going to be writing this as I go.  Amazon RDS takes care of all the critical database management tasks like software updates, backups & replication. Signing Up This post assumes you already have an AWS (Amazon Web Services) account, if you don’t go to the Sign In page. As with all Amazon Web Services you have to explicitly sign up, you can do this by going to http://aws.amazon.com/rds/ and clicking the “Sign Up For Amazon RDS” button. Note: Signing up is not instant, it took about 12 hours for me to receive the confirmation email. Launching the DB Instance Log into the AWS console and go to the Amazon RDS ta...

Using Entity Framework 4 with MySQL

  If you’re on the .NET Platform then MS SQL Server is usually the de-facto choice for the RDBMS. However if you’re at all cost conscience then you will realize that scaling and replication is going to cost you a fair chunk of change in licensing fees. For that reason open source RDBMSs and in particular MySQL offer a much cheaper alternative. In this post I’d like to demonstrate how you can use Entity Framework 4 with MySQL. MySQL Connector Net 6.3.6 The first thing you’ll need to do is download and install the latest version of the MySQL Connector for .NET from http://dev.mysql.com/downloads/connector/net/ Make sure that Visual Studio is closed when you install. Pascal Case Table Names Because we are going to generate our Entity Framework Model of an existing database we want to make sure that the entity names use pascal casing. By default MySQL on Windows forces lowercase table names. You can change this behaviour by adding lower_case_table_names=2 to your my.ini file...

Load Balancing with Amazon EC2 and Elastic Load Balancing

  Hosting your applications in the cloud yields many benefits, however it can be at times a very scary place when thing’s go wrong, and they always do. If you love your customers then you owe it to them to make sure you have in place redundancy and ensure you provide a high level of availability. The Amazon EC2 Infrastructure provides a really easy way to set this up using the Elastic Load Balancing feature. Before starting you need the basic concepts of how the EC2 infrastructure works and how it can help you in your quest for high availability. Regions Regions in EC2 are geographical locations where the Data Centres reside and at the time of writing there are four Regions: US East – North Virginia US West – California EU – Ireland APAC – Singapore It goes without saying that the Region you select should be always be as close to your customers as possible. Availability Zones Each Region has 2 or more Availability Zones. These are importan...

CDN Sync Version 1.0 Released

I have just published a small project on CodePlex called CDN Sync . The primary goal of this project is to provide a set of tools to synchronize local files and folders with Cloud Storage Providers during the Build and Deployment process. Using a CDN (Content Delivery Network) for all your static website files should be the default these days if you’re concerned providing the optimal client experience, however deploying these files to your CDN Provider can be a manual process and prone to versioning issues. Version 1.0 includes an MSBuild task and support for synchronizing with Amazon S3 . Pre-Requisites: Visual Studio 2010 Amazon Web Services Account You can download the Release from here and read the documentation Future features: Support for Cloud Files Support for Windows Azure Command Line Interface Any questions or issues then please post them to the CodePlex project or comment here.

Disabling the Shut Down button on Windows Server 2008

The very first thing I do when building an Amazon EC2 image is too disable the Shut Down button. Shutting Down an instance has the same effect of terminating the instance, meaning you lose all data not stored on EBS volumes. Click Start > Run > Type “gpedit.msc” and press enter Go to User Configuration > Administrative Templates > Start Menu and Toolbar The option you are looking for is “Remove and prevent access to the Shut Down, Restart, Sleep, and Hibernate commands” Right Click > Properties > Select Enabled > Click Apply > Click OK Now when you go to the Start Menu you will see this with the only options being Lock and Log Off. Now you can use the AWS Management Console to manage reboots or terminations.

Migrating to Amazon EC2 from GoGrid

Recently Amazon EC2 announced that they were going to support Windows Server 2008 instances. The experience with GoGrid has been rocky to say the least and most recently the MyGSI’s shortcomings confirmed that the service was not able to meet our applications requirements for using instances on demand. Which brings me to this post. After 14 months with GoGrid I have just recently completed a migration of all applications and databases to Amazon EC2 and thought I would outline the steps I took. Creating New Instances Before you start you will need to create your new instances in Amazon EC2. I have covered this previously in another post . When you set up the firewall it is important that you open Port 1433 for traffic coming from your previous web server in GoGrid. Or if you want you can even create a temporary VPN between your GoGrid web server and EC2 database server using Amazon Virtual Private Cloud . This is an important step in ensuring minimal downtime. At this...

Windows Azure pricing announced, Cloud Computing pricing and feature comparison

Well the wait is over Microsoft have finally announced the Pricing for Windows Azure , thanks Darko for letting me know. Full post here . All in all there are no surprises and the pricing is pretty much on a par with other Cloud Computing providers. Let’s do a quick pricing comparison.   Windows Azure Amazon EC2 GoGrid RackspaceCloud Cloud Sites From $100 / month Compute Cycles $0.12 $0.125 $0.19 inc 10,000 / month $0.01 Inbound Bandwidth $0.10 $0.10 FREE inc 500 GB / month $0.25 / GB Outbound Bandwidth $0.10 $0.17 $0.50 inc 500 GB / month $0.25 / GB Storage / GB $0.15 $0.10 $0.15 inc 50 GB / month $0.50 / GB CDN N/A $0.17 / GB N/A ...

Amazon S3 ThreeSharp "Key Not Found" blank characters in key

I know it's been a long time between drinks. But I've finally found the time to post about my latest discoveries from the land of the Bleeding Edge. I'm currently rebuilding my PC with Windows 7 Release Candidate, more on that later and have some free time. So as you would know if you have read the rest of my blog I have settled for a hosting solution of this. Go Grid – App & DB Servers EC2 - Transcoding, File Processing Services S3 - Media Storage CloudFront – CDN As we near the release date for our product we have been doing substantial testing in the area of uploading from the Client directly to S3 using Flash and then performing Transcoding in EC2. Anyone who's tried to play with the S3 API knows that it is a beast to say the least, so I choose to use the very good wrapper from Affirma called ThreeSharp . If you're doing development in .NET with S3 then you would be mad not to use it. However I have come acro...

GoGrid vs Amazon EC2 - Cloud Hosting Continued

So I've just completed deploying an application to my first GoGrid server, this is the same application as what I've previously deployed to my Amazon EC2 instance . As I mentioned before the application is an ASP.NET MVC  front-end with supporting WCF services running on against a Sql Server Express 2008  Database.   Because I run a Vista development machine I was aware of the fact that running .NET MVC on IIS7.0 outperforms II6.0 with the wildcard ISAPI filter which is what I had to resort to when using my EC2 instance. What I didn't know was by just how much.  On a general note the overall learning curve and time taken to setup the server and then deploy the application was far less than with Amazon EC2. So full credit to Go Grid for the intuitive user interface. Also not having to concern myself with Elastic Block Stores and tracking down the Windows Server Install Disc Snapsh0t to install FTP server was a great help and thing's which have been made unnecessari...

Amazon CloudFront

Great news for everyone using Amazon S3 for Content Delivery.  Amazon have just lauched CloudFront  which  " delivers your content using a global network of edge locations. Requests for your objects are automatically routed to the nearest edge location, so content is delivered with the best possible performance." The 4 Locations are Hong Kong, Japan, Europe and the United States. This is really great news and was the missing piece to the puzzle given that most of my traffic is coming from the Asia-Pacific region.  Nirvanix  have been offering this for sometime now and was my first choice, but now the tables have turned.  The combination of Ec2 , S3  and now  CloudFront  make the Amazon Service Offering impossible to ignore.  Stay tuned for some initial tests on how CloudFront performs from the various locations. 

Cloud Hosting - Amazon EC2

style="" > So recently I got the chance to deploy my first application to Amazon EC2.   I've got to say after a little bit of trial and error I think the service is pretty amazing and is definetly the future of web hosting and you sure can't beat the price US $0.125 / Hour which is essentially US $90 / month. Bandwidth between S3 and your Ec2 instance costs nothing so is very attractive for Media Transcoding and other such tasks. The requirements were as follows: .NET 3.5 SP1 ASP.NET MVC Beta SQL Server Express 2008 with Advanced Services IIS 6.0 Velocity Ideally I would want to host the Application on a Windows Server 2008 instance so that I could leverage the features of IIS 7.0 and also have a dedicated SQL Server 2008 instance, but unfortunately Amazon does not support this yet and it's unclear when this will happen so I had to use a makeshift approach. To manage your instances you can and should use th...