SlideShare a Scribd company logo
Building a DevOps pipeline
for Serverless by using
Mocha, GitHub and Travis
Sami Pippuri
CTO
James Nguyen
Software Developer
Maas Global
MaaS Global is building the future of mobility
System Goals
Goals
• Scalable, cloud-based
• Mobile-first customer experience
• Utilizing readymade cloud APIs
• Infrastructure-as-code
• Establish industry standard APIs where they
don’t exist yet
• Open for ecosystem partners
• Create enthusiasm in the wider ecosystem –
enable e.g. Universities and smaller developer
houses around the world
Non-Goals
• Closed architecture or
lock-ins (except AWS)
• Exclusive deals
• Server infrastructure
• Intermediate, all-
encompassing
frameworks
• Something for everybody
Loosely coupled Microservice API integrations –
flexible inclusion into MaaS framework
Routing
Traffic Operator
Traffic Operator
Traffic Operator
Transport Operator
Weather
Subscription Payment
Identity
Business Rules
Customer Support
Whim backend
APIGW
Whim Apps
Tech Stacks
MaaS Core
Lambda (Node.js 4.x, ES6)
Serverless
AWS Components*
RESTAPIs
Apps Backend Integrations
MaaS
Schemas
MaaS-API SBUS
* APIGW, S3, DynamoDB, RDS (psql), Route53, IoT, Cognito, CloudFront, CloudWatch, SNS, Kinesis, ML, SWF, IAM, ACM…
SWF background processing
SNS
REST
Infrastructure – Serverless, cloud-native
Whim Apps
API Gatewayapi.maas.global
MaaS Core
MaaS TSP
Trip
Machine
Identity
Kinesis
events
Data
Storage
RDS
Postgres
What is Serverless?
- Is:
- Open source.
- Not really server-less.
- A framework centralized in managing
AWS Lambda, API Gateway and
CloudFormation.
- Robust, auto-scaling, fast and reliable.
- Extensible in itself with a nice plugin
system as well as having big supports
from the community
- Is not:
- A server.
- Helping you writing the code.
- Yet possible to be run on-premise
Check out at https://serverless.com/
Project Deployment
Serverless
autoinstall meta
mocha
Webpack
Base toolstack
Travis CI
PROD (Alpha)
Unit &
integration
testing
Deploy to
stages
(4 of them)
PROD
DEV
TEST
Continuous
Deployment (!)
Test harness
Dep sripts
Local test harness
Detailed workflow
Feature
development *
Code review **
Open pull request
**
Merge onto master
**
Release alpha **
Release production
**
Feature testing *
Field test ***
Smoke tests ***
Dev
Developer’s fork
Test
Master branch
Alpha
Alpha branch
Prod
Prod branch
Tagging candidates
Documenting
releases
Change log
Bug fixes *
*Manual testing ** Automated test with Travis *** Application test
Auto deployment in action!
Some Resources
• MaaS Transport Service Provider API: http://www.maas-api.org
• Serverless Mocha test plugin: https://github.com/SC5/serverless-mocha-plugin
• Meta Sync plugin: https://github.com/serverless/serverless-meta-sync (superceded in sls 1.3)
• Webpack plugin (fork) for faster cold starts: https://github.com/laurisvan/serverless-webpack-plugin
• Request-promise-lite, smaller version of request-promise to keep Lambda size down: https://github.com/laurisvan/request-
promise-lite
• Serverless v1.x boilerplate https://github.com/SC5/sc5-serverless-v1-boilerplate
• Knex / Objection.js for an easy ORM on Nodejs: http://vincit.github.io/objection.js/
See
Whim Live
whimapp.com
SAMI PIPPURI
CTO, MaaS Global Ltd
sami.pippuri@maas.global
+358 50 487 6829
JAMES NGUYEN
Developer, MaaS Global Ltd
James.nguyen@maas.global
Ad

Recommended

PDF
Drupal 7 performance and optimization
Shafqat Hussain
 
PPTX
RESTful Web services in Drupal 8
valuebound
 
PDF
PAC 2019 virtual Mark Tomlinson
Neotys
 
PPTX
Introdcution to Adobe CQ
Rest West
 
PPTX
Cloud - High Availability @ Low Cost - Workshop - Gurpreet ahuja
ResellerClub
 
PDF
Working in harmony
Edmund Turbin
 
PPTX
Moving to the Cloud: AWS, Zend, RightScale
mmoline
 
PPTX
DotNet MVC and webpack + Babel + react
Chen-Tien Tsai
 
PDF
Magento caching
Yireo
 
PDF
About Caching
Weng Wei
 
PPTX
Setting up a free open source java e-commerce website
Csaba Toth
 
PPTX
Improve your web dev workflow in Visual Studio
David Paquette
 
ODP
Kickstart Jpa
Max Andersen
 
PPTX
Drupal performance
Piyuesh Kumar
 
PPT
Configuring Apache Servers for Better Web Perormance
Spark::red
 
PDF
Working in Harmony: Manchester - Optimize development and content workflows
Edmund Turbin
 
PDF
Free Online SharePoint Framework Webinar
Manoj Mittal
 
PPTX
Decoupled Architecture and WordPress
Pantheon
 
PDF
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
rtCamp
 
PDF
Scaling a Web Service
Leon Ho
 
PPTX
Supercharge Application Delivery to Satisfy Users
NGINX, Inc.
 
PDF
Speeding up your WordPress Site - WordCamp Toronto 2015
Alan Lok
 
PPT
High Performance WordPress
Barry Abrahamson
 
PPT
ServerBeach and WordPress BlogWorldExpo 2007
Barry Abrahamson
 
PDF
Adobe AEM for Business Heads
Yash Mody
 
PPTX
JS digest. Decemebr 2017
ElifTech
 
PDF
Metarefresh
Aakash Bapna
 
PDF
ActiveMQ Performance Tuning
Christian Posta
 
PDF
Tracking Huge Files with Git LFS
Atlassian
 
PDF
Scaling Without Expanding: a DevOps Story
Atlassian
 

More Related Content

What's hot (20)

PDF
Magento caching
Yireo
 
PDF
About Caching
Weng Wei
 
PPTX
Setting up a free open source java e-commerce website
Csaba Toth
 
PPTX
Improve your web dev workflow in Visual Studio
David Paquette
 
ODP
Kickstart Jpa
Max Andersen
 
PPTX
Drupal performance
Piyuesh Kumar
 
PPT
Configuring Apache Servers for Better Web Perormance
Spark::red
 
PDF
Working in Harmony: Manchester - Optimize development and content workflows
Edmund Turbin
 
PDF
Free Online SharePoint Framework Webinar
Manoj Mittal
 
PPTX
Decoupled Architecture and WordPress
Pantheon
 
PDF
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
rtCamp
 
PDF
Scaling a Web Service
Leon Ho
 
PPTX
Supercharge Application Delivery to Satisfy Users
NGINX, Inc.
 
PDF
Speeding up your WordPress Site - WordCamp Toronto 2015
Alan Lok
 
PPT
High Performance WordPress
Barry Abrahamson
 
PPT
ServerBeach and WordPress BlogWorldExpo 2007
Barry Abrahamson
 
PDF
Adobe AEM for Business Heads
Yash Mody
 
PPTX
JS digest. Decemebr 2017
ElifTech
 
PDF
Metarefresh
Aakash Bapna
 
PDF
ActiveMQ Performance Tuning
Christian Posta
 
Magento caching
Yireo
 
About Caching
Weng Wei
 
Setting up a free open source java e-commerce website
Csaba Toth
 
Improve your web dev workflow in Visual Studio
David Paquette
 
Kickstart Jpa
Max Andersen
 
Drupal performance
Piyuesh Kumar
 
Configuring Apache Servers for Better Web Perormance
Spark::red
 
Working in Harmony: Manchester - Optimize development and content workflows
Edmund Turbin
 
Free Online SharePoint Framework Webinar
Manoj Mittal
 
Decoupled Architecture and WordPress
Pantheon
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
rtCamp
 
Scaling a Web Service
Leon Ho
 
Supercharge Application Delivery to Satisfy Users
NGINX, Inc.
 
Speeding up your WordPress Site - WordCamp Toronto 2015
Alan Lok
 
High Performance WordPress
Barry Abrahamson
 
ServerBeach and WordPress BlogWorldExpo 2007
Barry Abrahamson
 
Adobe AEM for Business Heads
Yash Mody
 
JS digest. Decemebr 2017
ElifTech
 
Metarefresh
Aakash Bapna
 
ActiveMQ Performance Tuning
Christian Posta
 

Viewers also liked (12)

PDF
Tracking Huge Files with Git LFS
Atlassian
 
PDF
Scaling Without Expanding: a DevOps Story
Atlassian
 
PDF
Takeaways From Migrating to Git and Bitbucket Server
Atlassian
 
PDF
Continuous Delivery in the Cloud with Bitbucket Pipelines
Atlassian
 
PDF
Verifying Microservice Integrations with Contract Testing
Atlassian
 
PDF
Popular Git Workflows You Haven't Heard About
Atlassian
 
PDF
Bitbucket Pipelines: Serverless CI/CD That Will Save Your Life
Atlassian
 
PDF
Releasing the Monolith On a Daily Basis
Atlassian
 
PDF
Mock Servers - Fake All the Things!
Atlassian
 
PDF
Scaling Your First 1000 Containers with Docker
Atlassian
 
PDF
Serverless Finland Meetup 16.11.2016: Messenger Bot Workshop
Mikael Puittinen
 
PDF
WordPress Café: Making a Future-Media
Exove
 
Tracking Huge Files with Git LFS
Atlassian
 
Scaling Without Expanding: a DevOps Story
Atlassian
 
Takeaways From Migrating to Git and Bitbucket Server
Atlassian
 
Continuous Delivery in the Cloud with Bitbucket Pipelines
Atlassian
 
Verifying Microservice Integrations with Contract Testing
Atlassian
 
Popular Git Workflows You Haven't Heard About
Atlassian
 
Bitbucket Pipelines: Serverless CI/CD That Will Save Your Life
Atlassian
 
Releasing the Monolith On a Daily Basis
Atlassian
 
Mock Servers - Fake All the Things!
Atlassian
 
Scaling Your First 1000 Containers with Docker
Atlassian
 
Serverless Finland Meetup 16.11.2016: Messenger Bot Workshop
Mikael Puittinen
 
WordPress Café: Making a Future-Media
Exove
 
Ad

Similar to Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis (20)

PDF
Whim and Serverless DevOps with Mocha, Github and Travis
Sami Pippuri
 
PPTX
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia
 
PDF
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
PPTX
What is Serverless Computing?
AIMDek Technologies
 
PDF
Platform as a Runtime - PaaR QCON 2024 - Final
Aviran Mordo
 
PDF
Azure Cloud Application Development Workshop - UGIdotNET
Lorenzo Barbieri
 
PPTX
Enabling .NET Apps with Monitoring and Management Using Steeltoe
VMware Tanzu
 
PDF
DevOps and BigData Analytics
sbbabu
 
PPTX
muCon 2017 - 12 Factor Serverless Applications
Chris Munns
 
PPTX
Getting Started with PaaS
CloudBees
 
PPTX
Getting Started with Platform-as-a-Service
CloudBees
 
PDF
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
PDF
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Emerson Eduardo Rodrigues Von Staffen
 
PPT
Managing Software from Development to Deployment in the Cloud
CloudBees
 
PDF
VMware - Application Portability
VMUG IT
 
PPTX
Building a Continuous Delivery Pipeline With Visual Studio
Kasun Kodagoda
 
PPTX
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
Sandro Pereira
 
PDF
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
Cloud Native Day Tel Aviv
 
PPTX
NServiceBus Mule ESB Comparison
Mike Byrne
 
PDF
vRA7 What's New
Erik Bussink
 
Whim and Serverless DevOps with Mocha, Github and Travis
Sami Pippuri
 
Cloud Foundry: Hands-on Deployment Workshop
Manuel Garcia
 
IBM InterConnect 2015 - IIB in the Cloud
Andrew Coleman
 
What is Serverless Computing?
AIMDek Technologies
 
Platform as a Runtime - PaaR QCON 2024 - Final
Aviran Mordo
 
Azure Cloud Application Development Workshop - UGIdotNET
Lorenzo Barbieri
 
Enabling .NET Apps with Monitoring and Management Using Steeltoe
VMware Tanzu
 
DevOps and BigData Analytics
sbbabu
 
muCon 2017 - 12 Factor Serverless Applications
Chris Munns
 
Getting Started with PaaS
CloudBees
 
Getting Started with Platform-as-a-Service
CloudBees
 
.NET Cloud-Native Bootcamp- Los Angeles
VMware Tanzu
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Emerson Eduardo Rodrigues Von Staffen
 
Managing Software from Development to Deployment in the Cloud
CloudBees
 
VMware - Application Portability
VMUG IT
 
Building a Continuous Delivery Pipeline With Visual Studio
Kasun Kodagoda
 
2015-12-02 - WebCamp - Microsoft Azure Logic Apps
Sandro Pereira
 
12 Factor Serverless Applications - Mike Morain, AWS - Cloud Native Day Tel A...
Cloud Native Day Tel Aviv
 
NServiceBus Mule ESB Comparison
Mike Byrne
 
vRA7 What's New
Erik Bussink
 
Ad

More from Exove (20)

PDF
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
PDF
Data security in the age of GDPR – most common data security problems
Exove
 
PDF
Provisioning infrastructure to AWS using Terraform – Exove
Exove
 
PDF
Advanced custom fields in Wordpress
Exove
 
PDF
Introduction to Robot Framework – Exove
Exove
 
PDF
Jenkins and visual regression – Exove
Exove
 
PDF
Server-side React with Headless CMS – Exove
Exove
 
PDF
WebSockets in Bravo Dashboard – Exove
Exove
 
PDF
Diversity in recruitment
Exove
 
PDF
Saavutettavuus liiketoimintana
Exove
 
PDF
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Exove
 
PDF
Mitä saavutettavuusdirektiivi pitää sisällään
Exove
 
PDF
Creating Landing Pages for Drupal 8
Exove
 
PDF
GDPR for developers
Exove
 
PDF
Managing Complexity and Privacy Debt with Drupal
Exove
 
PDF
Life with digital services after GDPR
Exove
 
PDF
GDPR - no beginning no end
Exove
 
PDF
Developing truly personalised experiences
Exove
 
PDF
Customer Experience and Personalisation
Exove
 
PDF
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Exove
 
Drupalcamp Finland – Measuring Front-end Energy Consumption
Exove
 
Data security in the age of GDPR – most common data security problems
Exove
 
Provisioning infrastructure to AWS using Terraform – Exove
Exove
 
Advanced custom fields in Wordpress
Exove
 
Introduction to Robot Framework – Exove
Exove
 
Jenkins and visual regression – Exove
Exove
 
Server-side React with Headless CMS – Exove
Exove
 
WebSockets in Bravo Dashboard – Exove
Exove
 
Diversity in recruitment
Exove
 
Saavutettavuus liiketoimintana
Exove
 
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Exove
 
Mitä saavutettavuusdirektiivi pitää sisällään
Exove
 
Creating Landing Pages for Drupal 8
Exove
 
GDPR for developers
Exove
 
Managing Complexity and Privacy Debt with Drupal
Exove
 
Life with digital services after GDPR
Exove
 
GDPR - no beginning no end
Exove
 
Developing truly personalised experiences
Exove
 
Customer Experience and Personalisation
Exove
 
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Exove
 

Recently uploaded (20)

PDF
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
 
PDF
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
PDF
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
PDF
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
PPTX
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
PPTX
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
PPTX
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
PDF
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
DOCX
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
PDF
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
PPTX
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
PDF
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
PDF
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
PDF
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
PDF
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
PDF
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
PDF
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
PDF
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
PPTX
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
PDF
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 
AI Agents and FME: A How-to Guide on Generating Synthetic Metadata
Safe Software
 
PyCon SG 25 - Firecracker Made Easy with Python.pdf
Muhammad Yuga Nugraha
 
Connecting Data and Intelligence: The Role of FME in Machine Learning
Safe Software
 
Mastering AI Workflows with FME by Mark Döring
Safe Software
 
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
 
Curietech AI in action - Accelerate MuleSoft development
shyamraj55
 
UserCon Belgium: Honey, VMware increased my bill
stijn40
 
Salesforce Summer '25 Release Frenchgathering.pptx.pdf
yosra Saidani
 
Daily Lesson Log MATATAG ICT TEchnology 8
LOIDAALMAZAN3
 
Lessons Learned from Developing Secure AI Workflows.pdf
Priyanka Aash
 
"How to survive Black Friday: preparing e-commerce for a peak season", Yurii ...
Fwdays
 
Database Benchmarking for Performance Masterclass: Session 2 - Data Modeling ...
ScyllaDB
 
“MPU+: A Transformative Solution for Next-Gen AI at the Edge,” a Presentation...
Edge AI and Vision Alliance
 
Raman Bhaumik - Passionate Tech Enthusiast
Raman Bhaumik
 
Smarter Aviation Data Management: Lessons from Swedavia Airports and Sweco
Safe Software
 
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
 
Quantum AI Discoveries: Fractal Patterns Consciousness and Cyclical Universes
Saikat Basu
 
From Manual to Auto Searching- FME in the Driver's Seat
Safe Software
 
Security Tips for Enterprise Azure Solutions
Michele Leroux Bustamante
 
Enhance GitHub Copilot using MCP - Enterprise version.pdf
Nilesh Gule
 

Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis

  • 1. Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis Sami Pippuri CTO James Nguyen Software Developer Maas Global
  • 2. MaaS Global is building the future of mobility
  • 3. System Goals Goals • Scalable, cloud-based • Mobile-first customer experience • Utilizing readymade cloud APIs • Infrastructure-as-code • Establish industry standard APIs where they don’t exist yet • Open for ecosystem partners • Create enthusiasm in the wider ecosystem – enable e.g. Universities and smaller developer houses around the world Non-Goals • Closed architecture or lock-ins (except AWS) • Exclusive deals • Server infrastructure • Intermediate, all- encompassing frameworks • Something for everybody
  • 4. Loosely coupled Microservice API integrations – flexible inclusion into MaaS framework Routing Traffic Operator Traffic Operator Traffic Operator Transport Operator Weather Subscription Payment Identity Business Rules Customer Support Whim backend APIGW Whim Apps
  • 5. Tech Stacks MaaS Core Lambda (Node.js 4.x, ES6) Serverless AWS Components* RESTAPIs Apps Backend Integrations MaaS Schemas MaaS-API SBUS * APIGW, S3, DynamoDB, RDS (psql), Route53, IoT, Cognito, CloudFront, CloudWatch, SNS, Kinesis, ML, SWF, IAM, ACM… SWF background processing SNS REST
  • 6. Infrastructure – Serverless, cloud-native Whim Apps API Gatewayapi.maas.global MaaS Core MaaS TSP Trip Machine Identity Kinesis events Data Storage RDS Postgres
  • 7. What is Serverless? - Is: - Open source. - Not really server-less. - A framework centralized in managing AWS Lambda, API Gateway and CloudFormation. - Robust, auto-scaling, fast and reliable. - Extensible in itself with a nice plugin system as well as having big supports from the community - Is not: - A server. - Helping you writing the code. - Yet possible to be run on-premise Check out at https://serverless.com/
  • 8. Project Deployment Serverless autoinstall meta mocha Webpack Base toolstack Travis CI PROD (Alpha) Unit & integration testing Deploy to stages (4 of them) PROD DEV TEST Continuous Deployment (!) Test harness Dep sripts Local test harness
  • 9. Detailed workflow Feature development * Code review ** Open pull request ** Merge onto master ** Release alpha ** Release production ** Feature testing * Field test *** Smoke tests *** Dev Developer’s fork Test Master branch Alpha Alpha branch Prod Prod branch Tagging candidates Documenting releases Change log Bug fixes * *Manual testing ** Automated test with Travis *** Application test
  • 11. Some Resources • MaaS Transport Service Provider API: http://www.maas-api.org • Serverless Mocha test plugin: https://github.com/SC5/serverless-mocha-plugin • Meta Sync plugin: https://github.com/serverless/serverless-meta-sync (superceded in sls 1.3) • Webpack plugin (fork) for faster cold starts: https://github.com/laurisvan/serverless-webpack-plugin • Request-promise-lite, smaller version of request-promise to keep Lambda size down: https://github.com/laurisvan/request- promise-lite • Serverless v1.x boilerplate https://github.com/SC5/sc5-serverless-v1-boilerplate • Knex / Objection.js for an easy ORM on Nodejs: http://vincit.github.io/objection.js/
  • 12. See Whim Live whimapp.com SAMI PIPPURI CTO, MaaS Global Ltd [email protected] +358 50 487 6829 JAMES NGUYEN Developer, MaaS Global Ltd [email protected]

Editor's Notes

  • #3: What if all transportation was converged, and sold as a tailored package with price and service level you can expect?