AWS

September 24, 2008

How Amazon Web Services needs to help Flex Developers

Or How Amazon Web Services can implement a Flash Proxy Service.

There’s been a thread at the amazon simpledb forums discussing that AWS should implment a crossdomain.xml file. I agree that AWS should open up their public facing services to flex developers by implementing a crossdomain.xml file however, simply implementing a crossdomain.xml file will not address the real problems of authentication and security.

The real problem facing flex developers is that it’s not secure to place your amazon secret key inside of a compiled swf. It can easily be decompiled. It’s been suggested that the best solution is to proxy calls through a server, such as an EC2 instance. For just wanting to store and recieve data in S3 or SimpleDB that is just way too much overhead.

The solution is for Amazon to implement a flash proxy service for flex developers. ( and silverlight )

  • Flex devs need to register the domains that are associated with thier access key. ( www.mydomain.com )
  • Flex devs then only need to send thier access key along with each request.
  • The amazon flash proxy service then verifies the domain the request is coming from is in the list of verified domains for that accessky and adds the secret access key to the request before sending the request on it’s way.
  • Any requests that come from domains that use an access key outside the list of domains gets denied.

 

AWSProxy

 

 

August 21, 2008

Amazon releases Elastic Block Store (EBS)

Amazon Web Services released Elastic Block Store recently, which will allow you to attach storage volumes for EC2 instances and essentially treat them as a local hard drive. The drives are unformatted, so you can manipulate them any way you want and there’s also the ability to create point – in -time snapshots to back your data up.

You can read more about it here.

 

 

 

May 20, 2008

Austin Flex User Group

I’m going to be giving a presentation this Wednesday, 5/21/2008, via Connect to the Austin Flex User Group. It will actually be two presentations. The first is a session on debugging from within Flex Builder. I’m going to focus on debugging techniques and also will explore remote debugging with ColdFusion, C# and Java. The second session will be a sneak peak on how you can leverage cloud services with a flex front end using the Smashed Apples framework, but specifically I’m going to be talking about Amazon Web Services and how you can leverage cloud services to make money. That’s always fun!

You can find out more info at: http://www.austinflex.org/.

If you’re in Austin, Texas I hope you can make it.

May 05, 2008

The Smashed Apples Open Source Development Platform

Smashedapples2

The Smashed Apples Development Platform is an open source development platform that aims to help flex developers easily and quickly develop flex applications on cloud services, like Amazon Web Services, Google App Engine, the Google Web Api’s.

Many Clouds, 1 App.

Flex is perfect for leveraging cloud services. It was designed to have multiple sources of data. Your data can be in an xml file, a web service, or come from remoting directly into backend code. You can use Google App Engine to host your database, store your images in Amazon S3 and deploy the messaging through BlazeDS running on an Ec2 instance.

Smashedapples1

Why not all, and more.

 

V 099 Beta

We’re still currently in version 099 beta. But we decided to go ahead and solicit help and feedback from the flex community. We have ideas about what other flex developers might want, but it’ll be better if you just tell us.

More than a swc

Smashed Apples is more than a swc. It’s a development platform. The SmashedApplesSDK is just one piece of a much bigger puzzle. For example on Amazon we created a public Amazon Ec2 ami  ( ami-5640a53f -) that starts up an apache web server that deploys blazeDS and a java project that allows you to access the Amazon SimpleDB from within flex. The swc just ties it all together from within flex. Also, with that image you can open up messaging ports and do push pulls off of Amazon Web Services.

Besides being a swc to leverage cloud services, I’ve also been incorporating enterprise-level dynamic flex computing components that will help you create flex apps faster. Forms that know how to submit themselves. DataQuery objects that allow you to consistently create dynamic queries on backend resources.

Harnessing Cloud Services as Needed

Last August at Flex 360 Seattle I had the simple idea of using flex with Amazon Web Services to build a photo viewer using Amazon S3. The problem was I knew nothing about using Amazon Web Services. I wasn’t a linux administrator and every time I tried to use Amazon Web Services from within flex I just got frustrated. (What’s up with that freaking SSH KeyPair!!) I mentioned it to long time friend Jeremy Mooer and it turns out he knew everything about using linux on amazon web services that I didn’t. That simple idea turned into a full blown open source project. As I started looking into Cloud Services, I found there were alot more out there than I suspected. Jeremy Got busy creating Ec2 ami’s and I went about creating the flex sdk, and the smashed apples java ec2 java api. BlazeDS went Open Source, Google came out with AppEngine and it became very apparent to me that the applications of tomorrow are going to be built off of cloud services. ( Get ready to dump your RDBMS btw ). Businesses are going to create thier own mini cloud services. Relational Database Management Systems are going to give way to Object Persistent Systems. Words like Hadoop, MapReduce, Erlang and Mnesia are going to be found on more and more resumes. Smashed Apples has turned into my goto for being able to harness cloud services from within flex applications. Pay for what you use, right?

 

 

Future Development

We’ve already been looking into ways to incorporate Google App Engine, and more code will be coming soon. 

But in the future, we’d also like to support:

 

Learn More

Site: http://www.smashedapples.com/

Code: http://smashedapples.googlecode.com/

 User Group: http://groups.google.com/group/smashedapples

Simple Explorer: http://www.smashedapples.com/samples/explorer/SmashedExplorerApp.html

It currently runs off of the public smashed apples ami, it use blazeds for remoting, to the smashed apples java api that stores data in SimpleDB.

Help is Welcome

We are an open source project! If you’re a flex developer with some free time and would like to get involved please email me. There’s plenty to do. We’re easy to get along with, like to joke around and doing an open source project is a great way to get your name out there. We give credit where credit is due. 

Corporate Sponsors

Finding corporate sponsors has not been our goal when we created this project. That being said, I have received several inquiries about whether or not we have corporate sponsors for the project and we are open to the idea of having a corporate sponsor(s). If you would like to become a corporate sponsor please contact me.

 

 

 

April 30, 2008

Amazon Web Services SimpleDB Survey

If you feel like I do about Amazon Web Service’s SimpleDB, that’s it’s not “Simple” at all, you should fill out the this survey and let the SimpleDB guys know how you feel. … Er. I guess you don’t have to feel like I do at all. If you feel like SimpleDB is great, let them know that as well.. 

April 17, 2008

Amazon Service Health Dashboard

Monitor AWS services from your browser. You can find more info here. There’s even rss feeds for those of us that are addicted to rss feeds.

April 14, 2008

Persistant Storage for EC2 is coming

I received an email from Amazon Web Services this morning about a new service that will be coming out later this year that AWS is dubbing Persistent Storage. This is great news for flex developers who want to target utilize AWS as a backend.  For those of you that are not familiar with some of the problems associated with developing in the cloud, I’ll explain it as this: It’s easy to create an instance on EC2 and get BlazeDS, MySQL and java up and running, develop your backend code go, but as soon as you shut down your instance,  your instance is lost. Poof, just like that it’s gone faster than Kiser Soze in The Usual Suspects. That includes when AWS goes down.  Not being able to persist data is obviously a problem. Hopefully EC2 Persistence will help sort this out and allow us to persist such things as MySQL instances. Here’s some info straight from Amazon:

This new feature provides reliable, persistent storage volumes, for use with Amazon EC2 instances. These volumes exist independently from any Amazon EC2 instances, and will behave like raw, unformatted hard drives or block devices, which may then be formatted and configured based on the needs of your application. The volumes will be significantly more durable than the local disks within an Amazon EC2 instance. Additionally, our persistent storage feature will enable you to automatically create snapshots of your volumes and back them up to Amazon S3 for even greater reliability.

You will be able to create volumes ranging in size from 1 GB to 1 TB, and will be able to attach multiple volumes to a single instance. Volumes are designed for high throughput, low latency access from Amazon EC2, and can be attached to any running EC2 instance where they will show up as a device inside of the instance. This feature will make it even easier to run everything from relational databases to distributed file systems to Hadoop processing clusters using Amazon EC2.

When persistent storage is launched, Amazon EC2 will be adding several new APIs to support the persistent storage feature. Included will be calls to manage your volume (CreateVolume, DeleteVolume), mount your volume to your instance (AttachVolume, DetachVolume) and save snapshots to Amazon S3 (CreateSnapshot, DeleteSnapshot).

 

It’s unclear when this feature will be available however. I signed up to be on the waiting list for the Private offering. It’s nice that AWS is starting to let info trickle out. Coming on the heels of Google AppEngine announcement last week this might be a sign of things to come between the two. Competition is good. I still currently believe that both services have very defined pros and cons. Also, with Flex it’ll be easy to integrate the two and leverage both. It looks like Microsoft is once again contempt to sit on the sidelines and then copy everybody to jump in after it’s too late.

Oh and if you want to be a Data Service Manager: Amazon is hiring