220 likes | 234 Views
Explore the evolution of computing from physical servers to serverless architecture, highlighting benefits such as agility, cost-efficiency, and automation. Uncover the concept of serverless computing and dive into AWS Lambda's capabilities in running code in response to events, supporting various languages and event sources.
E N D
Anil Erduran – EMEA Microsoft Partner Solutions Architect anerdura@amazon.com Getting Started with Serverless Computing
Mobile AI Marketplace Mgmt. Tools Analytics Dev Tools IoT Enterprise Applications Monitoring Query Large Data Sets Business Applications The AWS Platform Deep L. Camera Defender Document Sharing Auditing Elasticsearch DevOps Tools Transcribe Translate Management Email & Calendaring Service Catalog Business Analytics Business Intelligence Managed Models Analytics VR Hosted Desktops Server Management Hadoop/Spark Build, Test, Monitor Apps Video Security Rules Engine VR/AR Application Streaming Voice & Text Chatbots Configuration Tracking Real-time Data Streaming Private Git Repositories Push Notifications Local Compute and Sync Networking Backup Game Development Machine Learning Optimization Orchestration Workflows Continuous Delivery Build, Deploy, Manage APIs Device Shadows Database & Storage Media Store/Convert Text-to-Speech. NLP 3D Game Engine SaaS Subscriptions Resource Templates Managed Search Build, Test, and Debug Device Testing Device Gateway Live Image Analysis Registry Multi-player Backends Operating Systems Automation Managed ETL Deployment Identity Account Support Support Migration Application Discovery Application Migration Data Migration Database Migration Server Migration Managed Services Hybrid Data Integration Integrated Networking Identity Federation Resource Management VMware on AWS Devices & Edge Systems Professional Services Application Services Transcoding Step Functions Messaging Partner Ecosystem Identity & Access Key Storage & Management Active Directory DDoS Protection Application Analysis Certificate Management Web App. Firewall Security Threat detection Training & Certification Graph Aurora MySQL PostgreSQL Oracle SQL Server MariaDB Data Warehousing NoSQL Database Solution Architects Object Storage Archive Exabyte-scale Data Transport Block Storage Managed File Storage Select Storage Account Management Virtual Machines Simple Servers Web Applications Auto Scaling Batch Containers Event-driven Computing Compute Bare-Metal Security & Pricing Reports Isolated Resources Dedicated Connections Global CDN Load Balancing Scalable DNS Networking Technical Acct. Management Regions Availability Zones Points of Presence Infrastructure
AWS Tools for Windows AWS Toolkit for Visual Studio Visual Studio AWS SDK for .NET NuGet AWS Tools for PowerShell PowerShell AWS CLI Command line AWS Tools for VSTS Visual Studio Team Services
AWS .NET SDK AWS SDK for .NET Other 100+ Services Amazon EC2 AWS Elastic Beanstalk AmazonS3 AmazonDynamoDB
AWS Toolkit for Visual Studio • See your AWS resources • Launch VMs, databases, create DynamoDB tables, more • ASP.NET and Lambda deployment wizards • Scan DynamoDB tables • Test your Lambda functions • Manage CloudFormation stacks • More!
Lots of sample project templates in the New Project wizard. AWS Toolkit for Visual Studio
“There is no server better than no server” – Werner Vogels, CTO Amazon
Let’s take a look at the evolution of computing Physical Serversin Datacenters Virtual Serversin Datacenters Virtual Serversin the Cloud a
Each progressive step was better Physical Serversin Datacenters Virtual Serversin Datacenters Virtual Serversin the Cloud • Higher utilization • Faster provisioning speed • Improved uptime • Disaster recovery • Hardware independence • Trade CAPEX for OPEX • More scale • Elastic resources • Faster speed and agility • Reduced maintenance • Better availability and fault tolerance • Better Automation a
But there are still limitations Physical Serversin Datacenters Virtual Serversin Datacenters Virtual Serversin the Cloud • Higher utilization • Faster provisioning speed • Improved uptime • Disaster recovery • Hardware independence • Trade CAPEX for OPEX • More scale • Elastic resources • Faster speed and agility • Reduced maintenance • Better availability and fault tolerance • Better Automation • Still need to administer virtual servers • Still need to manage capacity and utilization • Still need to size workloads • Still need to manage availability, fault tolerance • Still expensive to run intermittent jobs a
What isserverless? Build and run applicationswithout thinking about servers
AWS Lambda: Run code in response to events { EVENTSOURCE FUNCTION 2 + 2 = 4 Changes in data state NodeJS Python Java C# Requests to endpoints Changes in resource state
Example event sources that trigger AWS Lambda DATA STORES ENDPOINTS AWS Step Functions AWS IoT Amazon S3 Amazon DynamoDB Amazon Kinesis AmazonAlexa CONFIGURATION REPOSITORIES EVENT/MESSAGE SERVICES AWS CodeCommit AWS CloudFormation AWS CloudTrail AmazonSES Amazon Cognito AmazonAPI Gateway Amazon SNS Amazon CloudWatch Cron events … and a few more with more on the way!
Benefits of Lambda No servers to provision or manage Scales with usage Never pay for idle Availability and fault tolerance built in
Common Lambda Use Cases </> </> • Web Applications • Static websites • Complex web apps • Packages for Flask and Express • Amazon Alexa • Powering voice-enabled apps • Alexa Skills Kit • Autonomous IT • Policy engines • Extending AWS services • Infrastructure management • Backends • Apps & services • Mobile • IoT • Data Processing • Real time • MapReduce • Batch • Chatbots • Powering chatbot logic
Services for Building Serverless Applications Serverless Compute and API Proxy Amazon S3 Amazon API Gateway AWS Lambda AmazonDynamoDB Amazon Kinesis Database, Storage, State Management, Analytics, Messaging & Queues Amazon SQS Amazon SNS AWS X-Ray Developer Tools AWS SAM AWS CodeBuild AWS CodePipeline Third-Party Tools AWS Step Functions Open Source
Why serverless with .NET? Before… Mobile apps root volume Websites security group data volume Auto Scaling group Internet Services Load Balancer AmazonRoute 53 MS SQL Amazon RDS alarm Amazon CloudWatch
After… CloudFront Mobile apps Amazon S3 Static content Websites Internet Services AWS Lambda Amazon API Gateway AmazonRoute 53 MS SQL Amazon RDS Amazon CloudWatch
More Resources • Windows and .NET Developer Centeraws.amazon.com/net/ • AWS .NET Developer Blogaws.amazon.com/blogs/developer/category/programing-language/dot-net/ • AWS Extensions for dotnet CLIgithub.com/aws/aws-extensions-for-dotnet-cli