Building Smart Deployment Pipelines with Lambda and Codebuild on AWS

Jack Warner
Principal, New York Office

Video originally published on Amazon Web Services YouTube

Abby: Hello, and welcome to "This is My Architecture." I'm Abby. I'm here with Jack from Pariveda and Shane from GameStop. Thank you guys, both, for joining me.

Shane: You're welcome.

Abby: First off, Jack, tell us a little bit about Pariveda.

Jack: Pariveda is an IT and management consulting firm.

Abby: Cool. And Shane, tell us, for those of us who don't know, tell us about GameStop.

Shane: We sell video games.

Abby: So a lot of us have probably been in a GameStop. I know I have. So I'm looking at the diagram behind me, and this is maybe the coolest architecture diagram I've seen in a while. Tell me a little bit about why you built this MotherHen pipeline.

Jack: Yeah, well, so Shane...if you've ever got a digital receipt when you went to that GameStop, Shane built that. And he built it way faster and way cheaper than most projects, whoever done it at GameStop. It was enabled by Lambda. So Pariveda came in to work together, partner with GameStop, and find a way to do this at enterprise scale.

Abby: That's awesome. So can you walk me through a little bit about what we're doing in this diagram, so what exactly our pipelines are doing.

Shane: Sure. So what we have here is a pipeline that deploys pipelines that deploy applications. We talk about levels of inception when we worked on this thing. So MotherHen is a code pipeline, so her first step is obviously from GitHub and all of the Egg pipelines, all the Child pipelines are defined in a single GitHub repository.

So her Build step is a Codebuild step that has some script that runs and iterates through that list of Serverless Framework definitions, Serverless EML files and goes...and deploys each of those pipelines, any time there's an update, to that repository

So we have two pre-defined pipelines and two pre-defined application frameworks that we can use. One is npm and the other one a Serverless Lambda API gateway. So each of these... This one is actually pretty simple. It deploys to npm once it passes all of its unit tests. This one is a little more complex. It has, I think, five steps, three of them are Codebuild steps, but it starts off, you know, you get your code, and then the next thing you do is run your unit tests, do your linting, then we run an integration test where we actually deploy the API, run tests against it, if everything is green, we tear it down, and then deploy it for reals.

Abby: Cool. So it sounds like, from a developer perspective, everything is kind of templated and pipelined out. So, I can run my commands locally and MotherHen kind of takes over the process.

Shane: Absolutely. Our goal as an architecture group is to enable our developers to get their work done quickly and efficiently, produce value as fast as possible. What we really want them to be able to do is the right thing by default. That's kind of our mantra. We want them to do the right thing by default. It makes life for everyone easier. It makes them go really fast.

Abby: So that's a good mantra, I think, for everyone to live by, right, is "right by default." So kind of set everything up to empower people to do it the right way, and then you can build on top of that. And is that maybe why...what drove your architecture choices also? So why you did this templating of pipeline system?

Jack: That's right. A lot of organizations, GameStop included, AWS is new, there's a lot to learn. So those outer shells of the Egg encompass things like logging and IM security policies that can be complex to manage and easy to make a mistake. This way, it's all templated out and we don't have to worry about mistakes.

Abby: That's very cool. I mean, I used to be a developer, and I would have loved to work with something like this, where everything was kind of templated and pipelined, and I could just focus on writing a cool application and less about, "Well, how do I deploy that and how do I make sure it's secure by default?"

So my final question, what's next for MotherHen?

Shane: Well, one of the things that our group are working on right now and has just completed, as a matter of fact, is that MotherHen can now deploy updates to herself. One more level of inception to worry about.

Abby: That is cool and also terrifying. Jack, Shane, thank you both so much for joining me. It has been Egg-cellent. And thank you for watching "This is My Architecture."

 

Jack Warner

About the Author

Jack Warner has a breadth of experience across technology consulting, non-profit, and startup environments. From custom dev to cloud architecture, Mr. Warner dives deep to understand, apply, and leverage advances in software development and cloud technology to the benefit of organizations spanning a range of industries. 

More Perspectives

Perspective
by Bruce Ballengee
Teaching Roots Run Deep
Perspective
by Kent Norman and Kevin Moormann
I’ll be Home in Five Story-points
Perspective
By Russell Clarkson
Is your Ecosystem a pipeline or a platform?
Perspective
by Dimitrios Vilaetis
Business Capabilities: a Spotlight for Strategic Decision Making
Perspective
by Russell Clarkson
Mark Your Exits
Perspective
by Bruce Ballengee
Leadership and Company Culture
Perspective
by Kerry Stover
I Know You Believe You Understood What You Think I Said
Perspective
by Brian Duperrouzel
How to Handle Management Kidnapping
Perspective
By Russell Clarkson
What Chuck Yeager Taught Me About Disruption
Perspective
by Brian Duperrouzel
Lessons on Project and Team Management
Perspective
by Bruce Ballengee
Consulting that Focuses on the Individual
Perspective
By Bruce Ballengee
Developing the Individual
Perspective
by Lori Dipprey
Why Performance Reviews are Here to Stay at Pariveda
Perspective
By Nathan Hanks
What it Means to be "in the People Business"
Perspective
By Bruce Ballengee
Pariveda Fin-Centric Design
Perspective
By Bruce Ballengee
Unleashing the Power of Humility
Perspective
By Mike Strange
4 Reasons to Leverage the Power of Small Teams
Perspective
By David Watson
The Benefits of Working in Teams
Perspective
by Sean McCall
Forget Coffee- Energize Your Work Morning
Perspective
By Allison Esenkova
Wearing Heels to the Top
Perspective
by David Watson
Work-Life Balance
Perspective
by Allison Esenkova
Listen to the Still Small Voice
Perspective
By Kerry Stover
Must Read Books from the COO
Perspective
By Russell Clarkson
Why You Should take a Massive Open Online Course
Perspective
By Scott Hajer
The Importance of Making Space to Think
Perspective
by Sean McCall
4 Ways Sports Can Benefit Careers
Perspective
By Russell Clarkson
Stand Up for Good Presentations
Perspective
by Derrick Bowen
How Much of your Project Value is At Risk Due to Cognitive Bias
Perspective
by Susan Paul
Capabilities as Building Blocks
Perspective
By Susan Paul
When Corporate Culture Undermines IT Success
Perspective
by Kent Norman
Limit, to Win It
Perspective
By Brian Duperrouzel
The Case for Onshore Technology Teams
Perspective
By Tim Hurst
Unlocking Marketing ROI Analytics
Perspective
by Brian Duperrouzel
Hippos and Cows are Stopping Your Machine Learning Projects
Perspective
By Jack Warner
Building Smart Deployment Pipeline
Perspective
By Tom Cunningham
The Sound of the Future
Perspective
By Scott Hajer
You Need Only One Kind of Recruiting Technology
Point of View
by Ansley Galjour
Continuous Brand Engagement
Perspective
By Marc Helberg
3 Ways You Can Begin to Take Patient Experience More Seriously
Perspective
By Ryan Gross
What Does It Really Mean to Operationalize a Predictive Model
Perspective
by Sophie Zugnoni
Did You Catch Machine Learning Fever?
Perspective
By Collins DeLoach
What does Cloud Transformation mean it IT?
Perspective
By Mike Strange
Untangling and Understanding DevOps
Perspective
by Clayton Rothschild
Blockchain in an Enterprise Setting
Perspective
by Mike Strange
DevOps a Practical Framework for Technology Process and Organizational Change
Perspective
by Julio Santos - Finity Member
Context as Currency
Perspective
by Oussama Housini
Why DevOps?
Perspective
by Dave Winterhalter
Data in the Dugout
Perspective
by Brian Duperrouzell
3 Tips to get the Blockchain Ball Rolling
Perspective
by Victor Diaz
6 Things to Consider when Choosing a Data Visualization Library
Perspective
By Julio Santos and Jon Landers
How Customer Context and Smarter Algorithms will Power the Next Level of Experiences and Engagement
Perspective
by Mike Strange
Can We Predict the Future?
Perspective
By Brian Duperrouzel
No Estimates, No Approval, No Dice
Perspective
By Marc Helberg
How AI Will Affect Your Patient’s Experience
Perspective
By Sean Beard and Brian Orrell
Life After Mobile
Perspective
by Phillip Manwaring
Let Serverless Solve the Tech Problems You Don't Have
Perspective
by Mike Strange
Bigger is Not Necessarily Better
Perspective
By Marc Helberg
Patient Experience – Taking the Next Step Through Machine Learning
Load More