Review: Stir Trek 2019
Stir Trek 2019 didn't disappoint with their sessions or the movie. In today's post, I review the conference and how awesome it was to attend.
Every year, around the end of April/beginning of May, the Stir Trek conference gives techies in the Columbus, OH area a collection of technical and softskill sessions to advance their career.
While the technical sessions are absolutely fantastic, they top the day off with a movie. It's usually a blockbuster movie to kick off the beginning of the new summer movie collection.
Think of it as "dinner and a movie," but breakfast, lunch, technical sessions...and a movie.
This year, as with each Marvel movie released, the coordinators and volunteers exceeded expectations yet again with this great one-day conference while showing the best movie ever: Avengers: Endgame ($1.22B global debut over the weekend).
There was a total of 48 sessions to attend ranging from technical and cloud/infrastructure to soft skills and security. It seems they've landed on a consistent venue for Stir Trek. This year (as well as last year), it was at the Easton AMC Theater.
I chatted with some people about why everyone seems to enjoy this location as opposed to previous years. They mentioned three reasons:
- Each theater (there are 30 of them) holds a technical session for a little over an hour...in VERY comfy chairs. ;-)
- The theater is on the upper level of the Easton Town Center making it completely isolated from people shopping on the lower level.
- Because it's a theater, NO ONE has a bad seat when a speaker is presenting.
The sessions were given by seasoned professionals in their field. The organizers made each presenter's slidedecks available on Github.com/StirTrek. If you missed the conference, the videos will be available on StirTrek's YouTube Channel by the end of May.
I attended the following sessions for the day and give my thoughts on each one.
Azure Durable Functions for Serverless .NET Orchestration
Chad Green / 8:30a
When Mr. Green presented Durable Functions, I was worried he wouldn't show any code. This was not the case.
He explained what Durable Functions should be:
- Single Responsibility
- Event-Driven and Scalable
He also presented the code for the .NET Orchestration and provided a number of "DO NOTs" or bad practices.
- DO NOT - Use current Date/Time
- DO NOT - Generate Random GUIDs
- DO NOT - Access Data Stores
While I'm waiting for his slidedeck to arrive on the GitHub StirTrek site, I'm looking over Azure Durable Functions to get a better feel for building Orchestrations.
His presentation was just the right amount of discussion mixed with code to make it one of the best sessions to start the morning.
Finding Patterns In the Cloud
Steve Smith / 9:45a
If you've been in the .NET industry for a while, you may have already heard of Steve Smith. His presentations are always entertaining and full of great material based on his experience.
He gave a brief (and humorous) history of the Internet (complete with screeching modem sounds) which led us up to professionals delivering Cloud-hosted web app challenges and considerations:
- Availability - How often is the service up or down?
- Data Management - Various options as opposed to the traditional-hosted, single database apps
- Design and Implementation - Factors to consider are: Maintenance ease, administration, development, diagnostics, and cost.
- Messaging - How do subsystems communicate?
- Management and Monitoring - No direct server access to PaaS Resources
- Performance and Scalability - How responsive is your site?
- Resiliency - Can the system gracefully recover from errors?
- Security - How secure is your site?
Once he covered these web application challenges, he started examining cloud patterns which are similar to application design patterns.
While I won't cover all of them (I leave that to the reader), I will mention two of the most common cloud patterns:
- Cache Aside Pattern - Uses two techniques:
- The Read strategy - Standard caching mechanism to not hit the database.
- The Write strategy - When writing something, you need to update your cache. This would invalidate an entry in the cache and write a new entry based on a unique key.
- Federated Sign-on - Used for a Single Sign-on (SSO) through an Identity Provider (Google, Facebook, LinkedIn, etc).
He covered close to ten cloud patterns to be used in modern web apps.
As always, his presentations are spot on and very informative.
He did post his slidedeck on GitHub.com/StirTrek so I would definitely recommend checking out his PDF as well as his YouTube video at the end of May.
Measure All The Things
Nicolas Martin / 11:00a
Back in 2015, I went to a precompiler at Codemash called "Landing on SOLID ground - Surviving on Mars Through Better Coding Practices" and was thoroughly impressed with the way SOLID was presented to the attendees.
Little did I know that four years later, I would be attending a presentation by the same guy who presented the SOLID session.
Nicolas Martin's presentation was geared towards applying specific metrics to a DevOps organization to determine the value of software pipelines.
His metrics for a successful DevOps practice included:
- Delivery Cycle Time
- Deployment Frequency
- Change Volume
- Mean Time to Recovery
- Failed Deployment Rate
- Feature Adoption
- Feature vs. Issue Investment
I feel these metrics presented by Nicolas gives an organization a solid understanding of how their DevOps is successfully implemented.
If other companies are using these metrics, It would be informative to find out what is considered "average" in the industry.
Nicolas's session was indeed helpful with his formulas. Each metric mentioned should be adopted in some way to gauge how DevOps is increasing the ROI of software in an organization.
Nicolas's presentation is also on the GitHub.com/stirtrek site.
Say What? Get better client feedback with these 3 easy steps
Rebecca R. Carter / 1:00p
As a developer, you always want some feedback on whether you wrote a good application or a great application.
This was why I wanted to find out more from Rebecca as to how to get better client feedback.
I tried to take notes as fast as possible, but there was so much great content, I couldn't keep up (I'm currently waiting for the slidedeck and/or video on YouTube). ;-)
Her presentation gave me some insight as to what I should focus on when asking for feedback.
I would recommend watching her presentation when it's released.
"Did you get my message?" - A comparison of several modern messaging platforms
Jack Bennett / 2:15p
When cloud platforms are involved, you need some type of messaging for sending data across the wire so it can queue it up for later.
Mr. Bennett compared the following messaging systems:
- Kafka - offers a persistent datastore and a clustering solution based on a "pub-sub" (publish-subscribe) architecture
- RabbitMQ - a message broker that implements the Advanced Message Queueing Protocol
- ZeroMQ - implements a brokerless architecture that provides a socket-like abstraction to enable a variety of possible message distribution patterns
He gave real-world examples as to how each one worked. Of course, he put in his presentation "it depends" on which one to use based on different requirements.
He mentioned his demos were on GitHub, but I'm at a loss as to where they're at.
Overall, I liked his presentation as well. This gave me a good lay-of-the-land as to how I want to proceed with my projects using various messaging systems.
Cypress: Where Automated Web UI Testing Isn’t Just for QA Anymore
Justin James / 3:30p
When developing web applications, you write unit tests, integration tests, and once in a while, GUI tests.
The GUI tests I wrote in the past were done with Selenium.
One of the projects where I work used Cypress for their UI testing. Once I saw how this worked, I was intrigued.
Hence the reason I wanted to go to this session.
Justin James gave an overview of Cypress, demonstrated how to install it, set it up on a server for CI/CD, and a sample run of how fast it is.
Of course, there were gotchas:
- Only runs in Google Chrome
- Behind a proxy causes issues
- Doesn't run in offline/airplane mode
As you can see, there are drawbacks to Cypress, but overall, I think these are pretty minor.
I really liked his presentation and he came prepared with videos just in case there wasn't WiFi.
StirTrek is always a great conference at a local venue (in Columbus, OH) for a low price, but this year, they raised it a little bit. It was still worth it.
Even though there isn't any WiFi available (Don't know why a movie theater wouldn't offer WiFi... o_O), everyone still brings their laptops and tablets...with chargers.
Breakfast and lunch was good and based on what I was hearing from everyone, they all had a great time.
Can't wait for next year to see how they top this year.
Did you go to StirTrek? What was your favorite session? Did you like Avengers: Endgame? Post your comments below and let's discuss.