Slides and Resources for My ColdFusion Summit 2015 Presentation on Using AWS Services from CF

This year's ColdFusion Summit had the biggest attendance of any ColdFusion Summit thus far, and was another good conference in a year of pretty darn good conferences. Although my session on using Amazon Web Services from ColdFusion was scheduled in the last slot of the last day, I had a great turnout with an enthusiastic response and some great questions.

Below are links to both my slides with and without presenter notes, and to the GitHub repo for the demonstration application that I used in the presentation:

The demo application shows you how to connect to the following Amazon Web Services from ColdFusion:

  • Simple Notification Service
  • Lambda
  • DynamoDB

The slide deck also talks about CloudFront, but there isn't any demo code for that. The repo for the CTL CloudFrontUtils package is publicly available, and should help you a lot if you need to sign CloudFront URLs in ColdFusion. We also have a similar package for signing requests to Simple Storage Service (S3) from ColdFusion, as you'll need that if you want to do change file names or set other attributes on the fly when working with S3 from ColdFusion.

The GitHub repo has pretty lengthy instructions on how to get it set up, and includes the list of resources you'll need to set up in AWS in order to get everything to work. It may seem like a lot of setup, but one glance at the code should show you how very simple it is to interact with Amazon Web Services from ColdFusion once you do have the basic resources in place.

Don't forget that there is also the AWS sub channel on the CFML Slack channel. I'm often there to answer questions and, if not, there are other knowledgeable CFMLers who current work with AWS who can answer questions as well.

Slides from My UBTech 2015 Presentation "From Shakespeare to Spielberg"

Attached to this post are my slides for the presentation I gave at UBTech 2015 today: "From Shakespeare to Spielberg: Designing for the YouTube Generation When Flipping the Classroom."

This presentation, like so many others that I've given, was the culmination of a lot of hard work and a lot of good learning in the process. I posted this on Twitter the other day, and I think it's a deep truth about lifelong learning:

I really like presenting at UBTech. I always learn a lot about current best practices and lessons learned in higher education at the conference itself, and I learn a lot getting ready to present.

If you're interested in me giving this talk at your institution, please let me know!

Slides from My dev.Objective() 2015 Presentation "Node Without Servers: AWS Lambda"

First let me thank everyone who came to my session at dev.Objective() on "Node without Servers: Event-Driven Computing with AWS Lambda." A lot of really great questions were asked and I had (another) great experience presenting at the conference.

Attached to this post is a PDF of my slides from the presentation. The code shown in the presentation is also available from my GitHub account.

After the presentation, I came across two blog posts of interest:

The first shows how to set up Lambda as a core service in the auditing of activities in AWS. I mentioned how you could use Lambda as an auditing service for S3 during my presentation. This example gives you a complete walk-through on how to do just that.

The second shows how to use Lambda to respond to actions in a GitHub repo. I had briefly mentioned this example during the presentation, so I thought I'd include it here!

Looking for Feedback on a Presentation Idea for CFSummit 2015

I plan on putting in a speaking proposal for the 2015 Adobe ColdFusion Summit. I enjoy the conference a lot, and was privileged to have spoken at the first two Summits.

For the first two Summits, I spoke about running ColdFusion on AWS (Amazon Web Services), and, to some degree, integrating AWS into CF, primarily focusing on Adobe's out-of-the-box integration with AWS S3 (Simple Storage Service). I'm a big fan of AWS, and am not shy about talking about how useful I find AWS to be for me and my team.

Looking forward to submitting a topic proposal this year, I'm thinking of going beyond relatively simple S3 integration in Adobe ColdFusion and looking at how you can integrate other AWS services in your ColdFusion apps. Specifically, I'm thinking about:

There are a lot more services within AWS, but these are the ones which my team uses to build ColdFusion applications. I'll probably talk a bit about how the AWS Command Line Interface (CLI) makes it easy to tap into any AWS service too and how simple it is to execute AWS CLI commands using <cfexecute>.

The question for you is: are there specific services you'd like to see me focus on? Are there services not listed above which you think have general interest to the CFSummit audience? Please let me know!

Speaking on AWS Lambda at dev.Objective() and, Hey, the Service Just Changed

I'm very lucky to be speaking at dev.Objective() again this year. It's an awesome conference, especially as it has evolved from cf.Objective() into something more broadly appealing to Web application development professionals while still retaining a lot of its ColdFusion roots.

This year, my talk is "Node Without Servers: Event-Driven Computing with AWS Lambda." AWS Lambda is a different way of looking at running "server"-side code: you run code, but you don't run servers. You're not really running web applications as well. You're only running a single function at a time (although that function is more like a main() in Java or C or Go). Even more interestingly, these functions respond to events from other systems, not a request from a Web browser.

The specific topics I plan on covering in this session are:

  1. How Lambda works and what makes it different from traditional Node hosting
  2. How Lambda listens to events from services like Amazon S3
  3. Building functions which respond to your own custom events
  4. Using languages other than Node in Lambda
  5. Best practices for using Lambda in your Web application stack

I've been working on this presentation a lot in the past few months, and then something fun happened last Thursday (April 9): Lambda left preview status and is now a full production service at AWS. That's awesome. They made a bunch of very nice improvements to the service (like the addition of SNS messages as an event source for invoking Lambda functions). They even changed some of the basic workflow to make life simpler for developers — except that they completely changed the way custom events work.

This has led to some scrambling on my part to get a revised presentation done by the dev.Objective() steering committee deadlines, but I feel like I have to show how things are done now and not rely on tested code which uses methods that were completely deprecated of last Thursday.

This is one of the fun challenges as a developer both using and presenting on services and technologies which are still in "preview" or otherwise under active development in a less than 1.0 release branch. Node itself still isn't at 1.0 (far from it!) but the development team has made a concerted effort not to make breaking changes with each release. There may be some small breaking changes with each release (and, more rarely, large ones), but that's the price you pay for working with newer technologies. Delivering increased customer value and developer happiness is half the reason you have a preview period for your new technology or service, and for those of us willing to make the leap into using services during preview, it's a simple fact we have to weigh in making our technology choice decisions.

A Couple of Topic Ideas for dev.Objective()

cf.Objective() has long been a great ColdFusion conference, and one of my personal favorite speaking engagements. The organizers of cf.Objective() changed the conference name to dev.Objective() this year to better match the nature of talks given at the conference and to target a wider audience for the great content presented there.

The call for speakers for dev.Objective() is currently open, and I'm putting in a couple of topic proposals this year. I normally only put in a single, CFML-related topic proposal for the conference, but given the expanded nature of the conference, I thought it would be cool to talk about some of the non-ColdFusion work I'm involved in.

First up, I'm always happy to talk about Amazon Web Services and how ColdFusion fits in with the pretty awesome power of AWS. So my first proposed topic will be an update to my talk on using CF and AWS: "Unlock the Power of Amazon Web Services in Your ColdFusion Apps." There is so much to cover in this topic. From automatic integration with Amazon S3, to using the official ColdFusion AMI in AWS, to the myriad other AWS services that you can use with CF, there's a ton of opportunities for mixing CF and AWS.

The second proposal is about something new to both AWS and to me: AWS Lambda. It's a different way of looking at running "server"-side code: you run code, but you don't run servers. You're not really running web applications as well. You're only running a single function at a time (although that function is more like a main() in Java or C or Go). Even more interestingly, these functions respond to events from other systems, not a request from a Web browser.

The full topic proposal is below, and if you have any feedback about it, I'd love to hear it!

Node Without Servers: Event-Driven Computing with AWS Lambda

All the buzz in modern Web development seems to be about the client side, yet many tasks still require servers and server infrastructure. Many people use Node.js for their server-side code, but this still requires setting up and maintaining servers. What if you could run your JavaScript in the cloud, utilizing the full range of packages available to Node.js, without running any servers at all? What if your cloud-based code could automatically respond to events that happen in other services and entirely separate systems? In this session, we'll take a look at how you can use Lambda, a new part of Amazon Web Services (AWS), to run your Node.js code in an on-demand, event-driven fashion. In this session, you'll learn:

  1. How Lambda works and what makes it different from traditional Node hosting
  2. How Lambda listens to events from services like Amazon S3
  3. Building functions which respond to your own custom events
  4. Using languages other than Node in Lambda
  5. The trade offs between running your own Node-based infrastructure and using Lambda

Slides from My Adobe CF Summit Presentation on ColdFusion and Amazon Web Services

Thanks to everyone who turned out for my presentation on using Amazon Web Services in ColdFusion 11 at the Adobe CF Summit in Las Vegas. Attached to this post are my slides.

If you have any questions about using AWS (with or without ColdFusion), feel free to get in touch with me and I'm happy to share what I know!

Speaking About Amazon Web Services and ColdFusion 11 at Adobe ColdFusion Summit 2014!

This year's Adobe ColdFusion Summit is only two weeks away (yikes!) and I have been given the great opportunity to speak at the Summit again this year. Last year's inaugural summit was a really impressive event that was fully sold-out. I speak at my fair share of conferences, and while I do appreciate the four, five, or seven track variety of conferences, what I really liked about the CF Summit was that there were only two tracks. A lack of choices can sometimes turn into a great opportunity to learn about something you didn't think you'd be interested in learning, or an opportunity to dive deeper into something with which you're already familiar. I also liked that every session was really about "ColdFusion and...," giving you lots of opportunities to see how ColdFusion works so well with so many technologies. This year there are three tracks (choices!) and the same focus on "ColdFusion and..." in every conference session.

This year, I am again talking about Amazon Web Services and ColdFusion 11. I love talking about this stuff (I think AWS is all kinds of awesome), and if you haven't tried tapping into some of the incredible power of AWS, this session is definitely for you.

If you can't make the Summit this year, there is a recording of an earlier version of this presentation that I gave at NCDevCon. There's more that I can share at the Summit but this will give you most of what I'll be covering.

Slides and Recording from My NCDevCon 2014 Presentation on AWS and ColdFusion

Another great NCDevCon happened this weekend in Raleigh. I really enjoy this conference — it's incredibly well-run — and look forward to returning next year.

Thank you again to everyone who attended my session and for all the great questions during the session. Here are the resources from my presentation "Start Using Amazon Web Services in Your ColdFusion Apps:"

It looks like the first minute of the recording of my presentation was cut off. I started at 10am according to my clock, but the MediaSite installation at the College of Textiles (which otherwise worked flawlessly), was a minute behind the rest of the world. You didn't miss anything important, I promise!

Speaking at NCDevCon 2014, and Why NCDevCon Rocks

I'm really honored to be speaking at this year's NCDevCon. This will be my fourth year in a row as a speaker at the conference, and I'm excited to be returning to Raleigh for what I expect to be another great conference.

Why do I love NCDevCon?

  • It's cheap. For the quality, variety, and number of sessions, this conference is a steal. Equivalent conferences held elsewhere in the U.S. that don't have quite the same regional flair usually run upwards of $800 for registration. NCDevCon has always been incredibly affordable.
  • The speakers are great. The NCDevCon team puts a lot of effort into recruiting well-established speakers and finding new ones, especially new speakers from the Raleigh/North Carolina area. Fresh voices are always welcome, and they mix well with the established speakers who you see headlining conferences elsewhere.
  • There's a good mix of Web technologies covered. While NCDevCon used to be heavily focused on ColdFusion development — and there's still a track dedicated to ColdFusion — the conference over the past few years has swayed towards the front-end and mobile. This has brought in new opportunities for learning, especially for ColdFusion developers who don't see new versions of our main application server runtime for 12-18 months at a time.
  • It's small(ish). Given that there are 300 tickets for the conference, you can actually meet people, talk to speakers, and make new friends. You don't feel like you're lost in a sea of 2000 guys from Oracle and IBM (not that there's anything wrong with working for Oracle or IBM).
  • Raleigh (and the surrounding area) has great food. I'm a foodie. There's lots of good stuff to be had in Raleigh, and in nearby Chapel Hill. I make an annual pilgrimage to Allen and Son BBQ outside Chapel Hill, but that's because I'm a sucker for awesome Carolina BBQ.

So now that you know why I love NCDevCon, I figure I should talk about what I'm going to talk about!

"Start Using Amazon Web Services in Your ColdFusion Apps"

Amazon Web Services provide a wide array of highly scalable tools which solve common problems in modern Web application development. ColdFusion fits right into the AWS ecosystem, and this session will show you just how easy it is to start using AWS in your ColdFusion applications. We'll look at:

  • Cheap, fast, and easy content storage thanks to ColdFusion's integration with AWS Simple Storage Service (S3)
  • Creating ColdFusion servers in AWS using the official Adobe ColdFusion Amazon Machine Image
  • Plug-in points for other AWS services in your ColdFusion applications
  • A reference architecture for running scalable ColdFusion applications in AWS
  • Some hard-earned lessons about running Web apps in AWS

AWS is a huge topic (Amazon has their own 5-day conference with over 150 sessions dedicated solely to AWS), so this is a lot to cover. I'll be employing my usual, "firehose" presentation style, but if you want to get up to speed quickly with what AWS can offer your ColdFusion application (or, honestly, web application development in general), you should get a lot out of this session.

I hope to see you there!

More Entries

BlogCFC was created by Raymond Camden.

Creative Commons License
The content on is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.