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,370