SlideShare a Scribd company logo
1 of 48
What Serverless Means for
Enterprise Architecture
Sumit Sarkar
Chief Research Officer
Objectives
• What is Serverless?
• What are its Building Blocks?
• What Does Serverless Mean for Enterprise Apps?
• Design Considerations for a “Serverless” App
What is Serverless?
No clear definition?
With serverless computing, developers rely on
cloud-based servers, infrastructure, and operating
systems. The fact is, even though it’s called
serverless, servers are still involved. But, as a fully
managed service, the setup, capacity planning,
and server management are invisible to you
because they’re handled by the cloud provider. In
a traditional environment, developers must provision
and configure servers, install operating systems, and
continually manage the infrastructure. With a
serverless architecture, you’re free to create, manage,
and deploy apps that scale on demand—without
worrying about infrastructure. (Microsoft)
What is serverless computing?
Serverless computing allows you to build
and run applications and services
without thinking about servers. Serverless
applications don't require you to
provision, scale, and manage any
servers. You can build them for nearly any
type of application or backend service, and
everything required to run and scale your
application with high availability is handled
for you. (AWS)
What is Serverless computing?
Serverless lets you write and deploy code without the
hassle of managing the underlying infrastructure. It
enhances developer productivity by helping focus on what
matters the most — building great applications and
abstracting away the rest. Zero server management, no
upfront provisioning, auto-scaling to meet traffic demands,
and paying only for the resources used are just some of
the benefits of serverless computing. (Google)
Common Misconceptions
• Not just Functions as a
Service (FaaS)
• Doesn’t mean “no
servers”
• Not a specific technology
• Not “NoOps”
© 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
So what is Serverless?
© 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Serverless refers to any cloud-native
service for implementing application
logic that allows the developer to
focus on the app and not think about
servers.
Let’s unpack this…
• Cloud-Native
• Not client-side (although can have client-side components)
• Not installed software
• Provisioned on-demand
• Fully redundant, load balanced
• Auto-scales
Let’s unpack this…
• For Implementing Application Logic
• Integrations with various backend systems and cloud services
• Functions to respond to events
• Services such as a data store, file repo, etc.
• Messaging
• Etc.
Let’s unpack this…
• Focus on the app, not servers
• No provisioning
• No managing
• No scaling concerns
© 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
So again, what is Serverless?
© 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Serverless refers to any cloud-native
service for implementing application
logic that allows the developer to
focus on the app and not think about
servers.
© 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Or, to put it another way for
enterprise architecture…
© 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Serverless computing shifts value
creation from infrastructure delivery
to innovation delivery for the business
Building Blocks of Serverless
Four Building Blocks
• Cloud Functions (FaaS)
• Microservices
• Cloud Services
• Events
Cloud Functions (a.k.a FaaS)
• Single, stateless, atomic functions that scale
• Write single function to implement a piece of business logic that is
invoked by the client application or some event
• Each function scales independently based on its needs
• Typical application may have tens or hundreds of cloud functions
Microservices
• Emphasis on “Micro”
• Very small, lightweight, single-purpose services
• Typical application may have several different microservices
• Easy to maintain
• In serverless context, are written in a way that the server
infrastructure (e.g. transport, ports, etc) is hidden from the
developer
Cloud Services
• No-code services that implement some backend application need
• Examples:
• Cloud Data Store
• File Store
• User management
• Integrations with data sources and SSO providers
• Any service that helps the developer implement their application
without thinking about servers.
Events – The Glue
• Logic responds to events
• Inside application
• External Events
• Examples:
• Before creating a new entity
• After deleting an entity
• In response to an HTTP endpoint
• In response to a client-side event, such as Geofencing
• Still in early stages
Cloud Functions
function onRequest(request, response, modules) {
var slack = modules.slack;
slack.chat.postMessage({
token: '<some_token>’,
channel: '@somechannel’,
text: request.username + ’ just entered the store’,
as_user: true,
username: 'storebot’
}, function(err, data) {
// Handle callback error or result
response.complete();
});
}
What Does Serverless Mean for
Enterprise Apps?
Delivering Value
• Focus on Value
• What do apps provide that’s different
• Spend more time on what provides business value, less time on technical
hurdles
• Focus on Experience
• Thinks about the client experience
• Builds the “UX” first
• Offloads complex app functions to cloud services, cloud functions, and
microservices.
• No need to worry about resource and scaling needs
Caution: Not an excuse to write bad code
for (i = 0; i < SOME_LIMIT; i++) {
for (j = 0; j < SOME_OTHER_LIMIT; j++) {
for (k = 0; k < SOME_THIRD_LIMIT; k++) {
// do something
}
}
}
High Productivity
• No Provisioning
• Fewer bottlenecks waiting on IT/DevOps
• Small, atomic units of code and configuration-based services lend
themselves to frequent, low-risk iterations
• Conducive to agile/lean methodologies
https://www.mentimeter.com/s/4d4b5f5c877e6d9c9af63b6
f8f60311d/f550fd6d480b
© 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
“Developer talent is scarce, so
focus on it”
– Traverse Clayton, Gartner
Source: 2018 Fiddler survey of independent developers by Progress
Dev Sentiment Survey
Survey Methodology
The target group was existing Fiddler users, which included two segments—
those who selected website development/debugging (further referred to as
Web developers) and mobile application development/debugging (further
referred to as Mobile developers) in the Fiddler download drop down menu.
Each of the two segments received a separate targeted survey.
Sample size – successfully conducted interviews (full completes) is 4,478 for
Web and 560 for Mobile.
Confidence level – 95% Statistical error – max. +/- %
Q: How many web, mobile or both apps will your team be asked
to deliver in the next 12 months?
Q: How many developers
are on your team?
© 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Other Insights
Q: What other teams do
you work with?
Key Design Considerations for
Serverless Apps
Focus on UX and Value First
• Design your user experience
• Build the logic that gives your app its value
• Extend the app with Serverless components
Federate Remote Sources
• Use serverless functions, data integration services, or microservices for
external data access or remote API access
• Serverless becomes your single interface for all your external systems
• Simplifies communication layer in client app
Think Small, Think Modular
• Each unit (function, microservice, cloud service) should do one job.
• Avoid monoliths. Avoid large, complex microservices.
• Group common tasks together
Think Stateless
• Serverless functions and microservices are ephemeral
• Scale up / Scale down as needed
• No guarantees that a single instance will be running at any given time
• Functions and services themselves are stateless
• Server-side *state* should be managed using a cloud datastore or
key/value store
Weakness
• Testing, Debugging is Difficult
• Resource Limits per Invocation
• Cold Start Up can Create Higher Latency
• Shared Code Libraries
• Some Approaches Better for Greenfield
In Conclusion…
Wrap-up
• Enable developers to focus on apps, not infrastructure
• Focus teams on app’s business value and user experience
• Enable high productivity by removing infrastructure, transport, and
protocol concerns
• Introduce app strategies that dynamically scale for digital apps
• Have a serverless mindset:
• Backend services as an extension of your app
• Small and modular
• Stateless and ephemeral
© 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved.
Build what really matters, don’t worry
about the rest.
Sumit.Sarkar@progress.com
Chief Research Officer @ Progress
www.linkedin.com/in/meetsumit
@SAsInSumit

More Related Content

What's hot

What's hot (20)

Cloud Native Applications Maturity Model
Cloud Native Applications Maturity ModelCloud Native Applications Maturity Model
Cloud Native Applications Maturity Model
 
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?Intel IT Open Cloud - What's under the Hood and How do we Drive it?
Intel IT Open Cloud - What's under the Hood and How do we Drive it?
 
Agile Infrastructure Automation Presentation to Wall Street Technology Associ...
Agile Infrastructure Automation Presentation to Wall Street Technology Associ...Agile Infrastructure Automation Presentation to Wall Street Technology Associ...
Agile Infrastructure Automation Presentation to Wall Street Technology Associ...
 
Evolvable architecture for hybrid multicloud with sdn
Evolvable architecture for hybrid multicloud with sdnEvolvable architecture for hybrid multicloud with sdn
Evolvable architecture for hybrid multicloud with sdn
 
Docker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud ApplicationsDocker in Production: How RightScale Delivers Cloud Applications
Docker in Production: How RightScale Delivers Cloud Applications
 
Cloud Native Operations
Cloud Native OperationsCloud Native Operations
Cloud Native Operations
 
Introducing PagerDuty Process Automation
Introducing PagerDuty Process AutomationIntroducing PagerDuty Process Automation
Introducing PagerDuty Process Automation
 
Cloud Native Infrastructure Automation
Cloud Native Infrastructure AutomationCloud Native Infrastructure Automation
Cloud Native Infrastructure Automation
 
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
Lo Scenario Cloud-Native (Pivotal Cloud-Native Workshop: Milan)
 
SOCstock 2021 The Cloud-native SOC
SOCstock 2021 The Cloud-native SOC SOCstock 2021 The Cloud-native SOC
SOCstock 2021 The Cloud-native SOC
 
Are We Really Cloud-Native?
Are We Really Cloud-Native?Are We Really Cloud-Native?
Are We Really Cloud-Native?
 
Introducing S40 Web Apps | CodeLabs
Introducing S40 Web Apps | CodeLabsIntroducing S40 Web Apps | CodeLabs
Introducing S40 Web Apps | CodeLabs
 
devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!devops, microservices, and platforms, oh my!
devops, microservices, and platforms, oh my!
 
Vulnerability Discovery in the Cloud
Vulnerability Discovery in the CloudVulnerability Discovery in the Cloud
Vulnerability Discovery in the Cloud
 
Evaluating the Cloud
Evaluating the CloudEvaluating the Cloud
Evaluating the Cloud
 
Unified Cloud Performance Monitoring - The Need of The Hour
Unified Cloud Performance Monitoring - The Need of The HourUnified Cloud Performance Monitoring - The Need of The Hour
Unified Cloud Performance Monitoring - The Need of The Hour
 
How iPaaS Overcomes the Challenges of Cloud Integration
How iPaaS Overcomes the Challenges of Cloud IntegrationHow iPaaS Overcomes the Challenges of Cloud Integration
How iPaaS Overcomes the Challenges of Cloud Integration
 
Internet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World ApplicationsInternet of Things: Patterns For Building Real World Applications
Internet of Things: Patterns For Building Real World Applications
 
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
Driving Enterprise Architecture Redesign: Cloud-Native Platforms, APIs, and D...
 
The Making of a Cloud Native Application Platform
The Making of a Cloud Native Application PlatformThe Making of a Cloud Native Application Platform
The Making of a Cloud Native Application Platform
 

Similar to What serverless means for enterprise apps

Webinar: Digital Transformation With Integration Platform as a Service (iPaaS)
Webinar: Digital Transformation With Integration Platform as a Service (iPaaS)Webinar: Digital Transformation With Integration Platform as a Service (iPaaS)
Webinar: Digital Transformation With Integration Platform as a Service (iPaaS)
APPSeCONNECT
 
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdfImprove_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
منیزہ ہاشمی
 
10 Key Steps for Moving from Legacy Infrastructure to the Cloud
10 Key Steps for Moving from Legacy Infrastructure to the Cloud10 Key Steps for Moving from Legacy Infrastructure to the Cloud
10 Key Steps for Moving from Legacy Infrastructure to the Cloud
NGINX, Inc.
 

Similar to What serverless means for enterprise apps (20)

NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
NUS-ISS Learning Day 2018- Designing software to make the most of cloud platf...
 
Evolving your Architecture to MicroServices
Evolving your Architecture to MicroServicesEvolving your Architecture to MicroServices
Evolving your Architecture to MicroServices
 
microservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdfmicroservices-is-it-the-holy-grail-a-perspective.pdf
microservices-is-it-the-holy-grail-a-perspective.pdf
 
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the CloudApplication Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
Application Darwinism - Why Most Enterprise Apps Will Evolve to the Cloud
 
Securing the Cloud Native Stack
Securing the Cloud Native StackSecuring the Cloud Native Stack
Securing the Cloud Native Stack
 
Technology insights: Decision Science Platform
Technology insights: Decision Science PlatformTechnology insights: Decision Science Platform
Technology insights: Decision Science Platform
 
Automating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native MeetupAutomating Applications with Habitat - Sydney Cloud Native Meetup
Automating Applications with Habitat - Sydney Cloud Native Meetup
 
From Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical DebtFrom Monoliths to Services: Grafually paying your Technical Debt
From Monoliths to Services: Grafually paying your Technical Debt
 
#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?#dbhouseparty - Should I be building Microservices?
#dbhouseparty - Should I be building Microservices?
 
Webinar: Digital Transformation With Integration Platform as a Service (iPaaS)
Webinar: Digital Transformation With Integration Platform as a Service (iPaaS)Webinar: Digital Transformation With Integration Platform as a Service (iPaaS)
Webinar: Digital Transformation With Integration Platform as a Service (iPaaS)
 
End to-End Monitoring for ITSM and DevOps
End to-End Monitoring for ITSM and DevOpsEnd to-End Monitoring for ITSM and DevOps
End to-End Monitoring for ITSM and DevOps
 
Cloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a CacheCloud-native Data: Every Microservice Needs a Cache
Cloud-native Data: Every Microservice Needs a Cache
 
Will ServerLess kill containers and Operations
Will ServerLess kill containers and OperationsWill ServerLess kill containers and Operations
Will ServerLess kill containers and Operations
 
APIdays Paris 2018 - Will Serverless kill Containers and Operations? Stéphane...
APIdays Paris 2018 - Will Serverless kill Containers and Operations? Stéphane...APIdays Paris 2018 - Will Serverless kill Containers and Operations? Stéphane...
APIdays Paris 2018 - Will Serverless kill Containers and Operations? Stéphane...
 
Serverless: Market Overview and Investment Opportunities
Serverless: Market Overview and Investment OpportunitiesServerless: Market Overview and Investment Opportunities
Serverless: Market Overview and Investment Opportunities
 
What is Serverless Computing?
What is Serverless Computing?What is Serverless Computing?
What is Serverless Computing?
 
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdfImprove_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
Improve_Application_Availability_and_Performance_Sales_Crib_Sheet.pdf
 
Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?Which Application Modernization Pattern Is Right For You?
Which Application Modernization Pattern Is Right For You?
 
10 Key Steps for Moving from Legacy Infrastructure to the Cloud
10 Key Steps for Moving from Legacy Infrastructure to the Cloud10 Key Steps for Moving from Legacy Infrastructure to the Cloud
10 Key Steps for Moving from Legacy Infrastructure to the Cloud
 
Aw (3) webinar serverless-fisher-rymer
Aw (3) webinar serverless-fisher-rymerAw (3) webinar serverless-fisher-rymer
Aw (3) webinar serverless-fisher-rymer
 

More from Sumit Sarkar

More from Sumit Sarkar (19)

Digitize Enterprise Assets for Mobility
Digitize Enterprise Assets for MobilityDigitize Enterprise Assets for Mobility
Digitize Enterprise Assets for Mobility
 
Data APIs Don't Discriminate [API World Stage Talk]
Data APIs Don't Discriminate [API World Stage Talk]Data APIs Don't Discriminate [API World Stage Talk]
Data APIs Don't Discriminate [API World Stage Talk]
 
SQL vs SOQL for Salesforce Analytics
SQL vs SOQL for Salesforce AnalyticsSQL vs SOQL for Salesforce Analytics
SQL vs SOQL for Salesforce Analytics
 
Building a Hybrid Data Pipeline for Salesforce and Hadoop
Building a Hybrid Data Pipeline for Salesforce and HadoopBuilding a Hybrid Data Pipeline for Salesforce and Hadoop
Building a Hybrid Data Pipeline for Salesforce and Hadoop
 
Welcome to the Era of Open Analytics
Welcome to the Era of Open AnalyticsWelcome to the Era of Open Analytics
Welcome to the Era of Open Analytics
 
Journey to SAS Analytics Grid with SAS, R, Python
Journey to SAS Analytics Grid with SAS, R, PythonJourney to SAS Analytics Grid with SAS, R, Python
Journey to SAS Analytics Grid with SAS, R, Python
 
Journey to Marketing Data Lake [BRK1098]
Journey to Marketing Data Lake [BRK1098]Journey to Marketing Data Lake [BRK1098]
Journey to Marketing Data Lake [BRK1098]
 
REST API debate: OData vs GraphQL vs ORDS
REST API debate: OData vs GraphQL vs ORDSREST API debate: OData vs GraphQL vs ORDS
REST API debate: OData vs GraphQL vs ORDS
 
Salesforce Connect External Object Reports
Salesforce Connect External Object ReportsSalesforce Connect External Object Reports
Salesforce Connect External Object Reports
 
Hybrid Data Pipeline for SQL and REST
Hybrid Data Pipeline for SQL and RESTHybrid Data Pipeline for SQL and REST
Hybrid Data Pipeline for SQL and REST
 
Firewall friendly pipeline for secure data access
Firewall friendly pipeline for secure data accessFirewall friendly pipeline for secure data access
Firewall friendly pipeline for secure data access
 
Salesforce External Objects for Big Data
Salesforce External Objects for Big DataSalesforce External Objects for Big Data
Salesforce External Objects for Big Data
 
OData Hackathon Challenge
OData Hackathon ChallengeOData Hackathon Challenge
OData Hackathon Challenge
 
OData and the future of business objects universes
OData and the future of business objects universesOData and the future of business objects universes
OData and the future of business objects universes
 
Building a marketing data lake
Building a marketing data lakeBuilding a marketing data lake
Building a marketing data lake
 
OData External Data Integration Strategies for SaaS
OData External Data Integration Strategies for SaaSOData External Data Integration Strategies for SaaS
OData External Data Integration Strategies for SaaS
 
Webinar on MongoDB BI Connectors
Webinar on MongoDB BI ConnectorsWebinar on MongoDB BI Connectors
Webinar on MongoDB BI Connectors
 
Lightning Connect: Lessons Learned
Lightning Connect: Lessons LearnedLightning Connect: Lessons Learned
Lightning Connect: Lessons Learned
 
Ibis 2015 final template
Ibis 2015 final templateIbis 2015 final template
Ibis 2015 final template
 

Recently uploaded

Recently uploaded (20)

TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 

What serverless means for enterprise apps

  • 1. What Serverless Means for Enterprise Architecture Sumit Sarkar Chief Research Officer
  • 2. Objectives • What is Serverless? • What are its Building Blocks? • What Does Serverless Mean for Enterprise Apps? • Design Considerations for a “Serverless” App
  • 4. No clear definition? With serverless computing, developers rely on cloud-based servers, infrastructure, and operating systems. The fact is, even though it’s called serverless, servers are still involved. But, as a fully managed service, the setup, capacity planning, and server management are invisible to you because they’re handled by the cloud provider. In a traditional environment, developers must provision and configure servers, install operating systems, and continually manage the infrastructure. With a serverless architecture, you’re free to create, manage, and deploy apps that scale on demand—without worrying about infrastructure. (Microsoft) What is serverless computing? Serverless computing allows you to build and run applications and services without thinking about servers. Serverless applications don't require you to provision, scale, and manage any servers. You can build them for nearly any type of application or backend service, and everything required to run and scale your application with high availability is handled for you. (AWS) What is Serverless computing? Serverless lets you write and deploy code without the hassle of managing the underlying infrastructure. It enhances developer productivity by helping focus on what matters the most — building great applications and abstracting away the rest. Zero server management, no upfront provisioning, auto-scaling to meet traffic demands, and paying only for the resources used are just some of the benefits of serverless computing. (Google)
  • 5. Common Misconceptions • Not just Functions as a Service (FaaS) • Doesn’t mean “no servers” • Not a specific technology • Not “NoOps”
  • 6. © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. So what is Serverless?
  • 7. © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Serverless refers to any cloud-native service for implementing application logic that allows the developer to focus on the app and not think about servers.
  • 8. Let’s unpack this… • Cloud-Native • Not client-side (although can have client-side components) • Not installed software • Provisioned on-demand • Fully redundant, load balanced • Auto-scales
  • 9. Let’s unpack this… • For Implementing Application Logic • Integrations with various backend systems and cloud services • Functions to respond to events • Services such as a data store, file repo, etc. • Messaging • Etc.
  • 10. Let’s unpack this… • Focus on the app, not servers • No provisioning • No managing • No scaling concerns
  • 11. © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. So again, what is Serverless?
  • 12. © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Serverless refers to any cloud-native service for implementing application logic that allows the developer to focus on the app and not think about servers.
  • 13. © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Or, to put it another way for enterprise architecture…
  • 14. © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Serverless computing shifts value creation from infrastructure delivery to innovation delivery for the business
  • 15. Building Blocks of Serverless
  • 16. Four Building Blocks • Cloud Functions (FaaS) • Microservices • Cloud Services • Events
  • 17. Cloud Functions (a.k.a FaaS) • Single, stateless, atomic functions that scale • Write single function to implement a piece of business logic that is invoked by the client application or some event • Each function scales independently based on its needs • Typical application may have tens or hundreds of cloud functions
  • 18. Microservices • Emphasis on “Micro” • Very small, lightweight, single-purpose services • Typical application may have several different microservices • Easy to maintain • In serverless context, are written in a way that the server infrastructure (e.g. transport, ports, etc) is hidden from the developer
  • 19. Cloud Services • No-code services that implement some backend application need • Examples: • Cloud Data Store • File Store • User management • Integrations with data sources and SSO providers • Any service that helps the developer implement their application without thinking about servers.
  • 20. Events – The Glue • Logic responds to events • Inside application • External Events • Examples: • Before creating a new entity • After deleting an entity • In response to an HTTP endpoint • In response to a client-side event, such as Geofencing • Still in early stages
  • 21. Cloud Functions function onRequest(request, response, modules) { var slack = modules.slack; slack.chat.postMessage({ token: '<some_token>’, channel: '@somechannel’, text: request.username + ’ just entered the store’, as_user: true, username: 'storebot’ }, function(err, data) { // Handle callback error or result response.complete(); }); }
  • 22. What Does Serverless Mean for Enterprise Apps?
  • 23. Delivering Value • Focus on Value • What do apps provide that’s different • Spend more time on what provides business value, less time on technical hurdles • Focus on Experience • Thinks about the client experience • Builds the “UX” first • Offloads complex app functions to cloud services, cloud functions, and microservices. • No need to worry about resource and scaling needs
  • 24. Caution: Not an excuse to write bad code for (i = 0; i < SOME_LIMIT; i++) { for (j = 0; j < SOME_OTHER_LIMIT; j++) { for (k = 0; k < SOME_THIRD_LIMIT; k++) { // do something } } }
  • 25. High Productivity • No Provisioning • Fewer bottlenecks waiting on IT/DevOps • Small, atomic units of code and configuration-based services lend themselves to frequent, low-risk iterations • Conducive to agile/lean methodologies
  • 27.
  • 28. © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. “Developer talent is scarce, so focus on it” – Traverse Clayton, Gartner
  • 29. Source: 2018 Fiddler survey of independent developers by Progress Dev Sentiment Survey
  • 30. Survey Methodology The target group was existing Fiddler users, which included two segments— those who selected website development/debugging (further referred to as Web developers) and mobile application development/debugging (further referred to as Mobile developers) in the Fiddler download drop down menu. Each of the two segments received a separate targeted survey. Sample size – successfully conducted interviews (full completes) is 4,478 for Web and 560 for Mobile. Confidence level – 95% Statistical error – max. +/- %
  • 31.
  • 32. Q: How many web, mobile or both apps will your team be asked to deliver in the next 12 months?
  • 33.
  • 34. Q: How many developers are on your team?
  • 35. © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Other Insights
  • 36. Q: What other teams do you work with?
  • 37.
  • 38.
  • 39. Key Design Considerations for Serverless Apps
  • 40. Focus on UX and Value First • Design your user experience • Build the logic that gives your app its value • Extend the app with Serverless components
  • 41. Federate Remote Sources • Use serverless functions, data integration services, or microservices for external data access or remote API access • Serverless becomes your single interface for all your external systems • Simplifies communication layer in client app
  • 42. Think Small, Think Modular • Each unit (function, microservice, cloud service) should do one job. • Avoid monoliths. Avoid large, complex microservices. • Group common tasks together
  • 43. Think Stateless • Serverless functions and microservices are ephemeral • Scale up / Scale down as needed • No guarantees that a single instance will be running at any given time • Functions and services themselves are stateless • Server-side *state* should be managed using a cloud datastore or key/value store
  • 44. Weakness • Testing, Debugging is Difficult • Resource Limits per Invocation • Cold Start Up can Create Higher Latency • Shared Code Libraries • Some Approaches Better for Greenfield
  • 46. Wrap-up • Enable developers to focus on apps, not infrastructure • Focus teams on app’s business value and user experience • Enable high productivity by removing infrastructure, transport, and protocol concerns • Introduce app strategies that dynamically scale for digital apps • Have a serverless mindset: • Backend services as an extension of your app • Small and modular • Stateless and ephemeral
  • 47. © 2018 Progress Software Corporation and/or its subsidiaries or affiliates. All rights reserved. Build what really matters, don’t worry about the rest.
  • 48. Sumit.Sarkar@progress.com Chief Research Officer @ Progress www.linkedin.com/in/meetsumit @SAsInSumit

Editor's Notes

  1. Research focused on appdev teams and goal is to learn more about EA
  2. “There has to be a server somewhere” Not Lambda, Kubernetes or Docker (rather those are enablers to serverless architecture) Role of Ops will change in serverless arch, but doesn’t alleviate need
  3. “Cloud washed” Installing software misses point of serverless / cloud-native (based on following points) Cloud enables this to be possible
  4. Wrapper for legacy code anything that requires high level performance processing
  5. EA perspective on governernance? Serverless allows application developers to focus on the application logic rather than what kind of resources are needed to run the application.
  6. Example of having two app functions. 1 is data integration function that makes a request to REST API and returns data and #2 is password hashing algorithm for user auth. Each has very different perf needs. #2 is expensive and requires a lot of CPU which has different needs than data request to external system waiting for reply. Benefit is separately scaled (scale up / down) based on app needs. Been around since 2012, invoked via SDK (hides server http, ports, routing, etc) or HTTP – refer to BaaS
  7. Not unique to serverless – serverless+microservices have very specific characteristics keep as small as possible to take advantage of individual scaling characteristics, so keep focus on single task. With microservices, developers don’t know what’s going on under the hood, nor do they care if that service is powered by functions or FaaS. Functions are the building blocks, while the service provides the API. FaaS is a compute option for building Microservices.
  8. Messaging Notification, Email, Push, etc
  9. Glue of Serverless Architecture Examples on when to invoke – You want to know when Amazon or Walmart delivery guy is in your kitchen, geofencing event can trigger notification to you and launch a video in your phone. Expecting a lot more use cases in next 3-5 years in event space (Consortium to standardize event message passing)
  10. UX – fail fast customer reference
  11. Triple for loop which is grossly inefficient and expect serverless to correct mistakes. It works well for scaling / managing resources for well performing apps, but not magic to solve bottlenecks in imperative programming.
  12. Small -> make small changes to code to reduce risk and introduce bugs.
  13. Some people say EAs are out of touch w/ devs; and vice versa.
  14. https://www.mentimeter.com/s/4d4b5f5c877e6d9c9af63b6f8f60311d/f550fd6d480b
  15. Start w/ POV of app and prototype UI w/ dev control in contrast w/ ”citizen devs”
  16. 1 interface provides data virtualization No need for separate REST, SQL Server, or Salesfroce communication layer
  17. Each -> helps to get scaling benefits and reduces risk with code changes
  18. Functions and microservices themselves should be designed in stateless manner
  19. Maturity of tooling, not specific to serverless – new paradigm Resource limits per invocation is valid, so requires good programming Cold Start Up can create higher latency (frequency of use) Shared code libraries – valid for AWS