ServerlessDays, Belfast, January 24th, 2020
© 2020, Amazon Web Services, Inc. or its Affiliates.Danilo PocciaPrincipal Evangelist, Serverless@danilopWhat Can You Do with Serverless…in 2020 ?
View Slide
© 2020, Amazon Web Services, Inc. or its Affiliates.How does Serverless work?StorageDatabasesAnalyticsMachine Learning. . .YouruniquebusinesslogicUser uploads a pictureCustomer data updatedAnomaly detectedAPI call. . .Fully-managedservicesEventsFunctions
© 2020, Amazon Web Services, Inc. or its Affiliates.Serverless in December 2014… and the first half of 2015Thumbnails Generators!S3 Bucket Lambda FunctionS3 Bucket
© 2020, Amazon Web Services, Inc. or its Affiliates.Serverless in the first half of 2015StaticContentGenerators!S3 Bucket Lambda FunctionS3 Bucket
© 2020, Amazon Web Services, Inc. or its Affiliates.Serverless in the first half of 2015DynamicWebsites & Apps!BrowserJavaScriptDynamoDBTableS3 BucketLambda FunctionAWS SDKLambda Invoke
© 2020, Amazon Web Services, Inc. or its Affiliates.Serverless in the second half of 2015… and later on!APIs!”Alexa!” & IoTMicroservicesDevOpsBrowserWeb APIsAmazon EchoIoT DevicesServicesData StreamsDynamoDBTableS3 BucketLambda FunctionAPIGatewaySchedule
© 2020, Amazon Web Services, Inc. or its Affiliates.Over the years, customers shared some concerns…NewParadigmScalability CostsLatencyLanguageSupport
© 2020, Amazon Web Services, Inc. or its Affiliates.Observability ConfigurationManagementFunctionInvocationsExecutionEnvironmentServiceIntegrationsSo what have we been focusing on?
© 2020, Amazon Web Services, Inc. or its Affiliates.LatencyObservabilityConfigurationManagementFunctionInvocationsExecutionEnvironmentServiceIntegrationsLanguageSupportCostsScalabilityNewParadigm
© 2020, Amazon Web Services, Inc. or its Affiliates.FunctionInvocations
© 2020, Amazon Web Services, Inc. or its Affiliates.FunctionInvocationsAWS LambdaAsynchronous Invocations(Event)Max event ageMax retry attemptDestinations(to Lambda, SNS, SQS, EventBridge)⇣More controls for asyncand event-driven appsScalabilityNewParadigm
© 2020, Amazon Web Services, Inc. or its Affiliates.Configuring Async Invocations
© 2020, Amazon Web Services, Inc. or its Affiliates.AWS Lambda – Destinations for Async InvocationsAmazon S3Amazon SNSAmazon SESAmazonEventBridgeAmazonCloudWatch LogsAWS ConfigAmazonCloudFormationAWS CodeCommitAWS LambdaAmazon SNSAmazon SQSAmazonEventBridgeLambdaFunctiononSuccessonFailure
© 2020, Amazon Web Services, Inc. or its Affiliates.FunctionInvocationsCostsScalabilityNewParadigmKinesis / DynamoDB StreamsParallelization factor(no need for fan-outs)Failure-handling⇣Easier to scale streaming analytics andmanage errors when processing a stream
© 2020, Amazon Web Services, Inc. or its Affiliates.Kinesis / DynamoDB Streams Controls
© 2020, Amazon Web Services, Inc. or its Affiliates.FunctionInvocationsLatencyCostsAmazon API GatewayNew “HTTP APIs”⇣Cheaper and faster APIsReduce application costs by up to 70%Reduce application latency by up to 50%
© 2020, Amazon Web Services, Inc. or its Affiliates.Amazon API Gateway – HTTP APIsPreview
© 2020, Amazon Web Services, Inc. or its Affiliates.FunctionInvocationsCostsNewParadigmApplication Load Balancer (ALB)Weighted Target Groups⇣Fine-grained deployments with ALB, tooStickiness!Create rules depending on Host, HTTPheader/method, Query string, or Source IPSimpler migrations to serverless
© 2020, Amazon Web Services, Inc. or its Affiliates.ALB Weighted Target Groups
© 2020, Amazon Web Services, Inc. or its Affiliates.ExecutionEnvironmentLanguageSupportRuntimesPython 3.8Java 11Node.js 12Custom Runtimes⇣Use your favorite programming languageEasier to migrate existing apps
© 2020, Amazon Web Services, Inc. or its Affiliates.ExecutionEnvironmentLatencyScalabilityVPC to VPC NAT⇣Integrate VPC resources in serverless appsUse new services with Lambda functions(e.g. ElastiCache)
© 2020, Amazon Web Services, Inc. or its Affiliates.ExecutionEnvironmentLatencyCostsScalabilityAWS LambdaProvisioned Concurrency⇣No more “cold starts”Real-time apps and gamesApplications with a slow initializationDownload config/data on /tmp
© 2020, Amazon Web Services, Inc. or its Affiliates.AWS Lambda – Provisioned ConcurrencyWe do the initialization,you are responsible for thefirst invocation of the handlerAvoid lazy initializationsIntegrated withApplication Auto Scalingand AWS CodeDeploy
© 2020, Amazon Web Services, Inc. or its Affiliates.ExecutionEnvironmentCostsScalabilityNewParadigmAWS Step FunctionsExpress Workflows⇣Build more modular appsSeparate business process flowfrom implementation
© 2020, Amazon Web Services, Inc. or its Affiliates.AWS Step Functions – Express Workflows
© 2020, Amazon Web Services, Inc. or its Affiliates.ServiceIntegrationsCostsScalabilityNewParadigmAmazon RelationalDatabase Service(RDS)RDS Proxy⇣Using relational databasesin serverless apps is much easierAWS Secrets Manager stores the user nameand password for the database
© 2020, Amazon Web Services, Inc. or its Affiliates.Amazon RDS Proxy – How It WorksPreview
© 2020, Amazon Web Services, Inc. or its Affiliates.RDS Proxy + Amazon Aurora Serverless = Sample workload using Aurora Serverless PostgreSQL
© 2020, Amazon Web Services, Inc. or its Affiliates.ServiceIntegrationsCostsNewParadigmAmazon EventBridgeSchema RegistryRules can now be triggeredby CloudWatch Alarms⇣Building event-driven apps withIDE integrationIntegrating PaaS solutions with your apps
© 2020, Amazon Web Services, Inc. or its Affiliates.
© 2020, Amazon Web Services, Inc. or its Affiliates.ServiceIntegrationsScalabilityNewParadigmAmazon AthenaCreate user defined functions (UDF)using Lambda functionsRun federated queries⇣Using SQL for analyzing… almost anything!
© 2020, Amazon Web Services, Inc. or its Affiliates.Amazon Athena – Create your own data connectorPreview
© 2020, Amazon Web Services, Inc. or its Affiliates.NewParadigmAWS AmplifyNative iOS/AndroidMobile BackendsAmplify DataStore⇣Mobile backends for native appsPersistent on-device storage to write, read,and observe changes online or offline, andseamlessly sync to the cloud as well asacross devicesServiceIntegrations
© 2020, Amazon Web Services, Inc. or its Affiliates.LatencyScalabilityAWS AppSyncGraphQL+Pure WebSockets⇣Real-time apps, universal backends,migrationsServiceIntegrations
© 2020, Amazon Web Services, Inc. or its Affiliates.Enhanced Real-Time Experience on AWS AppSync
© 2020, Amazon Web Services, Inc. or its Affiliates.ConfigurationManagementNewParadigmAWS AppConfigFor EC2, containers, on-premises, Lambda,containers, mobile apps, IoT devicesApplicationEnvironmentConfiguration Profile⇣Releasing configurations changeswith fine-grained controls
© 2020, Amazon Web Services, Inc. or its Affiliates.Configuration Management for Lambda FunctionsEnvironmentVariablesParameter StoreAWS SecretsManagerAWS AppConfigIn the function configurationFor function-specific configurationsPart of AWS Systems ManagerCan be shared across multiple functionsFor secrets, can automate rotating secretsIntegrated with the new RDS ProxyPart of AWS Systems ManagerFull control during the roll out of configuration changes
© 2020, Amazon Web Services, Inc. or its Affiliates.ObservabilityCostsScalabilityNewParadigmTracing – AWS X-RayTrace Maps – for single requestsSimplified identification of servicedisruption – in Service MapsSNS/SQS support (added in July/August)API Gateway (since 2018)⇣More and easier observability
© 2020, Amazon Web Services, Inc. or its Affiliates.ObservabilityCostsScalabilityNewParadigmMonitoringCloudWatch Embedded Metric FormatPercentiles on CloudWatch metricsCloudWatch SyntheticsCloudWatch ServiceLensCloudWatch Anomaly Detection(added in September)⇣More visibility into yourapplication behavior
© 2020, Amazon Web Services, Inc. or its Affiliates.Using CloudWatch Embedded Metric Format
© 2020, Amazon Web Services, Inc. or its Affiliates.CloudWatch Synthetics – Monitor Application Endpoints
© 2020, Amazon Web Services, Inc. or its Affiliates.CloudWatch ServiceLensCloudWatch metrics and logs + AWS X-Ray traces
© 2020, Amazon Web Services, Inc. or its Affiliates.Using CloudWatch Anomaly Detection Alarms
© 2020, Amazon Web Services, Inc. or its Affiliates.Editing the Anomaly Detection Model
© 2020, Amazon Web Services, Inc. or its Affiliates.ObservabilityConfigurationManagementFunctionInvocationsExecutionEnvironmentServiceIntegrationsLatencyLanguageSupportCostsScalabilityNewParadigm
© 2020, Amazon Web Services, Inc. or its Affiliates.Observability ConfigurationManagementFunctionInvocationsExecutionEnvironmentServiceIntegrationsLots of concerns have been addressed…
© 2020, Amazon Web Services, Inc. or its Affiliates.More tooling available
© 2020, Amazon Web Services, Inc. or its Affiliates.Plus: AWS SAM Start Right21 Scheduled JobQueue ProcessingFile ProcessingAPI backendBuildSource Deploy3
© 2020, Amazon Web Services, Inc. or its Affiliates.Savings planSimplify purchasing with a flexible pricing model applying to Amazon EC2,AWS Fargate usage – Lambda coming soonRecommendations in AWS Cost ExplorerAny instance family—any regionAWS Fargate now and Lambda soonFlexibilityPreview
© 2020, Amazon Web Services, Inc. or its Affiliates.Roomba Vacuum Cleaners
© 2020, Amazon Web Services, Inc. or its Affiliates.So, what can you do with serverless, now?✓ Web/Mobile/IoT backends✓ Batch/streaming analytics✓ DevOps & IT automation✓ Voice/text chat interfaces✓ Real-time apps, multi-player games✓ Complex async jobs/tasks/activities✓ Reduce costs even more✓ Reduce complexity✓ And much, much more!
© 2020, Amazon Web Services, Inc. or its Affiliates.What Can You Do with Serverless…in 2020 ?
© 2020, Amazon Web Services, Inc. or its Affiliates.What Are You Going to Build…in 2020 ?
© 2020, Amazon Web Services, Inc. or its Affiliates.Thank you!@danilop Please give me your feedback!