Brian Klaas talks about “Level Up Your ColdFusion Web Apps With Amazon Web Services” in this episode of ColdFusion Alive podcast with host Michaela Light.
Amazon Web Services (AWS) is well known to developers for providing a vast army of on-demand servers on which you can run anything, including CFML or Node.js. AWS offers a whole lot more than servers in the cloud, though. AWS is comprised of over 40 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. This talk will show you how to tap in to the power of multiple AWS services from your CFML code, and mix in some Node.js goodness along the way.
Show notes
Get super fast, infinitely scalable file storage with Amazon Simple Storage Service (S3)
Invoke on-demand Node.js microservices through AWS Lambda
Tap into AI to manage and search images with Reflektor
Utilize a high-throughput NoSQL datastore with DynamoDB
Plan for common problems when dealing with cloud service providers
What are Amazon Web Services and why should CFers care?
It is far more than just EC2
AWS is comprised of over 40 services which enable powerful Web/mobile application functionality
What exactly is S3 storage?
Get super fast, cheap, infinitely scalable file storage
Replicated over multiple data centers around the world
ACF and Lucee both support S3 storage
Storing log files, images, videos, user docs
Athena for text file search
Life cycle policies - if files not used in over N months move to slow storage (Amazon Glacier).
How to tap into AI to manage and search images with Reflektor
Amazon Rekognition - image recognition for faces, auto tagging, matching confidence score
Poly text to speech
Lex natural language process
The great S3 outage of 2017
loss/downtime risk vs cost of home building or duplication at other cloud services
Amazon eats their own dog food (AWS including S3) ⇒ they are highly motivated to have super high up time.
How you can Invoke on-demand Node.js micro services from ColdFusion through AWS Lambda
Lambda Run in Docker containers but without you have to provision them or the servers underneath them
AWS Lambda automatically scales your application by running code in response to each trigger. Your code runs in parallel and processes each trigger individually, scaling precisely with the size of the workload.
With AWS Lambda, you are charged for every 100ms your code executes and the number of times your code is triggered. You don't pay anything when your code isn't running.
Utilize a high-throughput NoSQL datastore with DynamoDB
Amazon DynamoDB is a fast and flexible NoSQL database service for all applications that need consistent, single-digit millisecond latency at any scale. It is a fully managed cloud database and supports both document and key-value store models.
Geo distributed data for speed and increased reliability
Avoiding common problems when dealing with cloud service providers
Vendor lock in
Fall back code when your provider fails
Friendly service degrading - only certain functionality stops works
Cached data
Getting started
It is easier than you might think
SDK are easy (even though originally written for Java)
CFDUMP is your friend
AWS blog and stack over examples
Why are you proud to use CF?
Productive fast
Easy to combine with other languages and SDKs
Be a polyglot programmer!
WWIT for you to make CF more alive this year?
More people highlighting the cool projects they have created in CFML
What is possible with modern CF
Better official tooling support
Fast CF server spin up
What are you looking forward to at CFObjective?