Linda Nichols
@lynnaloo
Norfolk.js
norfolkjs.org
The Monolith
@lynnaloo
The Monolith
@lynnaloo
The Monolith
@lynnaloo
-
Single-tiered
-
Performs all tasks
-
Not modular
-
Many dependencies
-
Legacy technology
-
On-premises/On a Mainframe
-
Expensive to host/maintain
The Monolith
@lynnaloo
The Monolith Onion
@lynnaloo
@lynnaloo
-
Long-lasting, yet perishable
-
Contains many layers
-
Difficult to modularize
-
Complicated deployments
-
There can be a code "smell"
The Monolith Onion
@lynnaloo
The Monolith Onion
Dismantling
the monolith
@lynnaloo
-
Separate the application tiers
-
Create microservices
-
Upgrade legacy technology
-
Focus on security
-
Re-write application code
-
Move to "the cloud"
refactoring is expensive
@lynnaloo
time cost money.
People cost money.
legacy stays legacy
@lynnaloo
Patching is cheap.
works "just fine" now.
containers, containers, containers...
@lynnaloo
Let's go Serverless
@lynnaloo
what is serverless*
@lynnaloo
* "Serverless" is a catchy, made-up marketing term. Kind of like "cloud."
what is serverless
@lynnaloo
Serverless Architecture is an event-driven system that uses remote functions (likely FaaS or BaaS) without concern for the operations of the containers that execute the code.
functions as a service
@lynnaloo
-
No Ops required*
-
Developers focus on code
-
Triggered by events
-
Built-in API Gateway
-
Really inexpensive
-
Don't pay for idle code
@lynnaloo
functions as a service
@lynnaloo
'use strict';
const catNames = require('cat-names');
function getCatName(event, context, callback) {
callback(null, { payload: `Your cat name is ${catNames.random()}.` });
}
module.exports.getCatName;
functions as a service
Functions are microservices
@lynnaloo
-
Responsible for one specific task
-
Lightweight and fast
-
Reusable
-
Deployed independently
-
Not dependent on other services
-
Work together to power functionality
event-driven architecture
@lynnaloo
-
Events internal and external to the cloud platform can trigger events
-
Logic is decoupled from state and data
-
Scalability
-
Managed Services
event-driven architecture
@lynnaloo
Did you know that SQS can now trigger AWS LAMBDA functions?
gently Dismantle the monolith
@lynnaloo
@lynnaloo
break off serverless microservices
-
Cron jobs
-
Background services
-
Calls to APIs
-
Small Data Stores
-
Maintenance scripts
-
Logging/analytics
-
IoT Devices
-
Message bus
start with functionality that has the fewest dependencies.
@lynnaloo
break off serverless microservices
conclusion
@lynnaloo
As more functionality is removed, less compute power is needed for the monolith. Re-engineering a small core is now more manageable and less expensive.
conclusion
@lynnaloo
Modernization doesn’t have to be a one-time effort.
Serverless architecture facilitates gradual changes and results in a more immediate reduction in complexity and cost.
Thank You!
@lynnaloo
come talk to me at booth 628!
Photo Credit
@lynnaloo
@PaulCHINJR
Gently Dismantle Your Monolith with Serverless Architecture
By Linda Nichols
Gently Dismantle Your Monolith with Serverless Architecture
7/17 - AWS Summit NYC
- 1,236