DEV Community

Play Button Pause Button
Andrew Brown 🇨🇦 for ExamPro

Posted on

The fast track to microservices on AWS

I have a bit of a backstory on this tech talk.

How did I get to speak at such an event?

I really wanted to speak at AWS Toronto Summit DevChat so when I heard from a friend I could submit a proposal for a tech talk that would then pass on my proposal to someone who then again would pass on my proposal to AWS for consideration I was quite excited 🤩.

I had proposed a talk on Security and while I was waiting to see whether I would be accepted, I was chatting with a Candian AWS Community Hero Mark Nunnikhoven seeing if he would be attending since I really enjoy his AWS related video content. Mark was not only coming but also presenting in the DevChat and I felt an immediate sense of dread 😨 because I knew my tech talk would never be accepted.

Why did I know? because Mark is known for security and I knew there was no room for two security tech talks in the Developers Lounge. Mark has amazing security content. It cannot be beat.

So instead of awaiting a response, I reached out on the status of my tech talk and it was indeed rejected.

Since AWS Toronto Summit was still shy of a week away I thought maybe I could still doing something about it. So through some sleuthing, I found out who organized the DevChat talks and begun my campaign into DevChat.

Using LinkedIn InMail and with 5 new proposals and some wordsmithing, I was able to persuade the powers that be to see if they could squeeze me in and it worked.

However, out of all of my proposals, my least favourite one was chosen. Microservices, yuk 🤮. Why did I suggest microservices? I just knew it was popular so if all my other tech talks failed this one would get accepted and I guessed right.

Here's the problem. I rarely work with microservices. I don't want to fake my talk so I had to create a microservice application backed by RDS which I then deployed to Elastic Beanstalk, to ECS, to Fargate, to EKS and Lambda. Lambda was tricky since you have to build the app differently since it's not running in a container.

I could have read the docs and slapped together a talk without ever deploying a microservice application. But the real value of talks are the hurdles you face in implementation because sometimes AWS marketing can over-promise the ease of use of some services or there is an important caveat you need to consider.

The Technical Issues

I came prepared with a backup computer and had my talk in Google Slides and PDF format. I wanted to also have it in PowerPoint but I couldn't get my trial to work on either of my macs.

So I showed up early to avoid any technical issues. The video tech was confident there would be no problems. Then comes my talk, there were problems. Neither of my macs would show a display. So 10mins in we're trying to get my talk onto a Thinkpad. The extra layer of security for my Gmail delayed things further as I dealt with MFA and manually typing out my long generated password from Dashlane.

I got through my talk with zero seconds to spare and everyone left immediately for the keynote.

The Reception

I was thinking my talk was too fast and too technical, but through the course of the event, 11 attendees found me because my tech talk addresses their pain point exactly to a T. So I self-conclude my talk was successful.

The Proposals

If you were wondering what my other teck talk proposals were:

Solutions Architect Associate Questions Follow Along

Think about becoming a Certified Solution Architect? For this session, we have prepared 5 practice exam questions. Together we’ll break them down and through the process of elimination determine the correct answer. We will also learn how to deal with verbose questions and how to cut down our comprehension time so we have more breathing room during the exam.

How to deploy Django to AWS Elastic Beanstalk and RDS

Provisioning a web-application on AWS involves multiple services and can be quite overwhelming. AWS Elastic Beanstalk allows you quickly and easily deploy web-apps by taking care of the underlying implementation of the services so you can worry less about infrastructure and focus on development. In this tech talk, we’ll go through the motions of deploying a Django web-app to Elastic Beanstalk backed by an RDS database. We’ll also talk about the services that are being provisioned for us so we can be on step closer setting up all the underlying services on our own.

The Fast Track to Microservices on AWS

AWS offers 4 ways to deploy microservices but which way is right for you? In this tech talk, we are going to compare Elastic Beanstalk, Elastic Container Service (ECS), Fargate and Managed Kubernetes Service (EKS). As a bonus, we’ll also talk about Lambda compares to Fargate. At the end of this tech talk, you’ll have zero uncertain on which microservice solution is right for you.

Moving Your Development Environments to AWS

Make your dev environments highly available by running in them in the cloud. In this tech talk, we are going to look at both how we can automate the provisioning of our development environments with either Cloud9 (Atom) or CodeServer (VSCode).

Considerations

The only thing I wish I spent more time on for my tech talk was pricing. I wanted to give a good idea of pricing across all 5 microservices but Lambda is too hard to compare and I made Lambda out to be very expensive which is not since no one would run consecutive Lambda one after another for a month straight at max GB.

Summit Recap

If you never have been to a summit and want to get my perceptive I wrote an LinkedIn article on my experience

Top comments (1)

Collapse
 
rolfstreefkerk profile image
Rolf Streefkerk • Edited

Lambda cold start are much quicker than Fargate. With Fargate it can easily take 10 seconds, depending on the container likely, for it be ready to execute.
Lambda is almost always sub 1 second

Probably worth noting that the /tmp folder for local storage has a maximum capacity of 512Mbytes. I've run into certain cases where this has become the bottleneck for using Lambda and I've had to use Fargate instead