SlideShare a Scribd company logo
1 of 37
Accelerate Your
Development: CI/CD Using
AWS and Serverless
July 2020
Overview
1. Big Compass Introduction
2. Deployment automation using AWS
3. Deployment automation using AWS + Serverless
4. CI/CD and Beyond
2
About Big Compass
● Boutique consulting firm
● Specializing in integration and related technologies
● We build connections
○ Systems
○ Apps
○ Corporations
○ People
3
Deployment Automation in AWS
4
CI/CD in AWS
Pain Points
● Long running deployments taking
large amount of effort
○ Time spent on deployments and not
innovation
● Errors deploying
● Difficult to replicate the
deployment to many instances
● Downtime on deployments
○ Lack of business continuity
5
Process Flow Using AWS
6
Process Flow
With
Branching
7
Serverless Framework With AWS
8
AWS + Serverless
Serverless Framework Introduction
● Open source framework allowing you to build and deploy apps
● Configuration written in YAML
● Similar to CloudFormation
● Includes a CLI
● Can deploy to AWS, Azure, GCP, and more
● When deploying to AWS, it uses CloudFormation under the hood
9
Uses for Serverless Framework
● Great for deploying serverless applications
● Speeds up deployment by automatically provisioning/mapping
● Can enable a multi-cloud strategy
● Local testing and mocks of cloud setup
10
Serverless Framework With AWS
● Build and deployment configuration housed in the Serverless YAML
● Serverless framework takes over your build and deploys your code
● Eliminates steps from your CodePipeline
11
Process Flow Using AWS + Serverless
12
CI/CD Considerations
● Technology considerations
○ AWS CodeDeploy
○ AWS SAM
○ AWS CloudFormation
○ Serverless framework
○ Elastic Beanstalk
○ Terraform
13
● Different environments
● Security
● Caching
● Pipeline optimization
● Test automation
Takeaways
● AWS + Serverless is awesome for
serverless applications
● AWS + Serverless only works in
certain scenarios
● A more diverse or hybrid system
may use CloudFormation,
Terraform, etc
● A combination of solutions may be
used
● Can split serverless deployments from
EC2, RDS, etc
● CI/CD is an evolutionary process
14
Plan
Design
ImplementTest
Deploy
Above and Beyond
15
QA Automation
Pain Points
● Bugs deployed to Production
● Difficult to regression test
● Labor-intensive QA cycle
slowing down releases
● Lack of understanding of use
cases
○ Lack of documentation
○ Difficult to test all scenarios
16
QA Automation Scenarios
● UI testing
● Unit testing
● Regression testing
● Load testing
● Stress testing
● Security testing
17
QA Automation Methodology
1. Well defined DevOps
2. Gather requirements
3. Capture QA test cases
4. Design automated testing suite
5. Implement functions to run
through all tests
6. Create a testing report
18
Process Flow
19
Automated Testing Considerations
● Unit testing
● Test-driven development
● UI testing
○ Cypress, Selenium, or other tools
○ Use tools to deliver a better
security posture
20
● Regression, load, and stress
testing
○ Implement reusable, automated
test suite
○ Potential to use tools like Postman
or JMeter
● Security testing
○ Probe for sensitive data
○ Create common attacks
○ Use tools to deliver a better
security posture
Automated Testing Considerations
● Changing requirements can mean altering automated testing suite
○ Design for this consideration to mitigate the risk
● Always run unit tests where possible
● CI/CD integration to automatically test before each deployment
21
Above and Beyond
22
Provision New AWS Accounts
Pain Points
● Account isolation
○ Environments
○ Customers
○ Tenants
● Difficult to sell SaaS solution
● Difficult to monetize
● Time taken to manually deploy to
new accounts
23
Account Creation Flow
1. Create new account
1. AWS Organizations +
CloudFormation
2. Update existing account
1. Use your CI/CD pipeline
24
Account Creation Considerations
● No one size fits all solution
● Monetization
● Versioning
● Updating all accounts vs. selectively updating
● Account management
● Account access
25
CI/CD + QA Automation + Account
Creation = DevOps Nirvana
26
Demo
27
CI/CD in Action
Next Steps
● Reach out to Aaron aaron@bigcompass.com
● Reach out to Jerry jerry.dixon@bigcompass.com
● Follow Big Compass on social media
● See you next time!
28
Questions?
29
Supporting Slides
30
AWS Services Used - CodePipeline
● Triggered off of GitHub commit
○ Other triggers available
● Orchestration
● Flexible
● Visibility
● Leverage current process
31
AWS Services Used - CodeBuild
● Part of CodePipeline build
phase
● Build your code to prepare for
deployment
● Flexible
○ Execute custom commands
○ Prepare your deployment any
way you need it
32
AWS Services Used - Elastic Beanstalk
● Part of CodePipeline deploy
phase
● Allows for EC2 deployments
○ Includes auto scaling and load
balancing
33
Process Flow - Update Account Alternate
34
Process Flow - Update Serverless Account
35
Process Flow - Create Account
36
Process Flow - Update Account
37

More Related Content

What's hot

CI/CD using CodeCommit CodeBuild CodeDeploy CodePipeline
CI/CD using CodeCommit CodeBuild  CodeDeploy  CodePipelineCI/CD using CodeCommit CodeBuild  CodeDeploy  CodePipeline
CI/CD using CodeCommit CodeBuild CodeDeploy CodePipeline
genesesoftware
 

What's hot (20)

Session Slides from DEVintersection Europe
Session Slides from DEVintersection EuropeSession Slides from DEVintersection Europe
Session Slides from DEVintersection Europe
 
Session Slides from DEVintersection Europe
Session Slides from DEVintersection EuropeSession Slides from DEVintersection Europe
Session Slides from DEVintersection Europe
 
How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product How we leveraged Drupal to build a leading SaaS product
How we leveraged Drupal to build a leading SaaS product
 
My session from Tuga IT 2017 on the Azure Container Service
My session from Tuga IT 2017 on the Azure Container ServiceMy session from Tuga IT 2017 on the Azure Container Service
My session from Tuga IT 2017 on the Azure Container Service
 
CI/CD using CodeCommit CodeBuild CodeDeploy CodePipeline
CI/CD using CodeCommit CodeBuild  CodeDeploy  CodePipelineCI/CD using CodeCommit CodeBuild  CodeDeploy  CodePipeline
CI/CD using CodeCommit CodeBuild CodeDeploy CodePipeline
 
Confoo - DevOps & Agile Infrastructure
Confoo - DevOps & Agile InfrastructureConfoo - DevOps & Agile Infrastructure
Confoo - DevOps & Agile Infrastructure
 
My slides from SharePoint Saturday Oslo
My slides from SharePoint Saturday OsloMy slides from SharePoint Saturday Oslo
My slides from SharePoint Saturday Oslo
 
Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5Get acquainted with the new ASP.Net 5
Get acquainted with the new ASP.Net 5
 
TCE Automation
TCE AutomationTCE Automation
TCE Automation
 
Kenzan Spinnaker Meetup
Kenzan Spinnaker MeetupKenzan Spinnaker Meetup
Kenzan Spinnaker Meetup
 
Promise of DevOps
Promise of DevOpsPromise of DevOps
Promise of DevOps
 
Berlin AWS meetup: here.com on AWS
Berlin AWS meetup: here.com on AWSBerlin AWS meetup: here.com on AWS
Berlin AWS meetup: here.com on AWS
 
Making Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with NovaMaking Service Deployments to AWS a breeze with Nova
Making Service Deployments to AWS a breeze with Nova
 
Load impact insights webinar
Load impact insights webinarLoad impact insights webinar
Load impact insights webinar
 
Deploying .Net Core Application to AWS ECS Fargate
Deploying .Net Core Application to AWS ECS FargateDeploying .Net Core Application to AWS ECS Fargate
Deploying .Net Core Application to AWS ECS Fargate
 
The New era in QA: k6
The New era in QA: k6The New era in QA: k6
The New era in QA: k6
 
Using OpenShift PaaS
Using OpenShift PaaSUsing OpenShift PaaS
Using OpenShift PaaS
 
TechTalk Webinar Series - Getting Started with Apache OpenWhisk
TechTalk Webinar Series - Getting Started with Apache OpenWhiskTechTalk Webinar Series - Getting Started with Apache OpenWhisk
TechTalk Webinar Series - Getting Started with Apache OpenWhisk
 
Dr. Strangeconfig or: How I Learned to Stop Using Chef and Puppet and Love th...
Dr. Strangeconfig or: How I Learned to Stop Using Chef and Puppet and Love th...Dr. Strangeconfig or: How I Learned to Stop Using Chef and Puppet and Love th...
Dr. Strangeconfig or: How I Learned to Stop Using Chef and Puppet and Love th...
 
So you want to write a cloud function
So you want to write a cloud functionSo you want to write a cloud function
So you want to write a cloud function
 

Similar to Accelerate Your Development: CI/CD using AWS and Serverless

Serverless & Serverless Devops: Scaling Together
Serverless & Serverless Devops: Scaling TogetherServerless & Serverless Devops: Scaling Together
Serverless & Serverless Devops: Scaling Together
AaronLieberman5
 

Similar to Accelerate Your Development: CI/CD using AWS and Serverless (20)

Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS Masterclass
 
Next gen software operations models in the cloud
Next gen software operations models in the cloudNext gen software operations models in the cloud
Next gen software operations models in the cloud
 
Journey Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment MaturityJourney Through Four Stages of Kubernetes Deployment Maturity
Journey Through Four Stages of Kubernetes Deployment Maturity
 
Serverless & Serverless Devops: Scaling Together
Serverless & Serverless Devops: Scaling TogetherServerless & Serverless Devops: Scaling Together
Serverless & Serverless Devops: Scaling Together
 
Serverless
ServerlessServerless
Serverless
 
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfServerless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
 
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptxMuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
MuleSoft_Noida_Meetup_CICD_Azure_07_May_2022.pptx
 
Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!Serverless Toronto User Group - Let's go Serverless!
Serverless Toronto User Group - Let's go Serverless!
 
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
 
A guide to modern software development 2018
A guide to modern software development 2018A guide to modern software development 2018
A guide to modern software development 2018
 
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 ?
 
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
Extensible dev secops pipelines with Jenkins, Docker, Terraform, and a kitche...
 
Dev ops for big data cluster management tools
Dev ops for big data  cluster management toolsDev ops for big data  cluster management tools
Dev ops for big data cluster management tools
 
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
Room 2 - 4 - Juncheng Anthony Lin - Redhat - A Practical Approach to Traditio...
 
Serverless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From ProductionServerless - DevOps Lessons Learned From Production
Serverless - DevOps Lessons Learned From Production
 
Introduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / PlatformsIntroduction to Google Cloud Services / Platforms
Introduction to Google Cloud Services / Platforms
 
Idi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean OpslessIdi2018 - Serverless does not mean Opsless
Idi2018 - Serverless does not mean Opsless
 
Start Serverless with Golang!
Start Serverless with Golang!Start Serverless with Golang!
Start Serverless with Golang!
 
Cloud: Shift in the Mindset
Cloud: Shift in the MindsetCloud: Shift in the Mindset
Cloud: Shift in the Mindset
 
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
DevOpsDays Tel Aviv DEC 2022 | Building A Cloud-Native Platform Brick by Bric...
 

More from AaronLieberman5

API Security - Everything You Need to Know To Protect Your APIs
API Security - Everything You Need to Know To Protect Your APIsAPI Security - Everything You Need to Know To Protect Your APIs
API Security - Everything You Need to Know To Protect Your APIs
AaronLieberman5
 
The Integrations Behind Connecting With Salesforce
The Integrations Behind Connecting With SalesforceThe Integrations Behind Connecting With Salesforce
The Integrations Behind Connecting With Salesforce
AaronLieberman5
 
Integration Success with AWS and Boomi
Integration Success with AWS and BoomiIntegration Success with AWS and Boomi
Integration Success with AWS and Boomi
AaronLieberman5
 
Deep Visibility: Logging From Distributed Microservices
Deep Visibility: Logging From Distributed MicroservicesDeep Visibility: Logging From Distributed Microservices
Deep Visibility: Logging From Distributed Microservices
AaronLieberman5
 
Unlocking the Power of Salesforce Integrations with Confluent
Unlocking the Power of Salesforce Integrations with ConfluentUnlocking the Power of Salesforce Integrations with Confluent
Unlocking the Power of Salesforce Integrations with Confluent
AaronLieberman5
 
Deep Visibility: Logging From Distributed Microservices
Deep Visibility: Logging From Distributed MicroservicesDeep Visibility: Logging From Distributed Microservices
Deep Visibility: Logging From Distributed Microservices
AaronLieberman5
 
Serverless Cloud Integrations Meetup: The Path Forward
Serverless Cloud Integrations Meetup: The Path ForwardServerless Cloud Integrations Meetup: The Path Forward
Serverless Cloud Integrations Meetup: The Path Forward
AaronLieberman5
 
Layered API Security: What Hackers Don't Want You To Know
Layered API Security: What Hackers Don't Want You To KnowLayered API Security: What Hackers Don't Want You To Know
Layered API Security: What Hackers Don't Want You To Know
AaronLieberman5
 

More from AaronLieberman5 (20)

Innovating on B2B Connectivity
Innovating on B2B ConnectivityInnovating on B2B Connectivity
Innovating on B2B Connectivity
 
API Security - Everything You Need to Know To Protect Your APIs
API Security - Everything You Need to Know To Protect Your APIsAPI Security - Everything You Need to Know To Protect Your APIs
API Security - Everything You Need to Know To Protect Your APIs
 
The Integrations Behind Connecting With Salesforce
The Integrations Behind Connecting With SalesforceThe Integrations Behind Connecting With Salesforce
The Integrations Behind Connecting With Salesforce
 
Integration Success with AWS and Boomi
Integration Success with AWS and BoomiIntegration Success with AWS and Boomi
Integration Success with AWS and Boomi
 
Deep Visibility: Logging From Distributed Microservices
Deep Visibility: Logging From Distributed MicroservicesDeep Visibility: Logging From Distributed Microservices
Deep Visibility: Logging From Distributed Microservices
 
Unlocking the Power of Salesforce Integrations with Confluent
Unlocking the Power of Salesforce Integrations with ConfluentUnlocking the Power of Salesforce Integrations with Confluent
Unlocking the Power of Salesforce Integrations with Confluent
 
Deep Visibility: Logging From Distributed Microservices
Deep Visibility: Logging From Distributed MicroservicesDeep Visibility: Logging From Distributed Microservices
Deep Visibility: Logging From Distributed Microservices
 
Extending The Power Of Anypoint Platform Using Anypoint Service Mesh
Extending The Power Of Anypoint Platform Using Anypoint Service MeshExtending The Power Of Anypoint Platform Using Anypoint Service Mesh
Extending The Power Of Anypoint Platform Using Anypoint Service Mesh
 
Serverless Cloud Integrations Meetup: The Path Forward
Serverless Cloud Integrations Meetup: The Path ForwardServerless Cloud Integrations Meetup: The Path Forward
Serverless Cloud Integrations Meetup: The Path Forward
 
Serverless Cloud Integrations: The Path Forward
Serverless CloudIntegrations: The Path ForwardServerless CloudIntegrations: The Path Forward
Serverless Cloud Integrations: The Path Forward
 
Layered API Security: What Hackers Don't Want You To Know
Layered API Security: What Hackers Don't Want You To KnowLayered API Security: What Hackers Don't Want You To Know
Layered API Security: What Hackers Don't Want You To Know
 
Never Lose Data Again: Robust Integrations With MuleSoft
Never Lose Data Again: Robust Integrations With MuleSoftNever Lose Data Again: Robust Integrations With MuleSoft
Never Lose Data Again: Robust Integrations With MuleSoft
 
Securing ap is oauth and fine grained access control
Securing ap is   oauth and fine grained access controlSecuring ap is   oauth and fine grained access control
Securing ap is oauth and fine grained access control
 
What Hackers Don’t Want You To Know: How to Maximize Your API Security
What Hackers Don’t Want You To Know: How to Maximize Your API SecurityWhat Hackers Don’t Want You To Know: How to Maximize Your API Security
What Hackers Don’t Want You To Know: How to Maximize Your API Security
 
Light Speed Integrations With Anypoint Flow Designer
Light Speed Integrations With Anypoint Flow DesignerLight Speed Integrations With Anypoint Flow Designer
Light Speed Integrations With Anypoint Flow Designer
 
Sprinting with Anypoint Runtime Fabric
Sprinting with Anypoint Runtime FabricSprinting with Anypoint Runtime Fabric
Sprinting with Anypoint Runtime Fabric
 
Sprinting with Anypoint Runtime Fabric
Sprinting with Anypoint Runtime FabricSprinting with Anypoint Runtime Fabric
Sprinting with Anypoint Runtime Fabric
 
What Hackers Don’t Want You To Know: How to Maximize Your API Security
What Hackers Don’t Want You To Know: How to Maximize Your API SecurityWhat Hackers Don’t Want You To Know: How to Maximize Your API Security
What Hackers Don’t Want You To Know: How to Maximize Your API Security
 
How to Expand Anypoint Platform's Capabilities by Developing Custom Connectors
How to Expand Anypoint Platform's Capabilities by Developing Custom ConnectorsHow to Expand Anypoint Platform's Capabilities by Developing Custom Connectors
How to Expand Anypoint Platform's Capabilities by Developing Custom Connectors
 
Connect the Dots: Logging and Custom Connectors
Connect the Dots: Logging and Custom ConnectorsConnect the Dots: Logging and Custom Connectors
Connect the Dots: Logging and Custom Connectors
 

Recently uploaded

“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial IntelligenceRevolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Precisely
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
panagenda
 

Recently uploaded (20)

WebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM PerformanceWebAssembly is Key to Better LLM Performance
WebAssembly is Key to Better LLM Performance
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
Syngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdfSyngulon - Selection technology May 2024.pdf
Syngulon - Selection technology May 2024.pdf
 
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
1111 ChatGPT Prompts PDF Free Download - Prompts for ChatGPT
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
How we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdfHow we scaled to 80K users by doing nothing!.pdf
How we scaled to 80K users by doing nothing!.pdf
 
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial IntelligenceRevolutionizing SAP® Processes with Automation and Artificial Intelligence
Revolutionizing SAP® Processes with Automation and Artificial Intelligence
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
Portal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russePortal Kombat : extension du réseau de propagande russe
Portal Kombat : extension du réseau de propagande russe
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
Using IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & IrelandUsing IESVE for Room Loads Analysis - UK & Ireland
Using IESVE for Room Loads Analysis - UK & Ireland
 

Accelerate Your Development: CI/CD using AWS and Serverless

  • 1. Accelerate Your Development: CI/CD Using AWS and Serverless July 2020
  • 2. Overview 1. Big Compass Introduction 2. Deployment automation using AWS 3. Deployment automation using AWS + Serverless 4. CI/CD and Beyond 2
  • 3. About Big Compass ● Boutique consulting firm ● Specializing in integration and related technologies ● We build connections ○ Systems ○ Apps ○ Corporations ○ People 3
  • 4. Deployment Automation in AWS 4 CI/CD in AWS
  • 5. Pain Points ● Long running deployments taking large amount of effort ○ Time spent on deployments and not innovation ● Errors deploying ● Difficult to replicate the deployment to many instances ● Downtime on deployments ○ Lack of business continuity 5
  • 8. Serverless Framework With AWS 8 AWS + Serverless
  • 9. Serverless Framework Introduction ● Open source framework allowing you to build and deploy apps ● Configuration written in YAML ● Similar to CloudFormation ● Includes a CLI ● Can deploy to AWS, Azure, GCP, and more ● When deploying to AWS, it uses CloudFormation under the hood 9
  • 10. Uses for Serverless Framework ● Great for deploying serverless applications ● Speeds up deployment by automatically provisioning/mapping ● Can enable a multi-cloud strategy ● Local testing and mocks of cloud setup 10
  • 11. Serverless Framework With AWS ● Build and deployment configuration housed in the Serverless YAML ● Serverless framework takes over your build and deploys your code ● Eliminates steps from your CodePipeline 11
  • 12. Process Flow Using AWS + Serverless 12
  • 13. CI/CD Considerations ● Technology considerations ○ AWS CodeDeploy ○ AWS SAM ○ AWS CloudFormation ○ Serverless framework ○ Elastic Beanstalk ○ Terraform 13 ● Different environments ● Security ● Caching ● Pipeline optimization ● Test automation
  • 14. Takeaways ● AWS + Serverless is awesome for serverless applications ● AWS + Serverless only works in certain scenarios ● A more diverse or hybrid system may use CloudFormation, Terraform, etc ● A combination of solutions may be used ● Can split serverless deployments from EC2, RDS, etc ● CI/CD is an evolutionary process 14 Plan Design ImplementTest Deploy
  • 16. Pain Points ● Bugs deployed to Production ● Difficult to regression test ● Labor-intensive QA cycle slowing down releases ● Lack of understanding of use cases ○ Lack of documentation ○ Difficult to test all scenarios 16
  • 17. QA Automation Scenarios ● UI testing ● Unit testing ● Regression testing ● Load testing ● Stress testing ● Security testing 17
  • 18. QA Automation Methodology 1. Well defined DevOps 2. Gather requirements 3. Capture QA test cases 4. Design automated testing suite 5. Implement functions to run through all tests 6. Create a testing report 18
  • 20. Automated Testing Considerations ● Unit testing ● Test-driven development ● UI testing ○ Cypress, Selenium, or other tools ○ Use tools to deliver a better security posture 20 ● Regression, load, and stress testing ○ Implement reusable, automated test suite ○ Potential to use tools like Postman or JMeter ● Security testing ○ Probe for sensitive data ○ Create common attacks ○ Use tools to deliver a better security posture
  • 21. Automated Testing Considerations ● Changing requirements can mean altering automated testing suite ○ Design for this consideration to mitigate the risk ● Always run unit tests where possible ● CI/CD integration to automatically test before each deployment 21
  • 22. Above and Beyond 22 Provision New AWS Accounts
  • 23. Pain Points ● Account isolation ○ Environments ○ Customers ○ Tenants ● Difficult to sell SaaS solution ● Difficult to monetize ● Time taken to manually deploy to new accounts 23
  • 24. Account Creation Flow 1. Create new account 1. AWS Organizations + CloudFormation 2. Update existing account 1. Use your CI/CD pipeline 24
  • 25. Account Creation Considerations ● No one size fits all solution ● Monetization ● Versioning ● Updating all accounts vs. selectively updating ● Account management ● Account access 25
  • 26. CI/CD + QA Automation + Account Creation = DevOps Nirvana 26
  • 28. Next Steps ● Reach out to Aaron aaron@bigcompass.com ● Reach out to Jerry jerry.dixon@bigcompass.com ● Follow Big Compass on social media ● See you next time! 28
  • 31. AWS Services Used - CodePipeline ● Triggered off of GitHub commit ○ Other triggers available ● Orchestration ● Flexible ● Visibility ● Leverage current process 31
  • 32. AWS Services Used - CodeBuild ● Part of CodePipeline build phase ● Build your code to prepare for deployment ● Flexible ○ Execute custom commands ○ Prepare your deployment any way you need it 32
  • 33. AWS Services Used - Elastic Beanstalk ● Part of CodePipeline deploy phase ● Allows for EC2 deployments ○ Includes auto scaling and load balancing 33
  • 34. Process Flow - Update Account Alternate 34
  • 35. Process Flow - Update Serverless Account 35
  • 36. Process Flow - Create Account 36
  • 37. Process Flow - Update Account 37

Editor's Notes

  1. Elastic Beanstalk Lack deep AWS experience Want/need to move quickly Want to focus on code CodeDeploy Want to use shared hardware Comfortable with AWS networking and permissions Using EC2 to integrate with non-AWS services I basically think of Elastic Beanstalk as a managed CodeDeploy using AWS Services. In most use cases Elastic Beanstalk will work, but for some mega corporations that want full control over their server and run agents for non-AWS services that need regular access/updates CodeDeploy offers that control.
  2. CI/CD is cyclical and it’s an evolutionary process – don’t try to bite off everything at once
  3. CI/CD is cyclical and it’s an evolutionary process – don’t try to bite off everything at once
  4. This is the ultimate goal, but iterate to get there, and it all starts with a great CI/CD pipeline/process
  5. Orchestration Arrange your steps in whatever way you want. Define custom steps. Pass outputs from one process to another seamlessly Flexibility Change the order of steps without creating a new pipeline Easily integrate/deploy to a number of AWS Services based on what is right for your project Pull in code from github/bitbucket/codecommit/etc Visibility Easily see the status of deployments Quick high level troubleshooting Quick links to logs for each step Leverage Current Processes Easily link a CodePipeline step to an existing business process CodeBuild configurations CodeDeploy deployment groups Elastic Beanstalk configurations CodePipeline isn’t about defining the steps, it’s about arranging them to create a functioning cicd pipeline.