Welcome to 'This is My Architecture'. I am Gerardo and I'm joined today by Gerald
from American Family Group. Welcome Gerald. - Thank you for having me sir. - So Gerald, what is American Family Group?
American Family Group is a parent company of several insurance companies
one of which is Main Street America. I work for American Family group and the architecture that
we're talking about is for Main Street America. It's for independent agents. - Okay great so
I hear that you are in the middle of migration and transformation of a legacy application and
it's happening as we speak? - Yes we're modernizing this application as we speak. - That's good, can you
run it through some of the components and what you've modernized so far?
Sure, as I go through I'll talk about which ones. Well the agents come in and they request the
single page application we've modernized that it used to be on an Apache now it's served up
from an S3 bucket through CloudFront to the application. Then, when they're
making calls to the back end they come into.. it used to be on some load balanced, on-prem
Tomcat servers running JavaScript. Now they come into an API Gateway. The first
thing that API Gateway uses is a modern Lambda authorizer to validate that they do have access.
Then it makes the calls to this Lambda here which is a serverless Python Lambda so it can scale
up and down easily. That particular Lambda then decides we've modernized by moving in some of the
functions into the Lambdas in the serverless stack, but we still haven't moved the
whole application. So for some things it calls up to here who calls back down there. - Okay so some of
the functionality is still sitting in the Tomcat application? - Yes it is sir.
Can you give me some examples of the functionality that's still there and what's what's been moved to the serverless world?
Well some things like how user management are still there because we haven't had to move it yet.
When we're moving stuff is when needed as a new feature change - okay so anything new is being
implemented in the serverless stack, if there's enhancement significant enhancements to a function -
they're also being then migrated and moved into a more modern serverless Python stack, and lastly of
course the dreaded bugs - if this is a significant bug not a one line or two line but something
significant that piece of code is modernized. So we're slowly strangling this Tomcat.
Oh that's awesome, so out of these components we still need to talk about this, so what's this DynamoDB table?
The DynamoDB is used for the storing and caching the user information. So when a user comes
in we cache it and we do it in a DynamoDB for a couple reasons. One the Lambda you can hit another
instance of the Lambda next time you make an API call, so we can't cash it on the machine there. This
DynamoDB is a regional one so everything in the region. So one of these Lambdas is running in
Availability Zone A and others in B, they can both access that cache of information. Then lastly of course, if
I know it doesn't ever happen but if Availability Zone A would go down then you know the ones
running in B can access it without a pause. - Yeah that makes sense, that makes sense. So have you
started realizing some of the benefits of the modernization that you're going through?
Actually we have, first off we've been able to shut down 25 on-prem servers. We've also seen
our user satisfaction increase by 25% of what it used to be, and because of that user
satisfaction the agents are excited about this and they will talk to their fellow agents saying
"you know you got to go give the application a new chance". So we've actually seen 10% new users
coming in which is selling more policies for us and lastly of course using Lambda's and all are
much cheaper than running a bunch of on-prem servers. - Thank you so much for sharing this
great modernization story with us. - Thank you for having me and allowing me to present it.
And thank you for watching 'This is My Architecture', see you next time.