Back to dev.Objective to Talk About Leveling Up Your Web Apps with AWS

I'm a lucky developer and educator. Each year, I'm invited to speak at a number of web development, CFML, and educational conferences. I'm making my fifth speaking appearance at dev.Objective() this year, and I can't wait to get back to Minneapolis. I love the town, and, more importantly, I love the conference. I'm always challenged by what I learn there and find myself sitting in session after session thinking "Yes! We should totally do this!"

I hope that people will feel the same way about my presentation at this year's dev.Objective(): "Level Up Your Web Apps With Amazon Web Services."

Amazon Web Services (AWS) is pretty awesome. I'm not shy about saying that (repeatedly). Most developers know about AWS because it provides a vast army of on-demand servers on which you can run anything, including Node.js, PHP, or ColdFusion. AWS offers a whole lot more than servers in the cloud, though. AWS is comprised of over 30 services which enable powerful Web/mobile application functionality and you can tap into nearly all of them using your favorite programming language. With only a few lines of code, you get powerful, hugely scalable functionality that would otherwise be near-impossible to build yourself.

I'll be showing off a number of these services — CloudFront, SNS, Lambda, DynamoDB, and a little bit of S3 — and while my demo code is fairly CFML-centric (I build new tools with CFML every day), there will be examples in Node.js and Python as well. AWS is language-agnostic (as long as your language can speak HTTP/S), and dev.Objective() is pretty polyglot, so it's good to show examples in multiple languages!

In case you haven't registered for the conference, dev.Objective() has extended their $899 price through May 24, 2016. It's worth every penny.

I'm Speaking at the Adobe ColdFusion Government Summit on March 9

In addition to the ColdFusion Summit in Las Vegas, Adobe has this year decided to hold a one-day, government (well, DC-area) specific conference. The Adobe ColdFusion Government Summit is on March 9, 2016 in Washington, DC. I'm one of three non-Adobe employees who has been asked to speak at the conference, so I'm both excited and thankful to the Adobe ColdFusion team for the opportunity.

I'll be speaking about caching in ColdFusion along with performance enhancements made around caching (specifically, using Redis as a session storage cache) in Adobe ColdFusion 2016, the forthcoming release of the product. I've spoken about the crazy simple, crazy powerful caching tools in ColdFusion in the past, so I hope to show attendees how simple it is to vastly speed up performance in ColdFusion apps by using simple caching techniques.

If your'e in the DC/NoVA/Maryland area, the event is free and open to anyone, not just government employees. Space is limited to 50 people, so if you haven't yet registered, now is definitely the time to do so!

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.

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.