Serverless & Serverless
Devops: Scaling
Together
November 2020
1. DevOps Introduction
2. DevOps Best Practices
3. Serverless DevOps vs. DevOps
4. Serverless DevOps Benefits
5. Serverless DevOps Common Blindspots
6. Serverless DevOps Best Practices
7. A Perfect Harmony: Serverless + DevOps
8. Plan Your Serverless DevOps Strategy to Scale
Agenda
● Consulting - specializing in
integrations and related technologies
● AWS partners
● We build connections between
systems, applications, people, and
ideas
Big Compass
DevOps
DevOps Explained and Best Practices
● DevOps is a culture and a mindset
● Agile > DevOps > CI/CD
● DevOps focuses on speed and efficiency
● Measure success based on KPIs
DevOps
Introduction
● Define your processes before implementing
● Document the solution
● Use source control
● Automate processes
● Manual approvals for production
● Use infrastructure as code
● Review measures and goals
DevOps
Best
Practices
Serverless
DevOps
DevOps vs. Serverless DevOps
The Rise of Serverless
Serverless leads to
● A large serverless footprint
● Many services to manage
● Many microservices making up a single
application/system
● Governance being key
● Prepare to adopt serverless properly with
serverless DevOps
DevOps Vs. Serverless DevOps
Serverless DevOps
● Focused on speed and efficiency
● Mission to streamline deployments to
numerous serverless microservices
● Additional focus on governance
● Additional focus on scaling your serverless
footprint
● DevOps best practices and benefits are
amplified with serverless DevOps
DevOps
● Focused on speed and efficiency
● Mission to streamline deployments to a single
application
DevOps Typical Process
Serverless DevOps Typical Process
Serverless DevOps Typical Process
Serverless DevOps
1120 Events
Traditional DevOps
46 Events
● DevOps benefits
○ Rapid innovation
○ Accelerate deployments
○ Eliminate mistakes
○ Automate QA
○ Great developer experience
○ Enhanced security
● Serverless DevOps benefits
○ DevOps benefits are amplified
○ Governance
○ Self-documenting
○ Inventory of serverless footprint
○ Templatize serverless microservices
Serverless
DevOps
Benefits
Serverless
DevOps
Common
Blind Spots
● Serverless DevOps is the same as traditional
DevOps
● Not designing before implementing
● No plan to scale your DevOps processes
● Lack of communication
● Serverless implementations can be successful
without serverless DevOps
● Forgetting to measure success
● Define your processes before implementing
● Document the solution
● Use source control
● Automate processes
● Manual approvals for production
● Use infrastructure as code
● Review measures and goals
Serverless
DevOps
Best
Practices
Serverless and
Serverless
DevOps
A Perfect Harmony
● Scalable
● Flexible
● Cost effective
● Governance is key
● How do you manage a growing
serverless footprint?
Serverless Environments
● Needs to Scale with your serverless footprint
● Design for easy onboarding
● Enable many features/deployments
Serverless DevOps Environments
● Serverless implementations are successful with
DevOps - they are a package deal
● Without DevOps, a serverless implementation
becomes very difficult to govern and scale
● DevOps was always a huge benefit in traditional
environments, but it becomes a necessity with
serverless
● Serverless combined with serverless DevOps is
the combination needed for success
Serverless +
DevOps
Serverless
DevOps
Strategies
Plan Your Path Forward
Define and document
processes that
developers can easily
adhere to and that
DevOps can enforce
Measure and
document
current state KPIs
Measure and
document KPIs in the
new environment
Evangelize and
enforce the DevOps
processes across the
business
Implement
processes,
automations,
security, etc.
Refine processes
and
implementations
01 03 05
02 04 06
Serverless DevOps in Practice
00
Plan to scale
100x beyond
your goals or
current state
Serverless CI/CD In Practice
Add to IaC
● Continue to add to your IaC
configuration files for each
new serverless service you
create
● Good for managing your
entire serverless footprint in
one place
● Needs improvement for
deploying single
services/updates to your
microservices
Options to build and scale your serverless DevOps
Replication
● Replicate CI/CD pipelines,
IaC, and other CI/CD
components for each new
deployment
● Good for customizing
deployments for each
service/application
● Needs improvement in
managing the number of
services to keep track of
Hybrid
● Combine the first two
approaches to logically
replicate CI/CD components
when necessary
● Good for customizing
deployments and reducing
management overhead
● Needs improvement as a
serverless environment
expands, but can be
mitigated with great
documentation and
inventories
● Proceed with your DevOps teams and enable
discussion about scaling your serverless footprint
● Reach out to Aaron Lieberman for the Big Compass
Serverless DevOps Plan
○ Concise PDF that gives you a blueprint for
serverless + serverless DevOps success
Serverless
DevOps
Next Steps
Questions?
Thank You
Appendix
Diving
Deeper
● Go to the Big Compass blog to read more about
DevOps
○ Contains links to helpful technical videos also
● Supporting Video: Serverless DevOps Benefits
● Supporting Video: Serverless DevOps: Going Above
and Beyond With QA Automation
● Supporting Video: Serverless DevOps: Going above
and Beyond With Account Creation

Serverless & Serverless Devops: Scaling Together

  • 1.
    Serverless & Serverless Devops:Scaling Together November 2020
  • 2.
    1. DevOps Introduction 2.DevOps Best Practices 3. Serverless DevOps vs. DevOps 4. Serverless DevOps Benefits 5. Serverless DevOps Common Blindspots 6. Serverless DevOps Best Practices 7. A Perfect Harmony: Serverless + DevOps 8. Plan Your Serverless DevOps Strategy to Scale Agenda
  • 3.
    ● Consulting -specializing in integrations and related technologies ● AWS partners ● We build connections between systems, applications, people, and ideas Big Compass
  • 4.
  • 5.
    ● DevOps isa culture and a mindset ● Agile > DevOps > CI/CD ● DevOps focuses on speed and efficiency ● Measure success based on KPIs DevOps Introduction
  • 6.
    ● Define yourprocesses before implementing ● Document the solution ● Use source control ● Automate processes ● Manual approvals for production ● Use infrastructure as code ● Review measures and goals DevOps Best Practices
  • 7.
  • 8.
    The Rise ofServerless Serverless leads to ● A large serverless footprint ● Many services to manage ● Many microservices making up a single application/system ● Governance being key ● Prepare to adopt serverless properly with serverless DevOps
  • 9.
    DevOps Vs. ServerlessDevOps Serverless DevOps ● Focused on speed and efficiency ● Mission to streamline deployments to numerous serverless microservices ● Additional focus on governance ● Additional focus on scaling your serverless footprint ● DevOps best practices and benefits are amplified with serverless DevOps DevOps ● Focused on speed and efficiency ● Mission to streamline deployments to a single application
  • 10.
  • 11.
  • 12.
    Serverless DevOps TypicalProcess Serverless DevOps 1120 Events Traditional DevOps 46 Events
  • 13.
    ● DevOps benefits ○Rapid innovation ○ Accelerate deployments ○ Eliminate mistakes ○ Automate QA ○ Great developer experience ○ Enhanced security ● Serverless DevOps benefits ○ DevOps benefits are amplified ○ Governance ○ Self-documenting ○ Inventory of serverless footprint ○ Templatize serverless microservices Serverless DevOps Benefits
  • 14.
    Serverless DevOps Common Blind Spots ● ServerlessDevOps is the same as traditional DevOps ● Not designing before implementing ● No plan to scale your DevOps processes ● Lack of communication ● Serverless implementations can be successful without serverless DevOps ● Forgetting to measure success
  • 15.
    ● Define yourprocesses before implementing ● Document the solution ● Use source control ● Automate processes ● Manual approvals for production ● Use infrastructure as code ● Review measures and goals Serverless DevOps Best Practices
  • 16.
  • 17.
    ● Scalable ● Flexible ●Cost effective ● Governance is key ● How do you manage a growing serverless footprint? Serverless Environments
  • 18.
    ● Needs toScale with your serverless footprint ● Design for easy onboarding ● Enable many features/deployments Serverless DevOps Environments
  • 19.
    ● Serverless implementationsare successful with DevOps - they are a package deal ● Without DevOps, a serverless implementation becomes very difficult to govern and scale ● DevOps was always a huge benefit in traditional environments, but it becomes a necessity with serverless ● Serverless combined with serverless DevOps is the combination needed for success Serverless + DevOps
  • 20.
  • 21.
    Define and document processesthat developers can easily adhere to and that DevOps can enforce Measure and document current state KPIs Measure and document KPIs in the new environment Evangelize and enforce the DevOps processes across the business Implement processes, automations, security, etc. Refine processes and implementations 01 03 05 02 04 06 Serverless DevOps in Practice 00 Plan to scale 100x beyond your goals or current state
  • 22.
    Serverless CI/CD InPractice Add to IaC ● Continue to add to your IaC configuration files for each new serverless service you create ● Good for managing your entire serverless footprint in one place ● Needs improvement for deploying single services/updates to your microservices Options to build and scale your serverless DevOps Replication ● Replicate CI/CD pipelines, IaC, and other CI/CD components for each new deployment ● Good for customizing deployments for each service/application ● Needs improvement in managing the number of services to keep track of Hybrid ● Combine the first two approaches to logically replicate CI/CD components when necessary ● Good for customizing deployments and reducing management overhead ● Needs improvement as a serverless environment expands, but can be mitigated with great documentation and inventories
  • 23.
    ● Proceed withyour DevOps teams and enable discussion about scaling your serverless footprint ● Reach out to Aaron Lieberman for the Big Compass Serverless DevOps Plan ○ Concise PDF that gives you a blueprint for serverless + serverless DevOps success Serverless DevOps Next Steps
  • 24.
  • 25.
  • 26.
  • 27.
    Diving Deeper ● Go tothe Big Compass blog to read more about DevOps ○ Contains links to helpful technical videos also ● Supporting Video: Serverless DevOps Benefits ● Supporting Video: Serverless DevOps: Going Above and Beyond With QA Automation ● Supporting Video: Serverless DevOps: Going above and Beyond With Account Creation

Editor's Notes

  • #6 Agile is the overarching framework that encompasses everything from business needs and stakeholder engagement to delivery. DevOps is part of Agile and is closer to a set of principles and processes for streamlining the building of software, testing, and release. CI/CD is a process used within DevOps. It leverages tools as part of the implementation of a DevOps process and can facilitate and simplify DevOps through automating parts of service delivery.
  • #7 Define your process (just like any project) Document Playbooks Checklists Templates Source control Automate processes Deployments QA Security Code quality Manual approvals CI/CD in lower environments, but cut off the CD in Production IaC Can’t stress enough how important IaC is when you can use it Review measures and goals Treat DevOps like any project Measure success and communicate completion
  • #9 Why are we talking about serverless DevOps in the first place? Serverless is undoubtedly the hottest trending technology in the marketplace. It’s the fastest growing service for both AWS and Azure, and there is an alarming adoption rate across industries as you can see. So, with the rise of serverless, we need to be prepared to handle a growing serverless footprint where the focus in serverless is on buiilding many concise, distributed microservices that scale rather than large monolithic systems as we have seen in the past. How do you manage this?
  • #10 Before I introduce Serverless DevOps, let me define serverless DevOps and explain why there is a necessary distinction between traditional DevOps and serverless DevOps
  • #11 This would be a traditional DevOps process focused on a single deployment to a monolithic application living on EC2
  • #12 Compare the traditional DevOps method with the serverless DevOps process. You can immediately see a change in mindset, and notice the number of services you have to manage and deploy to create your applications
  • #13 In action, serverless DevOps vs. traditional DevOps looks like this. You can see the stark difference in the number of CloudFormation events
  • #16 This is the same list of best practices as before so you can still follow the same best practices, but let’s talk about how they differ with serverless DevOps Define your process (just like any project) Define processes to scale now Document Playbooks Checklists Templates Onboarding with serverless Source control Advise to use a different repo per application or connector or component of your system This allows you to define more granular DevOps procesess Automate processes Deployments QA Security Code quality Onboarding for new serverless components/connectors/applications Manual approvals CI/CD in lower environments, but cut off the CD in Production You might have more approvals to make based on how you split up your deployments IaC Can’t stress enough how important IaC is with serverless Can use SAM Terraform CloudFormation Serverless Framework Whatever you use, this can’t be recommended enough Review measures and goals Treat DevOps like any project Measure success and communicate completion Your new measures and goals might be how quickly you deploy each microservice Your measures will change in the serverless world
  • #18 For just one small application, a serverless footprint might look like this, and we talked about the serverless double edge sword earlier.
  • #22 Reach out to me for a custom plan. We have seen this in action, and know what will go wrong so we can plan for it We can help you set up your DevOps for future success and scale
  • #23 Scaling your serverless DevOps is not always easy. You have to think about a lot of factors and how you plan to scale. There are typically 3 options to implement your serverless DevOps strategy