All of our content
Here at Symphonia we’re glad that we’re able to put a lot of articles, videos, and code online. After all, our mission is not just to work with our clients, but to also help advance our industry.
This page is a comprehensive list of what we’ve put online related to our business. Where the content is not free we mark it explicitly, but otherwise you’re free to use and share this content. We will update this page as we create new content.
We hope these articles, videos, and more, are valuable to you. If you have any questions or comments please drop us a line at johnandmike@symphonia.io .
Introductory material
This is ‘100 level’ content where we introduce Serverless and other related topics.
Written
- Serverless Architectures : Mike’s article on Martin Fowler’s website — the most widely read introduction to Serverless. Definitions, benefits, limitations. Read details of the 2018 update to this article here.
- What is Serverless? Our report with O’Reilly — John and Mike’s combined take on what this all means.
- Defining Serverless (Parts 1, 2, 3, 4, 5) — drilling into the five common traits of Serverless services that we laid out in the What is Serverless? report.
- A Serverless path to abstraction Nirvana — More thoughts around the lack of resource planning required when using Serverless technologies.
Video
- Introduction to Serverless Architectures : Mike’s done this talk a few times, including at Philly ETE in April 2017, and at the NY Java SIG a couple of months before. Mike also gave a shorter, keynote version, of this talk at the 2017 O’Reilly NYC Software Architecture Conference (paid content.)
Starter Technical
Here we get you up to speed with some particular technical aspects, like AWS Lambda.
Written
- Learning Lambda — Our extensive tutorial series about engineering using AWS Lambda.
- Amazon Lambda — your next Java deployment platform? — A quick intro to Serverless in general, and then some discussion about how well the JVM fits with AWS Lambda. Published with No Fluff Just Stuff magazine.
Video
- AWS Lambda: Developing Serverless Applications with Java — A complete online training course. Available as part of your O’Reilly Safari subscription here, or directly on Pearson informIT here.
More than 3.5 hours of practical video instruction on AWS Lambda, the aim throughout this course is not to give you just cookie cutter examples but instead to give you a thorough understanding of the Lambda platform and programming model, so you’ll have confidence building your own Serverless applications. (paid content) - Java + AWS Lambda — John gave this talk introducing these topics at the NY Java SIG in early 2017.
- Fearless JVM Lambdas — Think the JVM and AWS Lambda is a terrible combination? Don’t worry — it’s not nearly as bad as you think. And often times they’re a wonderful match! This is John’s talk from Clojure/West in early 2017.
Technical Deep-Dives
In these topics we drill intro the nitty-gritty of certain tools and technologies, using our decades of experience to go beyond the documentation.
- Examining the Serverless Application Repository — An analysis / loving critique of Amazon’s Serverless App catalogue.
- Lambda Reserved Concurrency — A quiet but very important update from re:Invent 2017.
- Serverless at re:Invent 2017 — A report on the exciting announcements from AWS’ yearly launch-fest, as well as some of the surprising things that didn’t get updated
- A Love Letter to Lambda Logging — Digging into logging for Java AWS Lambda functions, using our own open source library
- The Danger in the Details — Scalable Cloudwatch Metrics for AWS Lambda — Following up from the previous article, this one digs into metrics for Java AWS Lambda functions
- The Occasional Chaos of AWS Lambda Runtime Performance — an in-depth analysis. We looked at this again a few months later in Revisiting AWS Lambda Runtime Performance.
- How to increase the speed of your AWS Lambda continuous deployment builds — Parallelize your Maven builds, make them reproducible, and crank the volume to 11 using Docker for dependency resolution. Published with A Cloud Guru.
Architecture
How do we combine Serverless, and traditional, technologies together to create great applications? There’s not enough knowledge in our industry to give a thorough answer to this question yet, but we can start, and here are some of our thoughts on the matter.
- Serverless Architecture Patterns: The Awkward Early Years — Learn some patterns, or “common solutions to recurring problems,” that we’re starting to see in the Serverless community — from architecture, through development, to operations.
- Building Resilient Serverless Systems — Learn how to use serverless technologies and an infrastructure-as-code approach to architect, build, and operate large-scale systems that are resilient to vendor failures, even while taking advantage of fully managed vendor services and platforms.
- Crossing the Serverless Fireswamp — understand the limitations of a serverless approach, and learn a practical set of techniques for dealing with them.
- Using serverless architectures to build applications with AWS and Java — architecting asynchronous message and file processing using these technologies.
- On Serverless, Multi-Cloud, and Vendor Lock In — Use one vendor to the fullest, or put your eggs in several baskets?
- Serverless ‘Glue’ apps in AWS, and sending Slack notifications for Code Pipeline Events — How to build small connector apps between different services, using AWS Code Pipeline notifications, published to Slack, as an example
Organizational Impact
To use Serverless, and the cloud, effectively you need to think about more than just technology. Here we address areas like DevOps, agile practices, and more, to help you best adjust your organization’s structure and processes to make the most out of these new technical opportunities.
Written
- The Future of Serverless Compute — We stared into our crystal ball at the beginning of 2017 to imagine where Serverless could be headed, including what effects it may have on companies.
- Agile Won — How agile methodologies, and the cloud, have combined to revolutionize our industry, especially in massive companies like Comcast.
Video
- Continuous Experimentation — The combination of Serverless, Modern Agile, and DevOps has the power to redefine how we approach product delivery. There are a couple of versions of this talk, one from Goto Chicago, and a slightly shorter one for a more Serverless-savvy crowd at Serverless Conf Austin.
Newsletters
We produce a regular newsletter, Symphonia’s Serverless Insights, which you can sign up for here. Back-issues are listed below.
- December 2018
- November 2018
- June 2018
- March 2018
- December 2017
- November 2017
- October 2017
- August 2017
- June 2017
- April 2017
- February 2017
Podcasts & Interviews
We love discussing all of this stuff with friends and colleagues, and we’ve been honored to have been invited to speak on a lot of podcasts & in interviews, as follows.
- With Jeff Bleiel at the O’Reilly Programming Podcast, August 2017
- With Chris Presley of Pythian, July 2017
- With Stuart Sierra of Cognitect, June 2017
- With Paul Duvall and Brian Jakovich of Stelligent, June 2017
- With Benjamin Ball at The New Stack, June 2017
- With David Linthicum of Cloud Technology Partners, June 2017
- With Debbie Madden, CEO of Stride, Jan 2017
- With Mac Slocum of O’Reilly, late 2016
- With ‘Software Engineering Daily’, August 2016
Open Source
From our Github:
- lambda-monitoring — A collection of logging and metrics libraries for Java / JVM AWS Lambdas.
- Faster Continuous Deployment — Speedy Continuous Deployment pipelines for Serverless Java AWS apps, using CodePipeline / CodeBuild
- jvm-perftest-lambda — Performance Test for AWS Lambda’s JVM runtime
- serverless-scripts — Useful scripts for working with AWS Serverless Services
- Code Pipeline Slack Notifier — 1 small Lambda function, and a short SAM file, = CodePipeline ❤️ Slack . Even easier using the Serverless Application Repo.