SlideShare uma empresa Scribd logo
1 de 69
Containerless in the
Cloud with AWS Lambda
RYAN CUPRAK
Containers
Containers provide execution environment.
Containers + Cloud
EC2
Tomcat / Java EE
Container
EC2
Tomcat / Java EE
Container
EC2
JMS Server
RDS
SQL Database
Containers = Platform Lock-in
Language
Tool Chain
Ecosystem
Container Drawbacks
 Overkill for many types of applications
 Hard to ‘automatically’ scale
 Complex programming models
 Significant skills investment:
 Security
 Configuration
 Technology stack
Traditional App Drawbacks
 Servers
 Data Centers
 Software
 Monitoring tools
 Test environments
 IT support
 Service contracts
 Data Replication & Policies
 Approvals
Container Challenge
QUICKLY develop a web and mobile application:
 Registration and authentication (OAuth)
 HTTPS
 SMS notifications
 RESTful endpoints
 Automatic scalability across the globe
 Native code for both iOS and Android
 Versioning
 Real-time monitoring
Time to go: Containerless and Serverless
What is Amazon Lambda?
What is Lambda?
IaaS
• Infrastructure as a Service
PaaS
• Platform as a Service
SaaS
• Software as a Service
FaaS
• Function as a Service
What is Lambda?
Code Deploy Run
What is Lambda?
 Lambda is a stateless function
 Executes in response to an event
 Executes in an isolated environment
 Can be implemented using:
 JavaScript
 Java
 Python
 C#
 Dependencies (executables/libraries) can be packaged
with a library.
Example Function: 1
exports.handler = function(event,context) {
context.succeed('Hello ConFoo!');
};
Handler
Function
Data passed to function
(converted from JSON)
Lambda runtime
Example Function: 2
exports.handler = function(event,context) { context.succeed('Hello
' + event.firstName + ' ' + event.lastName + ' you are at ConFoo!');
};
Parsed Parameters
{
"firstName": "Ryan",
"lastName": "Cuprak”
}
Demo
Lambda Pricing
 Requests
 First 1 million requests are FREE
 $0.20 per each million requests thereafter
 Duration:
 Charged $0.00001667 for every gigabyte second used
 Free Tier
Memory (MB) Free sec/month Price / 100 ms ($)
128 3,200,000 0.000000208
192 2,133,333 0.000000313
256 1,600,000 0.000000417
…. … …
Cost Scenarios
Executions Memory Execution Time Cost
50,000 128 1 second $0.11
100,000 128 1 second $0.23
500,000 128 1 second $1.14
1,000,000 128 1 second $2.28
50,000 256 1 second $0.21
100,000 256 1 second $0.42
500,000 256 1 second $2.08
1,000,000 256 1 second $4.17
50,000 128 2 second $0.21
100,000 128 2 second $0.42
500,000 128 2 second $2.08
1,000,000 128 2 second $4.17
Not Including Free Tier – add other services
Lambda Basics
 Security provided by IAM – Identity & Access
Management.
 Lambda functions can start threads, access the disk,
access other AWS services.
 Default safety threshold of 100 concurrent executions per
region.
 Can be increased per request.
 AWS will attempt to invoke a Lambda function 3 times.
 External libraries should be bundled with Lambda function
(zip/jar)
Execution Environment
Runtime versions:
 Node.js v4.3.2
 Old, current Node.js release: 6.10.0
 Java – Java 8 (OpenJDK)
 Python 2.7
 .NET Core (1.0.1 C#)
Libraries available in execution environment:
 AWS SDK for JavaScript (2.16.0)
 AWS SDK for Python
 AWS build of OpenJDK 8
Execution Environment…
 Lambda environment based on:
amzn-ami-hvm-2016.03.3.x86_64-gp2
 Linux kernel: 4.4.35-33.55.amzn1.x86_64
 Only 64 bit binaries are supported.
Environment Variables
Variable Variable
LAMBDA_TASK_ROOT AWS_LAMBDA_FUNCTION_VERSION
AWS_EXECUTION_ENV PATH
LAMBDA_RUNTIME_DIR LANG
AWS_REGION LD_LIBRARY_PATH
AWS_DEFAULT_REGION NODE_PATH
AWS_LAMBDA_LOG_GROUP_NAME PYTHON_PATH
AWS_LAMBDA_LOG_STREAM_NAME • AWS_ACCESS_KEY
• AWS_ACCESS_KEY_ID
• AWS_SECRET_KEY
• AWS_SECRET_ACCESS_KEY
• AWS_SESSION_TOKEN
• AWS_SECURITY_TOKEN
AWS_LAMBDA_FUNCTION_NAME
AWS_LAMBDA_FUNCTION_MEMORY_S
IZE
Versioning
 New lambda function = $LATEST version
 ARN = Amazon Resource Number – uniquely
identifies an Amazon resource
 Two ARNs associated with a lambda function:
 Qualified ARN
 arn:aws:lambda:aws-region:acct-id:function:helloworld:$LATEST
 Unqualified ARN
 arn:aws:lambda:aws-region:acct-id:function:helloworld
 New versions must be explicitly published
Logging
 Node.js
 Console.log/error/warn/info()
 Java
 log4j 1.2 (LambdaLogger.log())
 System.out/err – each line separate event
 C#
 Console.Write/WriteLine
 Lambda.Log()
 Via context object: context.Logger.log()
 Python
 Print statements
 Logger functions in logger module: logging.Logger.info
Logging
View in CloudWatch:
Failures & Errors
 Lambda function can fail for the following reasons:
 Function doesn’t complete before time limit
 Input data fails to parse
 Runs out of memory
 Failure handling depends upon how it was invoked:
 Non-stream based
 Synchronous – Error 429 is returned, client responsible to
retries.
 Asynchronous – Retry twice with a time delay, DLQ.
 Stream-based:
 Will attempt to re-process until it succeeds to data expires.
 No new records will be processed
Availability Regions
 Northern Virginia
 Ohio
 Oregon
 Northern California
 Montreal
 São Paulo
 GovCloud
 Iceland
 Frankfurt
 London
 Signapore
 Tokyo
 Sydney
 Seoul
 Mumbai
 Beijin
Resource Limits
Resource Default Limit
Ephemeral disk capacity ("/tmp" space) 512 MB
Number of file descriptors 1024
Number of processes and threads (combined total) 1024
Maximum execution duration per request 300 seconds
Invoke request body payload size (RequestResponse) 6 MB
Invoke request body payload size (Event) 128 K
Invoke response body payload size (RequestResponse) 6 MB
Deployment Limits
Item Default Limit
Lambda function deployment package
size (.zip/.jar file)
50 MB
Total size of all the deployment
packages that can be uploaded per
region
75 GB
Size of code/dependencies that you can
zip into a deployment package
(uncompressed zip/jar size)
250 MB
Total size of environment variables set 4 KB
Power of Lambda
Event Sources
 Invocations: Asynchronous or Synchronous
 Events sources from AWS services:
 Amazon S3
 Kinesis
 DynamoDB
 CloudTrail
 SNS
 Code Commit
 HTTPS – via Amazon API Gateway
 Custom app sources (ex. Android)
 Scheduled events
Use Cases
 S3 + Lambda – image processing, filter, document
analysis, indexing.
 Kinesis + Lambda – transaction order processing,
auditing.
 SNS + Lambda – alarm response, auditing, event
processing.
 DynamoDB + Lambda – data validation, data processing,
filter, notification.
 Alexa + Lambda – automated voice responses (Amazon
Echo).
Blueprints
Exposing/Securing Lambda
Cognito
Lambda
API-
Gateway
Amazon API-Gateway
API-Gateway
 Build, deploy, manage RESTful APIs
 Supports throttling and protection against DDoS
 Supporting versioning and staging
 Auto-generates client implementations:
 Java, JavaScript, Android, Object-C, Swift
 Flexible authorization model – ties in with Amazon
Cognito.
HTTPS
Restful Invokes
API-Gateway
http://swagger.io/
API-Gateway
Demo
API-Gateway
API-Gateway
API-Gateway
Invoking service (webpage/app):
API-Gateway
 Published an API – now
what?
 APIs can be sold!
 Two concepts:
 Usage Plan
 API Key
 Steps:
 Create usage plan
 Associate a key
 Associate a key on the
service
Amazon Cognito
Amazon Cognito
Three ways to secure an API-Gateway:
1. API-Keys
 Appropriate for service-to-service communication
 Risky to place secret key on client for long periods of time
2. Identity & Access Management
 Inter-application communication
 Within an organization – IAM integrated
3. Amazon Cognito
 Appropriate for third-party integration
Amazon Cognito
 User/identity authentication service.
 Support storage of user data in the cloud (mobile app
preferences and state).
 Authenticate users against federated identity providers
(Facebook/Google).
 Manage custom identity/user pool.
 Sync functionality to synchronize user profile data across
devices.
Amazon Cognito
User Pools
 Federated Managing “own” user directory/sign-ups etc.
 Support multi-factor authentication (MFA)
 Users can start anonymous and then register
 Password recovery (SNS/email/etc.)
 Collect maintain user meta-information
User Pools
User Pools
Federated Identities
 Create unique identities for your users and federate them
with identity providers.
 Supported providers:
 Amazon, Facebook, Google, Twitter/Digits
 Amazon Cognito User Pools
 Open ID Connect Providers
 SAML Identity Provider
 Developer Authenticated Identities
Federated Identities
Federated Identities
Cognito + API Gateway
Amazon
Cognito API-Gateway
Identity
Provider
Client
Login
Get Id
Validation
Invoke Web Service
Cognito + API Gateway
JavaScript client: Invoking secured API - config
Cognito + API Gateway
JavaScript client: Invoking secured API - config
Java & Lambda
Lambda using Java
1. Loading a method directly without implementing an
interface.
outputType handler-name(inputType, Context ) {
...
}
 inputType – event data or custom object
 context – Java object containing executing environment
information
 outputType – result for synchronous calls
2. Implementing a standard interface provided by aws-
lambda-java-core:
 RequestHandler – custom input/output objects:
 getters/setters/no arg constructor
 Serialized to JSON automatically
 RequestStreamHandler – input/output stream responses
Java Example
JSON converted to Java
Objects using Jackson
Java Example
Dependencies
Uber JAR
Java Demo
Demo
Java vs. JavaScript
 Hello World Java:
 167.63 ms (Billed 200 ms)
 43 MB
 Hello World JavaScript:
 2.05 ms
 31 MB
Java EE vs AWS
 Java EE is a standard with several implementations.
 AWS is a set of ready-to-use services:
 SQS + SNS ~ JMS (roughly!)
 Kinesis ~ Apache Kafka
 Elastic Search ~ Lucene
 Lambda ~ Stateless Session Beans
 Transactions?
 Injection?
 S3 Buckets – No equivalent
 DynamoDB ~ MongoDB/Couchbase
 AWS cloud spans regions/data centers
 Data automatically mirrored
Technical
 Distributed transactions
 Long running tasks
 Report Generation
 Compute intensive tasks
 Rules engines
 Third party dependencies
applications
 Integration with legacy
systems
 Websockets (bi-directional
communication)
Legal
 Estimating and controlling
costs
 Third party licenses
 Regulatory requirements
 Snapshots for security
instances
Reason to use Java EE
Example Architecture
EC2
Java EE Container
RDS
SQL
Database
Amazon API Gateway
EC2
Java EE
Container
Amazon Lambda
Java JS Python
Amazon SQS Elastic Search
DynamoDB S3
Amazon SNS
Conclusion
Challenges
• Documentation!
• Testing
• Debugging
• Tooling support
• Error handling
• AWS Code Commit integration
• Node.js version lagging
Best Practices
 Small archives containing code
 Don’t include the entire application!
 Minimize startup costs
 Periodically invoke lambdas to keep “warm”
 Monitor logs for failures
Resources
 AWS Compute Blog
 https://aws.amazon.com/blogs/compute/
 AWS Forums
 https://forums.aws.amazon.com/forum.jspa?forumID=
186
 AWS Pet Store
 https://github.com/awslabs/api-gateway-secure-pet-
store
 http://tinyurl.com/z3qyefg
 Authentication/Cognito
 https://goo.gl/auEWLl
 FAQ
 https://aws.amazon.com/lambda/faqs/
Q&A
 Twitter: @ctjava
 Email: rcuprak@gmail.com
 Blog: cuprak.info

Mais conteúdo relacionado

Mais procurados

Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Ryan Cuprak
 
Microservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker ContainersMicroservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker ContainersDanilo Poccia
 
(DVO313) Building Next-Generation Applications with Amazon ECS
(DVO313) Building Next-Generation Applications with Amazon ECS(DVO313) Building Next-Generation Applications with Amazon ECS
(DVO313) Building Next-Generation Applications with Amazon ECSAmazon Web Services
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldAmazon Web Services
 
Infrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationInfrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationAmazon Web Services
 
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...Amazon Web Services
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersGunnar Hillert
 
Gruntwork Executive Summary
Gruntwork Executive SummaryGruntwork Executive Summary
Gruntwork Executive SummaryYevgeniy Brikman
 
What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)Michael Collier
 
Running Microservices and Docker with AWS Elastic Beanstalk
Running Microservices and Docker with AWS Elastic BeanstalkRunning Microservices and Docker with AWS Elastic Beanstalk
Running Microservices and Docker with AWS Elastic BeanstalkAmazon Web Services
 
DDD, CQRS and testing with ASP.Net MVC
DDD, CQRS and testing with ASP.Net MVCDDD, CQRS and testing with ASP.Net MVC
DDD, CQRS and testing with ASP.Net MVCAndy Butland
 
Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)Michael Collier
 
Programming Azure Active Directory (DevLink 2014)
Programming Azure Active Directory (DevLink 2014)Programming Azure Active Directory (DevLink 2014)
Programming Azure Active Directory (DevLink 2014)Michael Collier
 
Play + scala + reactive mongo
Play + scala + reactive mongoPlay + scala + reactive mongo
Play + scala + reactive mongoMax Kremer
 
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...Amazon Web Services
 
How lagom helps to build real world microservice systems
How lagom helps to build real world microservice systemsHow lagom helps to build real world microservice systems
How lagom helps to build real world microservice systemsMarkus Eisele
 
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014Amazon Web Services
 
Writing RESTful web services using Node.js
Writing RESTful web services using Node.jsWriting RESTful web services using Node.js
Writing RESTful web services using Node.jsFDConf
 

Mais procurados (20)

Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
Microservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker ContainersMicroservices on AWS using AWS Lambda and Docker Containers
Microservices on AWS using AWS Lambda and Docker Containers
 
(DVO313) Building Next-Generation Applications with Amazon ECS
(DVO313) Building Next-Generation Applications with Amazon ECS(DVO313) Building Next-Generation Applications with Amazon ECS
(DVO313) Building Next-Generation Applications with Amazon ECS
 
Application Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless WorldApplication Lifecycle Management in a Serverless World
Application Lifecycle Management in a Serverless World
 
Infrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormationInfrastructure Continuous Delivery Using AWS CloudFormation
Infrastructure Continuous Delivery Using AWS CloudFormation
 
Deep Dive:EC2 Container Service
Deep Dive:EC2 Container ServiceDeep Dive:EC2 Container Service
Deep Dive:EC2 Container Service
 
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
Managing Docker & ECS Based Applications with AWS Elastic Beanstalk - DevDay ...
 
Cloud Foundry for Spring Developers
Cloud Foundry for Spring DevelopersCloud Foundry for Spring Developers
Cloud Foundry for Spring Developers
 
Gruntwork Executive Summary
Gruntwork Executive SummaryGruntwork Executive Summary
Gruntwork Executive Summary
 
What's New for the Windows Azure Developer? Lots! (July 2013)
What's New for the Windows Azure Developer?  Lots! (July 2013)What's New for the Windows Azure Developer?  Lots! (July 2013)
What's New for the Windows Azure Developer? Lots! (July 2013)
 
Building a chatbot – step by step
Building a chatbot – step by stepBuilding a chatbot – step by step
Building a chatbot – step by step
 
Running Microservices and Docker with AWS Elastic Beanstalk
Running Microservices and Docker with AWS Elastic BeanstalkRunning Microservices and Docker with AWS Elastic Beanstalk
Running Microservices and Docker with AWS Elastic Beanstalk
 
DDD, CQRS and testing with ASP.Net MVC
DDD, CQRS and testing with ASP.Net MVCDDD, CQRS and testing with ASP.Net MVC
DDD, CQRS and testing with ASP.Net MVC
 
Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)Automating Your Microsoft Azure Environment (DevLink 2014)
Automating Your Microsoft Azure Environment (DevLink 2014)
 
Programming Azure Active Directory (DevLink 2014)
Programming Azure Active Directory (DevLink 2014)Programming Azure Active Directory (DevLink 2014)
Programming Azure Active Directory (DevLink 2014)
 
Play + scala + reactive mongo
Play + scala + reactive mongoPlay + scala + reactive mongo
Play + scala + reactive mongo
 
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
Releasing Software Quickly and Reliably With AWS CodePipeline by Mark Mansour...
 
How lagom helps to build real world microservice systems
How lagom helps to build real world microservice systemsHow lagom helps to build real world microservice systems
How lagom helps to build real world microservice systems
 
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
(APP201) Going Zero to Sixty with AWS Elastic Beanstalk | AWS re:Invent 2014
 
Writing RESTful web services using Node.js
Writing RESTful web services using Node.jsWriting RESTful web services using Node.js
Writing RESTful web services using Node.js
 

Destaque

Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with GradleRyan Cuprak
 
Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]Ryan Cuprak
 
Java EE 8 Update
Java EE 8 UpdateJava EE 8 Update
Java EE 8 UpdateRyan Cuprak
 
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAmazon Web Services
 
Docker and java, at Montréal JUG
Docker and java, at Montréal JUGDocker and java, at Montréal JUG
Docker and java, at Montréal JUGAnthony Dahanne
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Ryan Cuprak
 
Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Ryan Cuprak
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Ryan Cuprak
 
Microservices Minus the Hype: How to Build and Why
Microservices Minus the Hype: How to Build and WhyMicroservices Minus the Hype: How to Build and Why
Microservices Minus the Hype: How to Build and WhyMark Heckler
 
Serverless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to MicroservicesServerless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to MicroservicesFrank Munz
 
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature Mapping
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature MappingMicrosoft Azure vs Amazon Web Services (AWS) Services & Feature Mapping
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature MappingIlyas F ☁☁☁
 
Real-time Data Processing using AWS Lambda
Real-time Data Processing using AWS LambdaReal-time Data Processing using AWS Lambda
Real-time Data Processing using AWS LambdaAmazon Web Services
 
Crystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPICrystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPIScott Triglia
 
Jms deep dive [con4864]
Jms deep dive [con4864]Jms deep dive [con4864]
Jms deep dive [con4864]Ryan Cuprak
 
Comercio. que e comercio,actos de comercio, comerciante, requisitos del comer...
Comercio. que e comercio,actos de comercio, comerciante, requisitos del comer...Comercio. que e comercio,actos de comercio, comerciante, requisitos del comer...
Comercio. que e comercio,actos de comercio, comerciante, requisitos del comer...livinstong zerna
 
Ponencia de Marta Díez, IES Eunate_Jardunaldiak Jesuitinas
Ponencia de Marta Díez, IES Eunate_Jardunaldiak JesuitinasPonencia de Marta Díez, IES Eunate_Jardunaldiak Jesuitinas
Ponencia de Marta Díez, IES Eunate_Jardunaldiak JesuitinasColegio Jesuitinas Pamplona
 

Destaque (20)

Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with Gradle
 
Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]Top 50 java ee 7 best practices [con5669]
Top 50 java ee 7 best practices [con5669]
 
Java EE 8 Update
Java EE 8 UpdateJava EE 8 Update
Java EE 8 Update
 
What's New with AWS Lambda
What's New with AWS LambdaWhat's New with AWS Lambda
What's New with AWS Lambda
 
AWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless CloudAWS Lambda and the Serverless Cloud
AWS Lambda and the Serverless Cloud
 
Docker and java, at Montréal JUG
Docker and java, at Montréal JUGDocker and java, at Montréal JUG
Docker and java, at Montréal JUG
 
Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and Hybrid Mobile Development with Apache Cordova and
Hybrid Mobile Development with Apache Cordova and
 
Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)Batching and Java EE (jdk.io)
Batching and Java EE (jdk.io)
 
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
Hybrid Mobile Development with Apache Cordova and Java EE 7 (JavaOne 2014)
 
Kinds of letter
Kinds of letterKinds of letter
Kinds of letter
 
Microservices Minus the Hype: How to Build and Why
Microservices Minus the Hype: How to Build and WhyMicroservices Minus the Hype: How to Build and Why
Microservices Minus the Hype: How to Build and Why
 
Serverless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to MicroservicesServerless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to Microservices
 
AWS Lambda
AWS LambdaAWS Lambda
AWS Lambda
 
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature Mapping
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature MappingMicrosoft Azure vs Amazon Web Services (AWS) Services & Feature Mapping
Microsoft Azure vs Amazon Web Services (AWS) Services & Feature Mapping
 
Real-time Data Processing using AWS Lambda
Real-time Data Processing using AWS LambdaReal-time Data Processing using AWS Lambda
Real-time Data Processing using AWS Lambda
 
Crystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPICrystal clear service interfaces w/ Swagger/OpenAPI
Crystal clear service interfaces w/ Swagger/OpenAPI
 
Jms deep dive [con4864]
Jms deep dive [con4864]Jms deep dive [con4864]
Jms deep dive [con4864]
 
Jesus gonzalez
Jesus gonzalezJesus gonzalez
Jesus gonzalez
 
Comercio. que e comercio,actos de comercio, comerciante, requisitos del comer...
Comercio. que e comercio,actos de comercio, comerciante, requisitos del comer...Comercio. que e comercio,actos de comercio, comerciante, requisitos del comer...
Comercio. que e comercio,actos de comercio, comerciante, requisitos del comer...
 
Ponencia de Marta Díez, IES Eunate_Jardunaldiak Jesuitinas
Ponencia de Marta Díez, IES Eunate_Jardunaldiak JesuitinasPonencia de Marta Díez, IES Eunate_Jardunaldiak Jesuitinas
Ponencia de Marta Díez, IES Eunate_Jardunaldiak Jesuitinas
 

Semelhante a Containerless in the Cloud with AWS Lambda

Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...Amazon Web Services
 
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...Amazon Web Services
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureMikhail Prudnikov
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...Amazon Web Services
 
Lambda and serverless - DevOps North East Jan 2017
Lambda and serverless - DevOps North East Jan 2017Lambda and serverless - DevOps North East Jan 2017
Lambda and serverless - DevOps North East Jan 2017Mike Shutlar
 
A Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS LambdaA Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS LambdaAmazon Web Services
 
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless CloudAWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudAmazon Web Services
 
Serverless Design Patterns (London Dev Community)
Serverless Design Patterns (London Dev Community)Serverless Design Patterns (London Dev Community)
Serverless Design Patterns (London Dev Community)Yan Cui
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...Amazon Web Services
 
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)Amazon Web Services
 
Going Serverless
Going ServerlessGoing Serverless
Going Serverlessdehms
 
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
 
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...Amazon Web Services
 
AWS re:Invent 2016 : announcement, technical demos and feedbacks
AWS re:Invent 2016 : announcement, technical demos and feedbacksAWS re:Invent 2016 : announcement, technical demos and feedbacks
AWS re:Invent 2016 : announcement, technical demos and feedbacksEmmanuel Quentin
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션Amazon Web Services Korea
 
Serverless Design Patterns
Serverless Design PatternsServerless Design Patterns
Serverless Design PatternsYan Cui
 

Semelhante a Containerless in the Cloud with AWS Lambda (20)

Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
AWS October Webinar Series - AWS Lambda Best Practices: Python, Scheduled Job...
 
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
AWS March 2016 Webinar Series - AWS IoT Real Time Stream Processing with AWS ...
 
DevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless ArchitectureDevOps, Microservices and Serverless Architecture
DevOps, Microservices and Serverless Architecture
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...Supercharge Your Product Development with Continuous Delivery & Serverless Co...
Supercharge Your Product Development with Continuous Delivery & Serverless Co...
 
Lambda and serverless - DevOps North East Jan 2017
Lambda and serverless - DevOps North East Jan 2017Lambda and serverless - DevOps North East Jan 2017
Lambda and serverless - DevOps North East Jan 2017
 
A Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS LambdaA Walk in the Cloud with AWS Lambda
A Walk in the Cloud with AWS Lambda
 
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless CloudAWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
AWS Summit Auckland - Getting Started with AWS Lambda and the Serverless Cloud
 
Getting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless CloudGetting Started with AWS Lambda and the Serverless Cloud
Getting Started with AWS Lambda and the Serverless Cloud
 
Serverless Design Patterns (London Dev Community)
Serverless Design Patterns (London Dev Community)Serverless Design Patterns (London Dev Community)
Serverless Design Patterns (London Dev Community)
 
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
AWS re:Invent 2016: Deep-Dive: Native, Hybrid and Web patterns with Serverles...
 
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
AWS re:Invent 2016: Building Complex Serverless Applications (GPST404)
 
Going Serverless
Going ServerlessGoing Serverless
Going Serverless
 
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
 
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...
Zombie Apocalypse Workshop by Warren Santer and Kyle Somers, Solutions Archit...
 
AWS re:Invent 2016 : announcement, technical demos and feedbacks
AWS re:Invent 2016 : announcement, technical demos and feedbacksAWS re:Invent 2016 : announcement, technical demos and feedbacks
AWS re:Invent 2016 : announcement, technical demos and feedbacks
 
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
윈도 닷넷 개발자를 위한 솔루션 클라우드 데브옵스 솔루션
 
Deep Dive on Serverless Stack
Deep Dive on Serverless StackDeep Dive on Serverless Stack
Deep Dive on Serverless Stack
 
Serverless Design Patterns
Serverless Design PatternsServerless Design Patterns
Serverless Design Patterns
 

Mais de Ryan Cuprak

Jakarta EE Test Strategies (2022)
Jakarta EE Test Strategies (2022)Jakarta EE Test Strategies (2022)
Jakarta EE Test Strategies (2022)Ryan Cuprak
 
DIY Home Weather Station (Devoxx Poland 2023)
DIY Home Weather Station (Devoxx Poland 2023)DIY Home Weather Station (Devoxx Poland 2023)
DIY Home Weather Station (Devoxx Poland 2023)Ryan Cuprak
 
Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)Ryan Cuprak
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVMRyan Cuprak
 
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)Ryan Cuprak
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeansRyan Cuprak
 
Preparing for java 9 modules upload
Preparing for java 9 modules uploadPreparing for java 9 modules upload
Preparing for java 9 modules uploadRyan Cuprak
 
Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with GradleRyan Cuprak
 
Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]Ryan Cuprak
 
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)Combining R With Java For Data Analysis (Devoxx UK 2015 Session)
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)Ryan Cuprak
 
JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014Ryan Cuprak
 
50 EJB 3 Best Practices in 50 Minutes - JavaOne 2014
50 EJB 3 Best Practices in 50 Minutes - JavaOne 201450 EJB 3 Best Practices in 50 Minutes - JavaOne 2014
50 EJB 3 Best Practices in 50 Minutes - JavaOne 2014Ryan Cuprak
 
JavaOne 2013: Organizing Your Local Community
JavaOne 2013: Organizing Your Local CommunityJavaOne 2013: Organizing Your Local Community
JavaOne 2013: Organizing Your Local CommunityRyan Cuprak
 

Mais de Ryan Cuprak (14)

Jakarta EE Test Strategies (2022)
Jakarta EE Test Strategies (2022)Jakarta EE Test Strategies (2022)
Jakarta EE Test Strategies (2022)
 
DIY Home Weather Station (Devoxx Poland 2023)
DIY Home Weather Station (Devoxx Poland 2023)DIY Home Weather Station (Devoxx Poland 2023)
DIY Home Weather Station (Devoxx Poland 2023)
 
Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)Why jakarta ee matters (ConFoo 2021)
Why jakarta ee matters (ConFoo 2021)
 
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVMPolygot Java EE on the GraalVM
Polygot Java EE on the GraalVM
 
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)
 
Node.js Development with Apache NetBeans
Node.js Development with Apache NetBeansNode.js Development with Apache NetBeans
Node.js Development with Apache NetBeans
 
Preparing for java 9 modules upload
Preparing for java 9 modules uploadPreparing for java 9 modules upload
Preparing for java 9 modules upload
 
Faster Java EE Builds with Gradle
Faster Java EE Builds with GradleFaster Java EE Builds with Gradle
Faster Java EE Builds with Gradle
 
Java EE 8
Java EE 8Java EE 8
Java EE 8
 
Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]Faster java ee builds with gradle [con4921]
Faster java ee builds with gradle [con4921]
 
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)Combining R With Java For Data Analysis (Devoxx UK 2015 Session)
Combining R With Java For Data Analysis (Devoxx UK 2015 Session)
 
JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014JavaFX Versus HTML5 - JavaOne 2014
JavaFX Versus HTML5 - JavaOne 2014
 
50 EJB 3 Best Practices in 50 Minutes - JavaOne 2014
50 EJB 3 Best Practices in 50 Minutes - JavaOne 201450 EJB 3 Best Practices in 50 Minutes - JavaOne 2014
50 EJB 3 Best Practices in 50 Minutes - JavaOne 2014
 
JavaOne 2013: Organizing Your Local Community
JavaOne 2013: Organizing Your Local CommunityJavaOne 2013: Organizing Your Local Community
JavaOne 2013: Organizing Your Local Community
 

Último

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 organizationRadu Cotescu
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 
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 AutomationSafe Software
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
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
 

Último (20)

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
 
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
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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...
 
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
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
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
 

Containerless in the Cloud with AWS Lambda

  • 1. Containerless in the Cloud with AWS Lambda RYAN CUPRAK
  • 3. Containers + Cloud EC2 Tomcat / Java EE Container EC2 Tomcat / Java EE Container EC2 JMS Server RDS SQL Database
  • 4. Containers = Platform Lock-in Language Tool Chain Ecosystem
  • 5. Container Drawbacks  Overkill for many types of applications  Hard to ‘automatically’ scale  Complex programming models  Significant skills investment:  Security  Configuration  Technology stack
  • 6. Traditional App Drawbacks  Servers  Data Centers  Software  Monitoring tools  Test environments  IT support  Service contracts  Data Replication & Policies  Approvals
  • 7. Container Challenge QUICKLY develop a web and mobile application:  Registration and authentication (OAuth)  HTTPS  SMS notifications  RESTful endpoints  Automatic scalability across the globe  Native code for both iOS and Android  Versioning  Real-time monitoring Time to go: Containerless and Serverless
  • 8. What is Amazon Lambda?
  • 9. What is Lambda? IaaS • Infrastructure as a Service PaaS • Platform as a Service SaaS • Software as a Service FaaS • Function as a Service
  • 10. What is Lambda? Code Deploy Run
  • 11. What is Lambda?  Lambda is a stateless function  Executes in response to an event  Executes in an isolated environment  Can be implemented using:  JavaScript  Java  Python  C#  Dependencies (executables/libraries) can be packaged with a library.
  • 12. Example Function: 1 exports.handler = function(event,context) { context.succeed('Hello ConFoo!'); }; Handler Function Data passed to function (converted from JSON) Lambda runtime
  • 13. Example Function: 2 exports.handler = function(event,context) { context.succeed('Hello ' + event.firstName + ' ' + event.lastName + ' you are at ConFoo!'); }; Parsed Parameters { "firstName": "Ryan", "lastName": "Cuprak” }
  • 14. Demo
  • 15. Lambda Pricing  Requests  First 1 million requests are FREE  $0.20 per each million requests thereafter  Duration:  Charged $0.00001667 for every gigabyte second used  Free Tier Memory (MB) Free sec/month Price / 100 ms ($) 128 3,200,000 0.000000208 192 2,133,333 0.000000313 256 1,600,000 0.000000417 …. … …
  • 16. Cost Scenarios Executions Memory Execution Time Cost 50,000 128 1 second $0.11 100,000 128 1 second $0.23 500,000 128 1 second $1.14 1,000,000 128 1 second $2.28 50,000 256 1 second $0.21 100,000 256 1 second $0.42 500,000 256 1 second $2.08 1,000,000 256 1 second $4.17 50,000 128 2 second $0.21 100,000 128 2 second $0.42 500,000 128 2 second $2.08 1,000,000 128 2 second $4.17 Not Including Free Tier – add other services
  • 17. Lambda Basics  Security provided by IAM – Identity & Access Management.  Lambda functions can start threads, access the disk, access other AWS services.  Default safety threshold of 100 concurrent executions per region.  Can be increased per request.  AWS will attempt to invoke a Lambda function 3 times.  External libraries should be bundled with Lambda function (zip/jar)
  • 18. Execution Environment Runtime versions:  Node.js v4.3.2  Old, current Node.js release: 6.10.0  Java – Java 8 (OpenJDK)  Python 2.7  .NET Core (1.0.1 C#) Libraries available in execution environment:  AWS SDK for JavaScript (2.16.0)  AWS SDK for Python  AWS build of OpenJDK 8
  • 19. Execution Environment…  Lambda environment based on: amzn-ami-hvm-2016.03.3.x86_64-gp2  Linux kernel: 4.4.35-33.55.amzn1.x86_64  Only 64 bit binaries are supported.
  • 20. Environment Variables Variable Variable LAMBDA_TASK_ROOT AWS_LAMBDA_FUNCTION_VERSION AWS_EXECUTION_ENV PATH LAMBDA_RUNTIME_DIR LANG AWS_REGION LD_LIBRARY_PATH AWS_DEFAULT_REGION NODE_PATH AWS_LAMBDA_LOG_GROUP_NAME PYTHON_PATH AWS_LAMBDA_LOG_STREAM_NAME • AWS_ACCESS_KEY • AWS_ACCESS_KEY_ID • AWS_SECRET_KEY • AWS_SECRET_ACCESS_KEY • AWS_SESSION_TOKEN • AWS_SECURITY_TOKEN AWS_LAMBDA_FUNCTION_NAME AWS_LAMBDA_FUNCTION_MEMORY_S IZE
  • 21. Versioning  New lambda function = $LATEST version  ARN = Amazon Resource Number – uniquely identifies an Amazon resource  Two ARNs associated with a lambda function:  Qualified ARN  arn:aws:lambda:aws-region:acct-id:function:helloworld:$LATEST  Unqualified ARN  arn:aws:lambda:aws-region:acct-id:function:helloworld  New versions must be explicitly published
  • 22. Logging  Node.js  Console.log/error/warn/info()  Java  log4j 1.2 (LambdaLogger.log())  System.out/err – each line separate event  C#  Console.Write/WriteLine  Lambda.Log()  Via context object: context.Logger.log()  Python  Print statements  Logger functions in logger module: logging.Logger.info
  • 24. Failures & Errors  Lambda function can fail for the following reasons:  Function doesn’t complete before time limit  Input data fails to parse  Runs out of memory  Failure handling depends upon how it was invoked:  Non-stream based  Synchronous – Error 429 is returned, client responsible to retries.  Asynchronous – Retry twice with a time delay, DLQ.  Stream-based:  Will attempt to re-process until it succeeds to data expires.  No new records will be processed
  • 25. Availability Regions  Northern Virginia  Ohio  Oregon  Northern California  Montreal  São Paulo  GovCloud  Iceland  Frankfurt  London  Signapore  Tokyo  Sydney  Seoul  Mumbai  Beijin
  • 26. Resource Limits Resource Default Limit Ephemeral disk capacity ("/tmp" space) 512 MB Number of file descriptors 1024 Number of processes and threads (combined total) 1024 Maximum execution duration per request 300 seconds Invoke request body payload size (RequestResponse) 6 MB Invoke request body payload size (Event) 128 K Invoke response body payload size (RequestResponse) 6 MB
  • 27. Deployment Limits Item Default Limit Lambda function deployment package size (.zip/.jar file) 50 MB Total size of all the deployment packages that can be uploaded per region 75 GB Size of code/dependencies that you can zip into a deployment package (uncompressed zip/jar size) 250 MB Total size of environment variables set 4 KB
  • 29. Event Sources  Invocations: Asynchronous or Synchronous  Events sources from AWS services:  Amazon S3  Kinesis  DynamoDB  CloudTrail  SNS  Code Commit  HTTPS – via Amazon API Gateway  Custom app sources (ex. Android)  Scheduled events
  • 30. Use Cases  S3 + Lambda – image processing, filter, document analysis, indexing.  Kinesis + Lambda – transaction order processing, auditing.  SNS + Lambda – alarm response, auditing, event processing.  DynamoDB + Lambda – data validation, data processing, filter, notification.  Alexa + Lambda – automated voice responses (Amazon Echo).
  • 34. API-Gateway  Build, deploy, manage RESTful APIs  Supports throttling and protection against DDoS  Supporting versioning and staging  Auto-generates client implementations:  Java, JavaScript, Android, Object-C, Swift  Flexible authorization model – ties in with Amazon Cognito. HTTPS Restful Invokes
  • 40. API-Gateway  Published an API – now what?  APIs can be sold!  Two concepts:  Usage Plan  API Key  Steps:  Create usage plan  Associate a key  Associate a key on the service
  • 42. Amazon Cognito Three ways to secure an API-Gateway: 1. API-Keys  Appropriate for service-to-service communication  Risky to place secret key on client for long periods of time 2. Identity & Access Management  Inter-application communication  Within an organization – IAM integrated 3. Amazon Cognito  Appropriate for third-party integration
  • 43. Amazon Cognito  User/identity authentication service.  Support storage of user data in the cloud (mobile app preferences and state).  Authenticate users against federated identity providers (Facebook/Google).  Manage custom identity/user pool.  Sync functionality to synchronize user profile data across devices.
  • 45. User Pools  Federated Managing “own” user directory/sign-ups etc.  Support multi-factor authentication (MFA)  Users can start anonymous and then register  Password recovery (SNS/email/etc.)  Collect maintain user meta-information
  • 48. Federated Identities  Create unique identities for your users and federate them with identity providers.  Supported providers:  Amazon, Facebook, Google, Twitter/Digits  Amazon Cognito User Pools  Open ID Connect Providers  SAML Identity Provider  Developer Authenticated Identities
  • 51. Cognito + API Gateway Amazon Cognito API-Gateway Identity Provider Client Login Get Id Validation Invoke Web Service
  • 52. Cognito + API Gateway JavaScript client: Invoking secured API - config
  • 53. Cognito + API Gateway JavaScript client: Invoking secured API - config
  • 55. Lambda using Java 1. Loading a method directly without implementing an interface. outputType handler-name(inputType, Context ) { ... }  inputType – event data or custom object  context – Java object containing executing environment information  outputType – result for synchronous calls 2. Implementing a standard interface provided by aws- lambda-java-core:  RequestHandler – custom input/output objects:  getters/setters/no arg constructor  Serialized to JSON automatically  RequestStreamHandler – input/output stream responses
  • 56. Java Example JSON converted to Java Objects using Jackson
  • 61. Java vs. JavaScript  Hello World Java:  167.63 ms (Billed 200 ms)  43 MB  Hello World JavaScript:  2.05 ms  31 MB
  • 62. Java EE vs AWS  Java EE is a standard with several implementations.  AWS is a set of ready-to-use services:  SQS + SNS ~ JMS (roughly!)  Kinesis ~ Apache Kafka  Elastic Search ~ Lucene  Lambda ~ Stateless Session Beans  Transactions?  Injection?  S3 Buckets – No equivalent  DynamoDB ~ MongoDB/Couchbase  AWS cloud spans regions/data centers  Data automatically mirrored
  • 63. Technical  Distributed transactions  Long running tasks  Report Generation  Compute intensive tasks  Rules engines  Third party dependencies applications  Integration with legacy systems  Websockets (bi-directional communication) Legal  Estimating and controlling costs  Third party licenses  Regulatory requirements  Snapshots for security instances Reason to use Java EE
  • 64. Example Architecture EC2 Java EE Container RDS SQL Database Amazon API Gateway EC2 Java EE Container Amazon Lambda Java JS Python Amazon SQS Elastic Search DynamoDB S3 Amazon SNS
  • 66. Challenges • Documentation! • Testing • Debugging • Tooling support • Error handling • AWS Code Commit integration • Node.js version lagging
  • 67. Best Practices  Small archives containing code  Don’t include the entire application!  Minimize startup costs  Periodically invoke lambdas to keep “warm”  Monitor logs for failures
  • 68. Resources  AWS Compute Blog  https://aws.amazon.com/blogs/compute/  AWS Forums  https://forums.aws.amazon.com/forum.jspa?forumID= 186  AWS Pet Store  https://github.com/awslabs/api-gateway-secure-pet- store  http://tinyurl.com/z3qyefg  Authentication/Cognito  https://goo.gl/auEWLl  FAQ  https://aws.amazon.com/lambda/faqs/
  • 69. Q&A  Twitter: @ctjava  Email: rcuprak@gmail.com  Blog: cuprak.info