Speaking as Part of the ColdFusion Summit 2016 Customer Showcase

This year's ColdFusion Summit features a new track of sessions focused on customer success/showcase stories, which I think is a great addition to the program. I've always enjoyed when technical conferences have real people come out and talk about how they solved problems with a specific technology — problems and all. I don't care a whit for sales sessions where a company says "Our product is *sooo* great, go buy it now, it'll solve all your problems!" I like hearing when a company says "We used X because it helped us solve this problem, here's how we did it, and here are some of the issues we ran into."

I'm pleased that I get to speak as part of this track.

My presentation is "Accessible Video Anywhere with ColdFusion and AWS." I've been speaking about ColdFusion and Amazon Web Services for a couple of years now, and I thought it was high time that I showed how we leverage multiple AWS services in our educational production workflow at Hopkins.

Here's the session description:

Developing and delivering tens of thousands of hours of video content every year isn't a simple task. You've got to encode for a variety of devices, and deliver the video as quickly as possible to consumers all over the globe. To add to the complexity of this work, laws around the world require that you caption every video to make it accessible to as many people as possible.

In this session, we'll look at how Johns Hopkins has built a custom video encoding, captioning, and delivery pipeline with ColdFusion as the controller tying together numerous different services -- most of which run in Amazon Web Services (AWS). We'll look at a whole host of technologies in AWS: Lambda for serverless computing, Elastic Transcoder for transcoding, DynamoDB for data storage, Simple Notification Service and Simple Email Service for process notification and delivery, and CloudFront for global content delivery. We'll also see how ColdFusion is the glue that holds the AWS, third-party captioning API, and content management systems together. You'll leave with a blueprint for building your own multi-service ColdFusion/AWS hybrid app, and learn how to avoid some of the pitfalls we encountered along the way.

The session is a lot less about code and much more about how you can put together a series of services to make an automated production pipeline with ColdFusion at the center. It's great to be talking about a project which made such a difference for me and my team, and I hope that you'll be there to hear all about it!

Slides and Code from My dev.Objective() Talk "Level Up Your Web Apps with Amazon Web Services"

I really enjoyed presenting at dev.Objective() again this year. In spite of a projector disaster at the beginning of the session, I thought the talk went surprisingly well. The audience asked a lot of great attendance, and I was thankful that so many people showed up and waited patiently for the projector issues to get resolved.

The slides from my presentation are attached in PDF format to this post. You can view the GitHub repo for the demo app that I was using as well. There's a full set of instructions for getting the demo app up and running in the repo.

Go play with AWS. I'm sure that there's at least one service (or more!) which will help you build better, more powerful web apps!

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

More Entries

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.