Slides from My cf.Objective Session on Highly Available CF Apps

The organizers of this year's cf.Objective() had the brilliant idea of setting up a shared Dropbox folder for the slides, code, and supporting materials from all sessions at the conference. I've posted a PDF of my slides from my session, "Making Your ColdFusion Apps Highly Available," to this Dropbox folder. The PDF includes links to a lot of the tools, services, and articles that I referenced in my talk.

Thanks again to everyone who attended, and for the excellent questions and feedback I've received after the session.

Based on some of the questions I've received, I think I'm going to put in a conference proposal next year to talk about Amazon S3 and CloudFront, and how amazingly simple they are to use in ColdFusion!

My cf.Objective() 2013 Schedule

As a number of other folks in the CF community have been posting their cf.Objective() 2013 schedule, I thought I'd do the same — and promote my session in the process.

Thursday, May 16

10:10am: Learn You a What for a Great Good? Polyglot Lessons to Improve Your CFML!

Sean is an excellent speaker, and all-around smart guy. I know I need to learn more languages (my attempt at picking up Groovy went OK, and my attempts at learning Ruby stopped at Rails 101), so it feels like a good opportunity for motivation.

11:20am: The Art of JavaScript: Level Up Your Skills in 60 Minutes

I can always write better JavaScript. Always!

2:35pm: Nothing.

Why is that? Because I'll be preparing for my two hour deep-dive session which begins at 3:45pm.

3:45pm: Making Your ColdFusion Apps Highly Available

This is my session, and one I'm both excited and terrified to present. The topic is so deep and the complexities so great (especially when talking about building for the cloud) that, in the two hours allotted, I'm hoping to give a solid foundation for building a highly available CF application in a cluster and giving an overview of options for the rest. There won't be a lot of code, but there will be a lot of architecture!

Friday, May 17

9am: Building a Single Page App with AngularJS, Bootstrap, and CFML

I want to learn more about AngularJS. I love Bootstrap (it saves you so. Much. Time.) I prefer to use CFML on the backend in most cases, and Kurt is another super-smart guy and a personal friend.

11:20am: Nginx and CFML Apps

I've only ever used Apache and IIS as a front-end to my CFML apps. Nginx gets a ton of play in the Node.js world, and as I develop more there, expanding my knowledge about the server is a good thing.

2:35pm: Who let a bum into the kitchen? Using Vagrant and Chef to create development environments

Chef is becoming an almost required tool in cloud environments, particularly AWS. (Want to know why? Come to the second half of my deep dive on Thursday!) I'd love to see how to leverage it on the desktop and for testing.

3:45pm: Humongous MongoDB

MongoDB is probably the leading persistence engine for Node.js apps, and, thanks to Marc Escher, is easily accessible through CF. I look forward to hearing Sean's experience about deploying and running MongoDB in real production environments.

Saturday, May 18

9am: Grow a Backbone.js and drag your apps out of the past with JavaScript Templating

More JS, though I may head on over to Luis Majano's session on AOP, as I find ColdBox to be pretty impressive.

10:10am: It's either going to be "IIS 8 Troubleshooting Features for CF Admins" or "Railo 4.0 - Developing with Railo." We use IIS for deployment at my place of work, but haven't made the upgrade to IIS 8 yet, and Railo is a superior option for autoscaling deployments on AWS. (Want to know why? Come to the second half of my deep dive on Thursday!)

11:20am: Architecting ColdFusion Applications with AWS

In case you haven't noticed, this is a topic near and dear to my heart. Aaron has been working long and hard to deal with some of the issues with deploying CF10 on AWS.

1:45pm: REST APIs: Easier Than You Imagined

We need to build more REST-based APIs for our projects at work, and I've not been pleased with the REST implementation in CF10 (particularly with the administrative burdens it creates). I know Adam has a lot of experience in the area, and we're definitely considering a framework like Taffy or Relaxation for our work.

3pm: Metrics Driven Development

I'm bad on metrics and measurement. Well, not terrible bad, but not particularly good. I hope this session is the good, swift kick that I need.

I'm really looking forward to this year's conference. The content is always excellent, and I'm very proud that I've been asked to speak for a second year!

CloudFront URLs Do Not Include the S3 Bucket Name

This is probably obvious to anyone who has worked with Amazon CloudFront for some time, but I spent the last day or so banging my head against the proverbial wall when trying to make dynamic requests to the CloudFront CDN.

S3 is the origin service for my CloudFront distributions, and I could see the files sitting in S3. I could even request them directly from S3 using https. However, every time I tried to access the files via CloudFront, I received the following error:

{{{

NoSuchKey
The specified key does not exist. }}}

As it turns out (thanks to the ongoing genius that is Stack Overflow), CloudFront URLs must not include the S3 bucket name. This makes sense when you think about it because a CloudFront distribution gets its own domain name, and each CloudFront distribution points to a specific bucket in S3. The bucket name is already "included" in the distribution, so there's no point in including it in your object key/URL.

BlogCFC was created by Raymond Camden.

Creative Commons License
The content on http://www.iterateme.com/ is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.