SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
T E C H
STACK
how locize leverages serverless
localization as a service
localization: The process of making a product
suitable for use in a particular country or region.
as a service: easy to use, scale as you grow/
need, hassle-free, collaborative, etc…
WHAT IS LOCIZE?
Bridging the gap between translation and development
As we know how hard it can be to have a solid and working localization process between
developers and technical editors / translators our mission is to offer a new platform where
everybody is efficient to do its own work and everybody is happy.
OUR MISSION
InContext Editor
Often doing correct translations
needs more information by
providing more context information.
The best context is always the
place where the content is shown -
your website.
Continuous Localization
Complete your CI/CD pipeline with
continuous localization! You’re able to
deploy your translation files separated
from your software so you can update
and manage them independently with
our CDN.
Flexible Integration
Your web project stays
connected with locize. No
more moving files around.
Always keeping the overview.
SOME BENEFITS
We help you to solve your localization
and translation process, decreasing
development time and cost.
DAY ZERO - HOW ALL BEGAN
2011
2013 2014
2016
2018 2019
2022
All started back in 2011 when we were in
search for an internationalization library that
meets our demand - allowing to run both on
server side node.js and on our client side
single page applications.
?
Enhanced scalability
Everyone wants his app to be successful, but if that
happens, can it handle the load? Serverless architecture
means you don’t need to make that choice. Scale
technically with your business model!
Lower cost
In terms of both computing power and human resources,
serverless saves. The next level of DevOps is to move
towards NoOps!
The real PaaS
Most PaaS are not geared towards bringing entire
applications up and down for every request, whereas
FaaS platforms do exactly this.
WHY WE CHOOSE SERVERLESS?
- was/is the only ready FaaS
provider (and more)
- works out of the box
- scales like expected
- API-first approach
- big ecosystem
AWS completes serverless
offering with other AWS
services:
- API Gateway
- DynamoDB
- Simple Storage Service (S3)
- CloudFront
- Simple Email Service (SES)
- etc…
WHY WE CHOOSE AWS?
THE BASIC SETUP
It integrates very well with S3 (where we serve the localized files) and with DynamoDB (our
main work storage). We don’t have to worry about scaling, multi-server communication and
other problems related to distributed systems.
JavaScript
everywhere!
Everything is written in JavaScript:
- app backend
- api
- web client
- cli
Full-Stack
JavaScript
express
We use 3 different lambda types
LAMBDA FUNCTIONS
RESTful APIs using
the express
framework
async
triggered by other
lambda functions to
compute non blocking
tasks
s3 event
i.e. triggered by a new
CloudFront log file
that was saved to s3
(i.e. to calculate
downloads)
const express = require('express');
const bodyParser = require('body-parser');
const app = express();
const ensureSettings = require('./lib/ensureSettings');
const verifyApiKey = require('./lib/verifyApiKey');
const missing = require('./routes/missing');
const update = require('./routes/update');
const download = require('./routes/download');
const cors = require('cors');
app.disable('x-powered-by');
app.use(cors());
app.use(ensureSettings);
app.use(bodyParser.urlencoded({ limit: '5mb', extended: true }));
app.use(bodyParser.json({ limit: '5mb'}));
app.post('/missing/:projectId/:version/:language/:namespace',
verifyApiKey,
missing
);
app.post('/update/:projectId/:version/:language/:namespace',
verifyApiKey,
update
);
app.get('/download/:projectId/:version?/:language?/:namespace?',
download
);
if (require.main === module) {
// called directly
app.listen(3000);
console.log('lambda started locally on port 3000');
} else {
// required as a module
module.exports = app;
}
app.js
const serverless = require('serverless-http');
// aws-serverless-express works too but is slower
const app = require('./app');
exports.handler = serverless(app);
lambda.js
updateNamespace.js
const aws = require('aws-sdk');
const lambda = new aws.Lambda({ region: 'eu-west-1' });
// ...
await lambda.invoke({
FunctionName: 'locize-async-processing',
// fire and forget; 'RequestResponse' would wait for response
InvocationType: 'Event',
LogType: 'None',
Payload: JSON.stringify({
event: 'namespaceUpdated',
payload: {
projectId: meta.projectId,
version: meta.version,
language: meta.language,
namespace: meta.namespace
}
}, null, 2)
}).promise();async
const AWS = require('aws-sdk');
exports.handler = (event, context) => {
const region = event.Records[0].awsRegion;
const s3 = new AWS.S3({ region: region });
const ddb = new AWS.DynamoDB.DocumentClient({ region: region });
const srcBucket = event.Records[0].s3.bucket.name;
const srcKey = event.Records[0].s3.object.key;
// ...
const objectHead = await s3.headObject({
Bucket: srcBucket,
Key: srcKey
}).promise();
// …
};
index.js
If you want to build simple services and run them with AWS Lambda, and you're looking for something low-
overhead, easy to get started with, and you only want to use the node.js runtime, Claudia is a good choice.
OUR DEPLOYMENT TOOLING
focused
works only for node.js,
but it does it really well
It automatically installs templates
to convert parameters and results
into objects that Javascript can
consume easily, and makes
things work the way Javascript
developers expect out of the box.
no abstraction
deployment utility,
not a framework
It does not abstract away AWS
services, but instead makes them
easier to get started with. Claudia
is not trying to change the way you
structure or run projects.
simple
helps you get simple
stuff done, quickly
There's no need to learn a special
interface syntax, no need to keep your
definition spread across multiple files
and introduce the overhead of
coordination and maintenance -- just
write the code to handle requests.
SNEAK PEEK ON
TECH STACK
• express => fastify
• redux => pullstate
• custom authentication => cognito
• claudia.js => cloud formation (SAM)
• still everything JavaScript
• more AWS (serverless) services
• more Lambda functions
• more native
• less tools
• newer
• faster
• more fun ;-)
Be connected. Be found. Be a localistar.
Whether as a translation agency or as a freelancer, with
localistars you have the opportunity to get more
contracts by keeping a direct relation to your customers.
Signup and start your magic. You are in control.
FOR TRANSLATORS
Find connections. Find translators. Find your localistars.
It has never been easier to find the right translator. We bring people together for whom the
prospect of long-term and good cooperation is particularly high. How does it work? The formula
for success is "direct contact", which means that you select the appropriate translator based on
your criteria and negotiate the appropriate conditions directly with the selected person.
FOR COMPANIES
Let’s share some
serverless experience.
FEEL FREE TO TRY/ASK ANYTHING!
locize.com
comes with a 14d free trial (and special prices for open source or charity projects)
localistars.com
more than localization experts (coming soon)
claudiajs.com
deploy Node.js projects to AWS Lambda easily
aws.amazon.com/serverless
AWS serverless getting started
github.com/fastify/aws-lambda-fastify
fastest lambda proxy integration for fastify (maintained by us)
Q & A
T H A N K
YOU
locize.com / localistars.com

Más contenido relacionado

La actualidad más candente

Building Event-Driven Applications with Serverless and AWS - AWS Summit New York
Building Event-Driven Applications with Serverless and AWS - AWS Summit New YorkBuilding Event-Driven Applications with Serverless and AWS - AWS Summit New York
Building Event-Driven Applications with Serverless and AWS - AWS Summit New YorkJeremy Daly
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambdaServerless architectures-with-aws-lambda
Serverless architectures-with-aws-lambdasaifam
 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWSAmazon Web Services
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Building serverless apps with MongoDB Atlas and AWS Lambda
Building serverless apps with MongoDB Atlas and AWS LambdaBuilding serverless apps with MongoDB Atlas and AWS Lambda
Building serverless apps with MongoDB Atlas and AWS LambdaRaphael Londner
 
Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
Skillenza Build with Serverless Challenge -  Advanced Serverless ConceptsSkillenza Build with Serverless Challenge -  Advanced Serverless Concepts
Skillenza Build with Serverless Challenge - Advanced Serverless ConceptsDhaval Nagar
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureMikhail Prudnikov
 
Amy Arambulo Negrette - Serverless Frenemies: Serverless Containers in Lambd...
 Amy Arambulo Negrette - Serverless Frenemies: Serverless Containers in Lambd... Amy Arambulo Negrette - Serverless Frenemies: Serverless Containers in Lambd...
Amy Arambulo Negrette - Serverless Frenemies: Serverless Containers in Lambd...AWS Chicago
 
Building Automated Control Systems for Your AWS Infrastructure
Building Automated Control Systems for Your AWS InfrastructureBuilding Automated Control Systems for Your AWS Infrastructure
Building Automated Control Systems for Your AWS InfrastructureAmazon Web Services
 
Serverless Architecture Patterns - Manoj Ganapathi
Serverless Architecture Patterns - Manoj GanapathiServerless Architecture Patterns - Manoj Ganapathi
Serverless Architecture Patterns - Manoj GanapathiCodeOps Technologies LLP
 
Convert Your Code into a Microservice using AWS Lambda
Convert Your Code into a Microservice using AWS LambdaConvert Your Code into a Microservice using AWS Lambda
Convert Your Code into a Microservice using AWS LambdaAmazon Web Services
 
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS InfrastructureUsing AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS InfrastructureAmazon Web Services
 
Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...
Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...
Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...Amazon Web Services
 
Serverless Security: Best practices and mitigation strategies (re:Inforce 2019)
Serverless Security: Best practices and mitigation strategies (re:Inforce 2019)Serverless Security: Best practices and mitigation strategies (re:Inforce 2019)
Serverless Security: Best practices and mitigation strategies (re:Inforce 2019)Jeremy Daly
 
Building resilient serverless systems with non-serverless components (Belfast)
Building resilient serverless systems with non-serverless components (Belfast)Building resilient serverless systems with non-serverless components (Belfast)
Building resilient serverless systems with non-serverless components (Belfast)Jeremy Daly
 
Serverless APIs with JavaScript - Matt Searle - ChocPanda
Serverless APIs with JavaScript - Matt Searle - ChocPandaServerless APIs with JavaScript - Matt Searle - ChocPanda
Serverless APIs with JavaScript - Matt Searle - ChocPandaPaul Dykes
 
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar SeriesDeep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar SeriesAmazon Web Services
 
aws lambda & api gateway
aws lambda & api gatewayaws lambda & api gateway
aws lambda & api gatewayfumihiko hata
 

La actualidad más candente (20)

Building Event-Driven Applications with Serverless and AWS - AWS Summit New York
Building Event-Driven Applications with Serverless and AWS - AWS Summit New YorkBuilding Event-Driven Applications with Serverless and AWS - AWS Summit New York
Building Event-Driven Applications with Serverless and AWS - AWS Summit New York
 
Serverless architectures-with-aws-lambda
Serverless architectures-with-aws-lambdaServerless architectures-with-aws-lambda
Serverless architectures-with-aws-lambda
 
Getting Started with Docker on AWS
Getting Started with Docker on AWSGetting Started with Docker on AWS
Getting Started with Docker on AWS
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Building serverless apps with MongoDB Atlas and AWS Lambda
Building serverless apps with MongoDB Atlas and AWS LambdaBuilding serverless apps with MongoDB Atlas and AWS Lambda
Building serverless apps with MongoDB Atlas and AWS Lambda
 
Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
Skillenza Build with Serverless Challenge -  Advanced Serverless ConceptsSkillenza Build with Serverless Challenge -  Advanced Serverless Concepts
Skillenza Build with Serverless Challenge - Advanced Serverless Concepts
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless Architecture
 
Amy Arambulo Negrette - Serverless Frenemies: Serverless Containers in Lambd...
 Amy Arambulo Negrette - Serverless Frenemies: Serverless Containers in Lambd... Amy Arambulo Negrette - Serverless Frenemies: Serverless Containers in Lambd...
Amy Arambulo Negrette - Serverless Frenemies: Serverless Containers in Lambd...
 
Building Automated Control Systems for Your AWS Infrastructure
Building Automated Control Systems for Your AWS InfrastructureBuilding Automated Control Systems for Your AWS Infrastructure
Building Automated Control Systems for Your AWS Infrastructure
 
Serverless Architecture Patterns - Manoj Ganapathi
Serverless Architecture Patterns - Manoj GanapathiServerless Architecture Patterns - Manoj Ganapathi
Serverless Architecture Patterns - Manoj Ganapathi
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Convert Your Code into a Microservice using AWS Lambda
Convert Your Code into a Microservice using AWS LambdaConvert Your Code into a Microservice using AWS Lambda
Convert Your Code into a Microservice using AWS Lambda
 
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS InfrastructureUsing AWS Lambda to Build Control Systems for Your AWS Infrastructure
Using AWS Lambda to Build Control Systems for Your AWS Infrastructure
 
Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...
Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...
Serverless Orchestration with AWS Step Functions - May 2017 AWS Online Tech T...
 
Serverless Security: Best practices and mitigation strategies (re:Inforce 2019)
Serverless Security: Best practices and mitigation strategies (re:Inforce 2019)Serverless Security: Best practices and mitigation strategies (re:Inforce 2019)
Serverless Security: Best practices and mitigation strategies (re:Inforce 2019)
 
Building resilient serverless systems with non-serverless components (Belfast)
Building resilient serverless systems with non-serverless components (Belfast)Building resilient serverless systems with non-serverless components (Belfast)
Building resilient serverless systems with non-serverless components (Belfast)
 
Serverless APIs with JavaScript - Matt Searle - ChocPanda
Serverless APIs with JavaScript - Matt Searle - ChocPandaServerless APIs with JavaScript - Matt Searle - ChocPanda
Serverless APIs with JavaScript - Matt Searle - ChocPanda
 
AWS Serverless Workshop
AWS Serverless WorkshopAWS Serverless Workshop
AWS Serverless Workshop
 
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar SeriesDeep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
Deep Dive on Serverless Web Applications - AWS May 2016 Webinar Series
 
aws lambda & api gateway
aws lambda & api gatewayaws lambda & api gateway
aws lambda & api gateway
 

Similar a locize tech stack

An introduction to Serverless
An introduction to ServerlessAn introduction to Serverless
An introduction to ServerlessAdrien Blind
 
20180111 we bde-bs - serverless url shortener
20180111   we bde-bs - serverless url shortener20180111   we bde-bs - serverless url shortener
20180111 we bde-bs - serverless url shortenerLuca Bianchi
 
Serverless for Developers: Event-Driven & Distributed Apps - Pop-up Loft TLV ...
Serverless for Developers: Event-Driven & Distributed Apps - Pop-up Loft TLV ...Serverless for Developers: Event-Driven & Distributed Apps - Pop-up Loft TLV ...
Serverless for Developers: Event-Driven & Distributed Apps - Pop-up Loft TLV ...Amazon Web Services
 
SRV310_Designing Microservices with Serverless
SRV310_Designing Microservices with ServerlessSRV310_Designing Microservices with Serverless
SRV310_Designing Microservices with ServerlessAmazon Web Services
 
SRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application DevelopmentSRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application DevelopmentAmazon Web Services
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?The Software House
 
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbsAWS Chicago
 
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...Amazon Web Services
 
AWS DevOps: Introduction to DevOps on AWS
  AWS DevOps: Introduction to DevOps on AWS  AWS DevOps: Introduction to DevOps on AWS
AWS DevOps: Introduction to DevOps on AWSDatacademy.ai
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Emerson Eduardo Rodrigues Von Staffen
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...Amazon Web Services
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecturejuly mon
 
Aws Lambda in Swift - NSLondon - 3rd December 2020
Aws Lambda in Swift - NSLondon - 3rd December 2020Aws Lambda in Swift - NSLondon - 3rd December 2020
Aws Lambda in Swift - NSLondon - 3rd December 2020Andrea Scuderi
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...Ludovic Piot
 
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API GatewayMigrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API GatewayAmazon Web Services
 
Application modernization with azure PaaS and FaaS
Application modernization with azure PaaS and FaaSApplication modernization with azure PaaS and FaaS
Application modernization with azure PaaS and FaaSDileepa Rajapaksa
 
How to build and deploy serverless apps - AWS Summit Cape Town 2018
How to build and deploy serverless apps - AWS Summit Cape Town 2018How to build and deploy serverless apps - AWS Summit Cape Town 2018
How to build and deploy serverless apps - AWS Summit Cape Town 2018Amazon Web Services
 
Aws lambda and accesing AWS RDS - Clouddictive
Aws lambda and accesing AWS RDS - ClouddictiveAws lambda and accesing AWS RDS - Clouddictive
Aws lambda and accesing AWS RDS - ClouddictiveClouddictive
 

Similar a locize tech stack (20)

locize tech talk
locize tech talklocize tech talk
locize tech talk
 
An introduction to Serverless
An introduction to ServerlessAn introduction to Serverless
An introduction to Serverless
 
20180111 we bde-bs - serverless url shortener
20180111   we bde-bs - serverless url shortener20180111   we bde-bs - serverless url shortener
20180111 we bde-bs - serverless url shortener
 
Serverless for Developers: Event-Driven & Distributed Apps - Pop-up Loft TLV ...
Serverless for Developers: Event-Driven & Distributed Apps - Pop-up Loft TLV ...Serverless for Developers: Event-Driven & Distributed Apps - Pop-up Loft TLV ...
Serverless for Developers: Event-Driven & Distributed Apps - Pop-up Loft TLV ...
 
SRV310_Designing Microservices with Serverless
SRV310_Designing Microservices with ServerlessSRV310_Designing Microservices with Serverless
SRV310_Designing Microservices with Serverless
 
SRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application DevelopmentSRV302 Deep Dive on Serverless Application Development
SRV302 Deep Dive on Serverless Application Development
 
Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?Jak nie zwariować z architekturą Serverless?
Jak nie zwariować z architekturą Serverless?
 
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
Serverless Framework Workshop - Tyler Hendrickson, Chicago/burbs
 
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
Connect and Interconnect – The Mesh of Event-Driven Compute and Marvelous Vir...
 
Serverless
ServerlessServerless
Serverless
 
AWS DevOps: Introduction to DevOps on AWS
  AWS DevOps: Introduction to DevOps on AWS  AWS DevOps: Introduction to DevOps on AWS
AWS DevOps: Introduction to DevOps on AWS
 
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
Devops continuousintegration and deployment onaws puttingmoneybackintoyourmis...
 
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
DevOps, Continuous Integration and Deployment on AWS: Putting Money Back into...
 
Serverless Architecture
Serverless ArchitectureServerless Architecture
Serverless Architecture
 
Aws Lambda in Swift - NSLondon - 3rd December 2020
Aws Lambda in Swift - NSLondon - 3rd December 2020Aws Lambda in Swift - NSLondon - 3rd December 2020
Aws Lambda in Swift - NSLondon - 3rd December 2020
 
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
[Capitole du Libre] #serverless -  mettez-le en oeuvre dans votre entreprise...
 
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API GatewayMigrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
Migrate your Existing Express Apps to AWS Lambda and Amazon API Gateway
 
Application modernization with azure PaaS and FaaS
Application modernization with azure PaaS and FaaSApplication modernization with azure PaaS and FaaS
Application modernization with azure PaaS and FaaS
 
How to build and deploy serverless apps - AWS Summit Cape Town 2018
How to build and deploy serverless apps - AWS Summit Cape Town 2018How to build and deploy serverless apps - AWS Summit Cape Town 2018
How to build and deploy serverless apps - AWS Summit Cape Town 2018
 
Aws lambda and accesing AWS RDS - Clouddictive
Aws lambda and accesing AWS RDS - ClouddictiveAws lambda and accesing AWS RDS - Clouddictive
Aws lambda and accesing AWS RDS - Clouddictive
 

Último

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
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 RobisonAnna Loughnan Colquhoun
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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 textsMaria Levchenko
 
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 WorkerThousandEyes
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 

Último (20)

Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
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
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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
 
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
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 

locize tech stack

  • 1. T E C H STACK how locize leverages serverless
  • 2. localization as a service localization: The process of making a product suitable for use in a particular country or region. as a service: easy to use, scale as you grow/ need, hassle-free, collaborative, etc… WHAT IS LOCIZE?
  • 3. Bridging the gap between translation and development As we know how hard it can be to have a solid and working localization process between developers and technical editors / translators our mission is to offer a new platform where everybody is efficient to do its own work and everybody is happy. OUR MISSION
  • 4. InContext Editor Often doing correct translations needs more information by providing more context information. The best context is always the place where the content is shown - your website. Continuous Localization Complete your CI/CD pipeline with continuous localization! You’re able to deploy your translation files separated from your software so you can update and manage them independently with our CDN. Flexible Integration Your web project stays connected with locize. No more moving files around. Always keeping the overview. SOME BENEFITS We help you to solve your localization and translation process, decreasing development time and cost.
  • 5. DAY ZERO - HOW ALL BEGAN 2011 2013 2014 2016 2018 2019 2022 All started back in 2011 when we were in search for an internationalization library that meets our demand - allowing to run both on server side node.js and on our client side single page applications. ?
  • 6. Enhanced scalability Everyone wants his app to be successful, but if that happens, can it handle the load? Serverless architecture means you don’t need to make that choice. Scale technically with your business model! Lower cost In terms of both computing power and human resources, serverless saves. The next level of DevOps is to move towards NoOps! The real PaaS Most PaaS are not geared towards bringing entire applications up and down for every request, whereas FaaS platforms do exactly this. WHY WE CHOOSE SERVERLESS?
  • 7. - was/is the only ready FaaS provider (and more) - works out of the box - scales like expected - API-first approach - big ecosystem AWS completes serverless offering with other AWS services: - API Gateway - DynamoDB - Simple Storage Service (S3) - CloudFront - Simple Email Service (SES) - etc… WHY WE CHOOSE AWS?
  • 8. THE BASIC SETUP It integrates very well with S3 (where we serve the localized files) and with DynamoDB (our main work storage). We don’t have to worry about scaling, multi-server communication and other problems related to distributed systems.
  • 9. JavaScript everywhere! Everything is written in JavaScript: - app backend - api - web client - cli Full-Stack JavaScript
  • 10. express We use 3 different lambda types LAMBDA FUNCTIONS RESTful APIs using the express framework async triggered by other lambda functions to compute non blocking tasks s3 event i.e. triggered by a new CloudFront log file that was saved to s3 (i.e. to calculate downloads)
  • 11. const express = require('express'); const bodyParser = require('body-parser'); const app = express(); const ensureSettings = require('./lib/ensureSettings'); const verifyApiKey = require('./lib/verifyApiKey'); const missing = require('./routes/missing'); const update = require('./routes/update'); const download = require('./routes/download'); const cors = require('cors'); app.disable('x-powered-by'); app.use(cors()); app.use(ensureSettings); app.use(bodyParser.urlencoded({ limit: '5mb', extended: true })); app.use(bodyParser.json({ limit: '5mb'})); app.post('/missing/:projectId/:version/:language/:namespace', verifyApiKey, missing ); app.post('/update/:projectId/:version/:language/:namespace', verifyApiKey, update ); app.get('/download/:projectId/:version?/:language?/:namespace?', download ); if (require.main === module) { // called directly app.listen(3000); console.log('lambda started locally on port 3000'); } else { // required as a module module.exports = app; } app.js const serverless = require('serverless-http'); // aws-serverless-express works too but is slower const app = require('./app'); exports.handler = serverless(app); lambda.js
  • 12. updateNamespace.js const aws = require('aws-sdk'); const lambda = new aws.Lambda({ region: 'eu-west-1' }); // ... await lambda.invoke({ FunctionName: 'locize-async-processing', // fire and forget; 'RequestResponse' would wait for response InvocationType: 'Event', LogType: 'None', Payload: JSON.stringify({ event: 'namespaceUpdated', payload: { projectId: meta.projectId, version: meta.version, language: meta.language, namespace: meta.namespace } }, null, 2) }).promise();async
  • 13. const AWS = require('aws-sdk'); exports.handler = (event, context) => { const region = event.Records[0].awsRegion; const s3 = new AWS.S3({ region: region }); const ddb = new AWS.DynamoDB.DocumentClient({ region: region }); const srcBucket = event.Records[0].s3.bucket.name; const srcKey = event.Records[0].s3.object.key; // ... const objectHead = await s3.headObject({ Bucket: srcBucket, Key: srcKey }).promise(); // … }; index.js
  • 14. If you want to build simple services and run them with AWS Lambda, and you're looking for something low- overhead, easy to get started with, and you only want to use the node.js runtime, Claudia is a good choice. OUR DEPLOYMENT TOOLING focused works only for node.js, but it does it really well It automatically installs templates to convert parameters and results into objects that Javascript can consume easily, and makes things work the way Javascript developers expect out of the box. no abstraction deployment utility, not a framework It does not abstract away AWS services, but instead makes them easier to get started with. Claudia is not trying to change the way you structure or run projects. simple helps you get simple stuff done, quickly There's no need to learn a special interface syntax, no need to keep your definition spread across multiple files and introduce the overhead of coordination and maintenance -- just write the code to handle requests.
  • 15. SNEAK PEEK ON TECH STACK • express => fastify • redux => pullstate • custom authentication => cognito • claudia.js => cloud formation (SAM) • still everything JavaScript • more AWS (serverless) services • more Lambda functions • more native • less tools • newer • faster • more fun ;-)
  • 16. Be connected. Be found. Be a localistar. Whether as a translation agency or as a freelancer, with localistars you have the opportunity to get more contracts by keeping a direct relation to your customers. Signup and start your magic. You are in control. FOR TRANSLATORS Find connections. Find translators. Find your localistars. It has never been easier to find the right translator. We bring people together for whom the prospect of long-term and good cooperation is particularly high. How does it work? The formula for success is "direct contact", which means that you select the appropriate translator based on your criteria and negotiate the appropriate conditions directly with the selected person. FOR COMPANIES
  • 17. Let’s share some serverless experience. FEEL FREE TO TRY/ASK ANYTHING! locize.com comes with a 14d free trial (and special prices for open source or charity projects) localistars.com more than localization experts (coming soon) claudiajs.com deploy Node.js projects to AWS Lambda easily aws.amazon.com/serverless AWS serverless getting started github.com/fastify/aws-lambda-fastify fastest lambda proxy integration for fastify (maintained by us) Q & A
  • 18. T H A N K YOU locize.com / localistars.com