SlideShare a Scribd company logo
Building Serverless Self
Service framework with
lambda
Rovshan Musayev, Cloud/DevOps Engineer
About me
● Worked in Azercell Telecom
● Moved to Czech Republic in 2016
● Currently Living in Prague
● Focus area DevOpsing in the Cloud
● Working in NN Group (Dutch company)
● Leading GoUp Open Source IT community along
with Sako
Agenda
● How all it get started?
● What is Self Service in our term?
● What & Why Serverless?
● Architecture of a framework
● Used tools and techniques
● Lesson learned
● Q & A
How all it get started ?
Central Automation Tooling (CAT)
Operational works, we hate them :/
Solution ?
Simple, Automation, means …
Self Service
Don’t ask, push the button
High level description
Team Component
SS framework
What is Serverless?
Serverless computing is an execution model where the
cloud provider (AWS, Azure, or Google Cloud) is
responsible for executing a piece of code by dynamically
allocating the resources
Why Serverless?
● No server management
● Pay as you go model
● Very scalable
● Easy to start
● Cheaper than traditional compute(aws lambda 1m requests
are free per month, then 0.2$ for per 1m)
● Easy to deploy using cloudformation
The big companies using Serverless
When NOT to use Serverless?
● If you have security concerns
● Long running processes
● Vendor lock in concerns
● Too complex architecture
Self Service diagram
Used tools and techniques
● AWS API Gateway
● Lambda functions
● Lambda Layers
● SQS
● DynamoDB
● Secrets Manager
● Parameter Store
● Gitlab CI/CD
● AWS X-Ray
● Mock testing
● Cloudformation
● Sceptre(troposphere)
● Jfrog Artifactory, Jfrog XRay
● Sonarqube
What is API Gateway?
Amazon API Gateway is an AWS service for creating,
publishing, maintaining, monitoring, and securing REST
and WebSocket APIs at any scale. API developers can
create APIs that access AWS or other web services
API Gateway Endpoints
● Edge optimized - Designed to reduce latency around the
globe
● Regional - Designed to reduce latency for the same region
with API
● Private - Designed to expose API only within specified
VPC
When to use which API Gateway
Securing API Gateway
● Resource policies - let you create resource-based policies
to allow or deny access to your APIs and methods from
specified source IP addresses or VPC endpoints
● IAM roles and policies
● Lambda authorizer - custom authorization scheme that
uses a bearer token authentication
● API Key - securing specific resources
API Gateway Integration
● Lambda Function
● HTTP
● Mock
● AWS Services
● VPC Link
A bit more about API Gateway
● Stages - Each stage is a snapshot of API and associated
with deployments like Dev/Test/Prod
● Stage variables - help to parametrize configurations
● Resources - is like a API path and methods
● Use OpenAPI(Swagger) - Import, export functionality
● Support canary, blue-green deployment
What is Lambda Function?
AWS Lambda is a compute service that lets you run code
without provisioning or managing servers.
● pay as you go
● no server management
● autoscaling
What is Lambda Layer?
A layer is a ZIP archive that contains libraries, a custom
runtime, or other dependencies. With layers, you can use
libraries in your function without needing to include them in
your deployment package.
SQS, DynamoDB, Secret Manager,
Parameter Store
● SQS - to provide asynchronous request processing
● DynamoDB - for storing requests in permanent location
● Secrets Manager - to store artifactory passwords
● Parameter Store - framework specific parameters
CI/CD implementation
● Gitlab CI/CD for execution of pipelines
● Artifactory for package management
● Sonarqube for code quality
● Sceptre for building cloudformation templates
CI/CD implementation
AWS Cloudformation yaml example
Testing Lambda function
● Using MOTO python library for mocking boto(AWS) library
● Using unittest.mock for mocking environment for local
Lambda testing
● http requests mocking
● Unittesting fully with mocking
● Integration testing on AWS environment
Specifications for Self-Service
● Storing configurations in another account which is
mutable in order to have mobility for reloading
● Using resource based policy for cross account
permissions
● For security we were using API key
● Using common python library and importing in as layer
(nndk.cat)
● Mapping git commits, branch names and environment
names to cloudformation stack name
Autoreading integration testing input parameters from
cloudformation stacks
Lessons learned
● Problems hiding in details
● Avoid long living branches in git
● Check open source project popularity before using
● Start thinking about testing and actually implementing in
the beginning of project
● Don’t underestimate yaml
● Avoid recreation of VPC attached lambda functions
● Use lambda layers where you can
● Don’t lean on AWS provided libraries in Lambda
environment
THANKS!
Does anyone have question?
Let’s get in touch:
● https://www.linkedin.com/in/rovshan-musayev/
● https://www.facebook.com/rovshan.musayev
How to find GoUP community.
● https://github.com/goupaz/0-to-hero
Interested? Contact with me

More Related Content

What's hot

Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
Outlyer
 
Cloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.comCloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.com
AWS Vietnam Community
 
Serverless Computing with AWS
Serverless Computing with AWSServerless Computing with AWS
Serverless Computing with AWS
TransferWiseSG
 
Microservices with AWS Lambda and the Serverless Framework
Microservices with AWS Lambda and the Serverless FrameworkMicroservices with AWS Lambda and the Serverless Framework
Microservices with AWS Lambda and the Serverless Framework
Rowell Belen
 
Netflix Cloud Platform and Open Source
Netflix Cloud Platform and Open SourceNetflix Cloud Platform and Open Source
Netflix Cloud Platform and Open Source
aspyker
 
ServerlessPresentation
ServerlessPresentationServerlessPresentation
ServerlessPresentation
Rohit Kumar
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
AWS Vietnam Community
 
AWS Serverless solution for developers
AWS Serverless solution for developersAWS Serverless solution for developers
AWS Serverless solution for developers
Michael Haberman
 
Greetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanGreetings from AWS User Group Taiwan
Greetings from AWS User Group Taiwan
Cliff Chao-kuan Lu
 
Intro to Serverless
Intro to ServerlessIntro to Serverless
Intro to Serverless
Cliff Chao-kuan Lu
 
104 meets cloud
104 meets cloud104 meets cloud
104 meets cloud
Cliff Chao-kuan Lu
 
SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6
Tung Nguyen Thanh
 
Serverless Patterns
Serverless PatternsServerless Patterns
Serverless Patterns
Cliff Chao-kuan Lu
 
Going Serverless with AWS Lambda at ReportGarden
Going Serverless with AWS Lambda at ReportGardenGoing Serverless with AWS Lambda at ReportGarden
Going Serverless with AWS Lambda at ReportGarden
Jay Gandhi
 
FaaS on AWS for .NET developers
FaaS on AWS for .NET developersFaaS on AWS for .NET developers
FaaS on AWS for .NET developers
Taras Romanyk
 
AWS DirectConnect fundamentals
AWS DirectConnect fundamentalsAWS DirectConnect fundamentals
AWS DirectConnect fundamentals
Piyush Agrawal
 
OTP System with AWS Serverless
OTP System with AWS ServerlessOTP System with AWS Serverless
OTP System with AWS Serverless
Pubudu Jayawardana
 
Static web apps by GitHub action
Static web apps by GitHub actionStatic web apps by GitHub action
Static web apps by GitHub action
Seven Peaks Speaks
 
Big data school AWS
Big data school AWSBig data school AWS
Big data school AWS
DataArt
 
Kubernetes for Sales Engineers & Solutions Engineers–You Too Can Leverage Kub...
Kubernetes for Sales Engineers & Solutions Engineers–You Too Can Leverage Kub...Kubernetes for Sales Engineers & Solutions Engineers–You Too Can Leverage Kub...
Kubernetes for Sales Engineers & Solutions Engineers–You Too Can Leverage Kub...
AWS Chicago
 

What's hot (20)

Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
Owain Perry (Just Giving) - Continuous Delivery of Windows Micro-Services in ...
 
Cloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.comCloudsolutionday 2016: Docker & FAAS at getvero.com
Cloudsolutionday 2016: Docker & FAAS at getvero.com
 
Serverless Computing with AWS
Serverless Computing with AWSServerless Computing with AWS
Serverless Computing with AWS
 
Microservices with AWS Lambda and the Serverless Framework
Microservices with AWS Lambda and the Serverless FrameworkMicroservices with AWS Lambda and the Serverless Framework
Microservices with AWS Lambda and the Serverless Framework
 
Netflix Cloud Platform and Open Source
Netflix Cloud Platform and Open SourceNetflix Cloud Platform and Open Source
Netflix Cloud Platform and Open Source
 
ServerlessPresentation
ServerlessPresentationServerlessPresentation
ServerlessPresentation
 
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWSCloudsolutionday 2016: DevOps workflow with Docker on AWS
Cloudsolutionday 2016: DevOps workflow with Docker on AWS
 
AWS Serverless solution for developers
AWS Serverless solution for developersAWS Serverless solution for developers
AWS Serverless solution for developers
 
Greetings from AWS User Group Taiwan
Greetings from AWS User Group TaiwanGreetings from AWS User Group Taiwan
Greetings from AWS User Group Taiwan
 
Intro to Serverless
Intro to ServerlessIntro to Serverless
Intro to Serverless
 
104 meets cloud
104 meets cloud104 meets cloud
104 meets cloud
 
SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6SignalR with ASP.NET MVC 6
SignalR with ASP.NET MVC 6
 
Serverless Patterns
Serverless PatternsServerless Patterns
Serverless Patterns
 
Going Serverless with AWS Lambda at ReportGarden
Going Serverless with AWS Lambda at ReportGardenGoing Serverless with AWS Lambda at ReportGarden
Going Serverless with AWS Lambda at ReportGarden
 
FaaS on AWS for .NET developers
FaaS on AWS for .NET developersFaaS on AWS for .NET developers
FaaS on AWS for .NET developers
 
AWS DirectConnect fundamentals
AWS DirectConnect fundamentalsAWS DirectConnect fundamentals
AWS DirectConnect fundamentals
 
OTP System with AWS Serverless
OTP System with AWS ServerlessOTP System with AWS Serverless
OTP System with AWS Serverless
 
Static web apps by GitHub action
Static web apps by GitHub actionStatic web apps by GitHub action
Static web apps by GitHub action
 
Big data school AWS
Big data school AWSBig data school AWS
Big data school AWS
 
Kubernetes for Sales Engineers & Solutions Engineers–You Too Can Leverage Kub...
Kubernetes for Sales Engineers & Solutions Engineers–You Too Can Leverage Kub...Kubernetes for Sales Engineers & Solutions Engineers–You Too Can Leverage Kub...
Kubernetes for Sales Engineers & Solutions Engineers–You Too Can Leverage Kub...
 

Similar to Building self service framework

Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
Skillenza Build with Serverless Challenge -  Advanced Serverless ConceptsSkillenza Build with Serverless Challenge -  Advanced Serverless Concepts
Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
Dhaval Nagar
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS Masterclass
Dhaval Nagar
 
API Gateway report
API Gateway reportAPI Gateway report
API Gateway report
Gleicon Moraes
 
Running R on AWS Lambda by Ana-Maria Niculescu
Running R on AWS Lambda by Ana-Maria NiculescuRunning R on AWS Lambda by Ana-Maria Niculescu
Running R on AWS Lambda by Ana-Maria Niculescu
Paris Women in Machine Learning and Data Science
 
Azure DevOps Pipeline setup for Mule APIs #36
Azure DevOps Pipeline setup for Mule APIs #36Azure DevOps Pipeline setup for Mule APIs #36
Azure DevOps Pipeline setup for Mule APIs #36
MysoreMuleSoftMeetup
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
Amazon Web Services
 
Writing and deploying serverless python applications
Writing and deploying serverless python applicationsWriting and deploying serverless python applications
Writing and deploying serverless python applications
Cesar Cardenas Desales
 
Serverless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloadsServerless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloads
Tensult
 
Write less (code) and build more with serverless
Write less (code) and build more with serverlessWrite less (code) and build more with serverless
Write less (code) and build more with serverless
Dhaval Nagar
 
PyConIT 2018 Writing and deploying serverless python applications
PyConIT 2018 Writing and deploying serverless python applicationsPyConIT 2018 Writing and deploying serverless python applications
PyConIT 2018 Writing and deploying serverless python applications
Cesar Cardenas Desales
 
Low Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the CloudLow Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the Cloud
Dhaval Nagar
 
AWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapAWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless Recap
Daniel Zivkovic
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
Kyuhyun Byun
 
Cloud Manthn Software Solutions Pvt Ltd - What we do ?
Cloud Manthn Software Solutions Pvt Ltd - What we do ?Cloud Manthn Software Solutions Pvt Ltd - What we do ?
Cloud Manthn Software Solutions Pvt Ltd - What we do ?
amodkadam
 
AWS Lambda and Serverless Cloud
AWS Lambda and Serverless CloudAWS Lambda and Serverless Cloud
AWS Lambda and Serverless Cloud
Amazon Web Services
 
Raleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshopRaleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshop
Amazon Web Services
 
How to protect your IoT data on AWS
How to protect your IoT data on AWSHow to protect your IoT data on AWS
How to protect your IoT data on AWS
Lahav Savir
 
Mainstream Serverless
Mainstream ServerlessMainstream Serverless
Mainstream Serverless
Dhaval Nagar
 
Serverless microservices in the wild
Serverless microservices in the wildServerless microservices in the wild
Serverless microservices in the wild
Rotem Tamir
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
Amazon Web Services
 

Similar to Building self service framework (20)

Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
Skillenza Build with Serverless Challenge -  Advanced Serverless ConceptsSkillenza Build with Serverless Challenge -  Advanced Serverless Concepts
Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS Masterclass
 
API Gateway report
API Gateway reportAPI Gateway report
API Gateway report
 
Running R on AWS Lambda by Ana-Maria Niculescu
Running R on AWS Lambda by Ana-Maria NiculescuRunning R on AWS Lambda by Ana-Maria Niculescu
Running R on AWS Lambda by Ana-Maria Niculescu
 
Azure DevOps Pipeline setup for Mule APIs #36
Azure DevOps Pipeline setup for Mule APIs #36Azure DevOps Pipeline setup for Mule APIs #36
Azure DevOps Pipeline setup for Mule APIs #36
 
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
AWS re:Invent 2016: Accenture Cloud Platform Serverless Journey (ARC202)
 
Writing and deploying serverless python applications
Writing and deploying serverless python applicationsWriting and deploying serverless python applications
Writing and deploying serverless python applications
 
Serverless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloadsServerless design considerations for Cloud Native workloads
Serverless design considerations for Cloud Native workloads
 
Write less (code) and build more with serverless
Write less (code) and build more with serverlessWrite less (code) and build more with serverless
Write less (code) and build more with serverless
 
PyConIT 2018 Writing and deploying serverless python applications
PyConIT 2018 Writing and deploying serverless python applicationsPyConIT 2018 Writing and deploying serverless python applications
PyConIT 2018 Writing and deploying serverless python applications
 
Low Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the CloudLow Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the Cloud
 
AWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless RecapAWS re:Invent 2020 Serverless Recap
AWS re:Invent 2020 Serverless Recap
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
 
Cloud Manthn Software Solutions Pvt Ltd - What we do ?
Cloud Manthn Software Solutions Pvt Ltd - What we do ?Cloud Manthn Software Solutions Pvt Ltd - What we do ?
Cloud Manthn Software Solutions Pvt Ltd - What we do ?
 
AWS Lambda and Serverless Cloud
AWS Lambda and Serverless CloudAWS Lambda and Serverless Cloud
AWS Lambda and Serverless Cloud
 
Raleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshopRaleigh DevDay 2017: Build a serverless web application in one day workshop
Raleigh DevDay 2017: Build a serverless web application in one day workshop
 
How to protect your IoT data on AWS
How to protect your IoT data on AWSHow to protect your IoT data on AWS
How to protect your IoT data on AWS
 
Mainstream Serverless
Mainstream ServerlessMainstream Serverless
Mainstream Serverless
 
Serverless microservices in the wild
Serverless microservices in the wildServerless microservices in the wild
Serverless microservices in the wild
 
Managing Your Cloud Assets
Managing Your Cloud AssetsManaging Your Cloud Assets
Managing Your Cloud Assets
 

Recently uploaded

Introduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptxIntroduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptx
MiscAnnoy1
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
Las Vegas Warehouse
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
bijceesjournal
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
Yasser Mahgoub
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
shadow0702a
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
gerogepatton
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
abbyasa1014
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
jpsjournal1
 
gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))
shivani5543
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
IJECEIAES
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
171ticu
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
MIGUELANGEL966976
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
Madan Karki
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
co23btech11018
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
VICTOR MAESTRE RAMIREZ
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
insn4465
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
Madan Karki
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
KrishnaveniKrishnara1
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
Nada Hikmah
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
kandramariana6
 

Recently uploaded (20)

Introduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptxIntroduction to AI Safety (public presentation).pptx
Introduction to AI Safety (public presentation).pptx
 
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have oneISPM 15 Heat Treated Wood Stamps and why your shipping must have one
ISPM 15 Heat Treated Wood Stamps and why your shipping must have one
 
Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...Comparative analysis between traditional aquaponics and reconstructed aquapon...
Comparative analysis between traditional aquaponics and reconstructed aquapon...
 
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
2008 BUILDING CONSTRUCTION Illustrated - Ching Chapter 02 The Building.pdf
 
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
Use PyCharm for remote debugging of WSL on a Windo cf5c162d672e4e58b4dde5d797...
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Engineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdfEngineering Drawings Lecture Detail Drawings 2014.pdf
Engineering Drawings Lecture Detail Drawings 2014.pdf
 
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECTCHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
CHINA’S GEO-ECONOMIC OUTREACH IN CENTRAL ASIAN COUNTRIES AND FUTURE PROSPECT
 
gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))gray level transformation unit 3(image processing))
gray level transformation unit 3(image processing))
 
Embedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoringEmbedded machine learning-based road conditions and driving behavior monitoring
Embedded machine learning-based road conditions and driving behavior monitoring
 
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样学校原版美国波士顿大学毕业证学历学位证书原版一模一样
学校原版美国波士顿大学毕业证学历学位证书原版一模一样
 
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdfBPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
BPV-GUI-01-Guide-for-ASME-Review-Teams-(General)-10-10-2023.pdf
 
spirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptxspirit beverages ppt without graphics.pptx
spirit beverages ppt without graphics.pptx
 
Computational Engineering IITH Presentation
Computational Engineering IITH PresentationComputational Engineering IITH Presentation
Computational Engineering IITH Presentation
 
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student MemberIEEE Aerospace and Electronic Systems Society as a Graduate Student Member
IEEE Aerospace and Electronic Systems Society as a Graduate Student Member
 
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
哪里办理(csu毕业证书)查尔斯特大学毕业证硕士学历原版一模一样
 
john krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptxjohn krisinger-the science and history of the alcoholic beverage.pptx
john krisinger-the science and history of the alcoholic beverage.pptx
 
22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt22CYT12-Unit-V-E Waste and its Management.ppt
22CYT12-Unit-V-E Waste and its Management.ppt
 
Curve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods RegressionCurve Fitting in Numerical Methods Regression
Curve Fitting in Numerical Methods Regression
 
132/33KV substation case study Presentation
132/33KV substation case study Presentation132/33KV substation case study Presentation
132/33KV substation case study Presentation
 

Building self service framework

  • 1. Building Serverless Self Service framework with lambda Rovshan Musayev, Cloud/DevOps Engineer
  • 2. About me ● Worked in Azercell Telecom ● Moved to Czech Republic in 2016 ● Currently Living in Prague ● Focus area DevOpsing in the Cloud ● Working in NN Group (Dutch company) ● Leading GoUp Open Source IT community along with Sako
  • 3. Agenda ● How all it get started? ● What is Self Service in our term? ● What & Why Serverless? ● Architecture of a framework ● Used tools and techniques ● Lesson learned ● Q & A
  • 4. How all it get started ?
  • 5. Central Automation Tooling (CAT) Operational works, we hate them :/
  • 6.
  • 8. Simple, Automation, means … Self Service
  • 9. Don’t ask, push the button
  • 10. High level description Team Component SS framework
  • 11. What is Serverless? Serverless computing is an execution model where the cloud provider (AWS, Azure, or Google Cloud) is responsible for executing a piece of code by dynamically allocating the resources
  • 12. Why Serverless? ● No server management ● Pay as you go model ● Very scalable ● Easy to start ● Cheaper than traditional compute(aws lambda 1m requests are free per month, then 0.2$ for per 1m) ● Easy to deploy using cloudformation
  • 13. The big companies using Serverless
  • 14. When NOT to use Serverless? ● If you have security concerns ● Long running processes ● Vendor lock in concerns ● Too complex architecture
  • 16. Used tools and techniques ● AWS API Gateway ● Lambda functions ● Lambda Layers ● SQS ● DynamoDB ● Secrets Manager ● Parameter Store ● Gitlab CI/CD ● AWS X-Ray ● Mock testing ● Cloudformation ● Sceptre(troposphere) ● Jfrog Artifactory, Jfrog XRay ● Sonarqube
  • 17. What is API Gateway? Amazon API Gateway is an AWS service for creating, publishing, maintaining, monitoring, and securing REST and WebSocket APIs at any scale. API developers can create APIs that access AWS or other web services
  • 18. API Gateway Endpoints ● Edge optimized - Designed to reduce latency around the globe ● Regional - Designed to reduce latency for the same region with API ● Private - Designed to expose API only within specified VPC
  • 19. When to use which API Gateway
  • 20. Securing API Gateway ● Resource policies - let you create resource-based policies to allow or deny access to your APIs and methods from specified source IP addresses or VPC endpoints ● IAM roles and policies ● Lambda authorizer - custom authorization scheme that uses a bearer token authentication ● API Key - securing specific resources
  • 21. API Gateway Integration ● Lambda Function ● HTTP ● Mock ● AWS Services ● VPC Link
  • 22. A bit more about API Gateway ● Stages - Each stage is a snapshot of API and associated with deployments like Dev/Test/Prod ● Stage variables - help to parametrize configurations ● Resources - is like a API path and methods ● Use OpenAPI(Swagger) - Import, export functionality ● Support canary, blue-green deployment
  • 23. What is Lambda Function? AWS Lambda is a compute service that lets you run code without provisioning or managing servers. ● pay as you go ● no server management ● autoscaling
  • 24. What is Lambda Layer? A layer is a ZIP archive that contains libraries, a custom runtime, or other dependencies. With layers, you can use libraries in your function without needing to include them in your deployment package.
  • 25. SQS, DynamoDB, Secret Manager, Parameter Store ● SQS - to provide asynchronous request processing ● DynamoDB - for storing requests in permanent location ● Secrets Manager - to store artifactory passwords ● Parameter Store - framework specific parameters
  • 26. CI/CD implementation ● Gitlab CI/CD for execution of pipelines ● Artifactory for package management ● Sonarqube for code quality ● Sceptre for building cloudformation templates
  • 29. Testing Lambda function ● Using MOTO python library for mocking boto(AWS) library ● Using unittest.mock for mocking environment for local Lambda testing ● http requests mocking ● Unittesting fully with mocking ● Integration testing on AWS environment
  • 30. Specifications for Self-Service ● Storing configurations in another account which is mutable in order to have mobility for reloading ● Using resource based policy for cross account permissions ● For security we were using API key ● Using common python library and importing in as layer (nndk.cat) ● Mapping git commits, branch names and environment names to cloudformation stack name Autoreading integration testing input parameters from cloudformation stacks
  • 31. Lessons learned ● Problems hiding in details ● Avoid long living branches in git ● Check open source project popularity before using ● Start thinking about testing and actually implementing in the beginning of project ● Don’t underestimate yaml ● Avoid recreation of VPC attached lambda functions ● Use lambda layers where you can ● Don’t lean on AWS provided libraries in Lambda environment
  • 32. THANKS! Does anyone have question? Let’s get in touch: ● https://www.linkedin.com/in/rovshan-musayev/ ● https://www.facebook.com/rovshan.musayev How to find GoUP community. ● https://github.com/goupaz/0-to-hero Interested? Contact with me