SlideShare a Scribd company logo
1 of 39
Download to read offline
Software Engineering
In The Cloud
Dhaval Nagar
● Founder @ AppGambit
● AWS Serverless Hero - 2020
● 12x Amazon Web Service Certified
● 2x Google Cloud Certified
● Certified Kuberneted Application Developer
● Certified Docker Associate
● Author @ ServerlessFAQs.com
● Organizer @ Surat AWS User Group
Dhaval Nagar
COVID-19 and Cloud Computing
Businesses and individuals are finding a workaround the required quarantine and
social distancing practices through technology, the recent advances of which have
probably prevented the world from coming to a complete standstill. While the cloud
may have been a frivolous expense for many companies a decade or two ago, its
necessity today is indisputable.
https://timesofindia.indiatimes.com/spotlight/the-impact-of-covid-19-on-the-cloud-computing-industry/articleshow/75574962.cms
Growing number of Connected Devices
Professor Ramnath Chellappa is often credited
with being the person who coined the term “cloud
computing” in its modern context, at a lecture he
delivered in 1997.
https://goizueta.emory.edu/faculty/profiles/ramnath-k-chellappa
Above the Clouds:
A Berkeley view of Cloud Computing
This paper was published in Feb, 2009
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf
● Infinite computing resources available on demand, thereby eliminating the need for
Cloud Computing users to plan far ahead for provisioning
● The elimination of an up-front commitment by Cloud users, thereby allowing companies
to start small and increase hardware resources only when there is an increase in their
needs.
● The ability to pay for use of computing resources on a short-term basis as needed (e.g.,
processors by the hour and storage by the day) and release them as needed, thereby
rewarding conservation by letting machines and storage go when they are no longer
useful.
A physical machine has a number of attached components
like Disk, Power, Networking, Peer-Connectivity. Display,
Access components like Keyboard and Mouse are optional.
Different types of Cloud Computing
● Infrastructure as a Service (Iaas)
○ AWS, Google Cloud, IBM, Microsoft Azure
● Platform as a Service (PaaS)
○ Heroku, App Engine, Beanstalk
● Software as a Service (SaaS)
○ Slack, Dropbox, Google Apps, etc
● Public Cloud
○ AWS, Google Cloud, IBM, Microsoft Azure, etc
● Private Cloud
● Hybrid Cloud
○ VMware, Kubernetes, AWS Outposts, etc
Building blocks of Cloud Computing
Security in an inherent part of any form of cloud environment. It is one of the most primary requirement to
have secure and controlled environment, before any business takes decision to move to the cloud.
In most contexts, it is defined as a Shared Responsibility Model, where some part is managed by the
Cloud Provider and other is managed by the Cloud Users.
Pillars of Cloud Computing
2018 2019 2020 2021 2022
Cloud Business Process Services (BPaaS) 41.7 43.7 46.9 50.2 53.8
Cloud Application Infrastructure Services
(PaaS)
26.4 32.2 39.7 48.3 58.0
Cloud Application Services (SaaS) 85.7 99.5 116.0 133.0 151.1
Cloud Management and Security Services 10.5 12.0 13.8 15.7 17.6
Cloud System Infrastructure Services (IaaS) 32.4 40.3 50.0 61.3 74.1
Total Market 196.7 227.8 266.4 308.5 354.6
Worldwide Public Cloud Service Revenue Forecast
(Billions of U.S. Dollars)
Brief look at Amazon Web Services
● First launched in early 2002 with minimum services
● Official re-launched in 2006 with S3 and EC2
● S3 is Simple Storage Service to store practically unlimited “objects” in the
cloud
● EC2 is Elastic Compute Cloud to create virtual machines
● In 2020, they have 20+ regions across the world
● Netflix, NASA were early users of AWS
● Popular India customers include Hotstar, BYJU’s, Zerodha, OYO, RedBus
and many more...
Interactive AWS Infrastructure https://infrastructure.aws/
In 2020, Amazon Web Services comprised more than 212
services including computing, storage, networking, database,
analytics, application services, deployment, management, mobile,
developer tools, and tools for the Internet of Things.
AWS Categories of Services
AWS for Students and Educators
AWS Educate Program
AWS Educate is used in more than 200 countries and territories. It
connects 2,400 institutions, over 10,000 educators, and hundreds of
thousands of students.
Through AWS Educate, students and educators have access to content
and programs developed to skill up for cloud careers in growing fields.
AWS Educate also connects companies hiring for cloud skills to qualified
student job seekers with the AWS Educate Job Board.
AWS Student Ambassador
The AWS Educate Student Ambassador Program gives AWS Educate student
members recognition, access to career development opportunities, and other
benefits for helping their peers learn about AWS Educate. The program is
available to AWS Educate student members globally ages 18+ who are enrolled at
a public or private school, college, or university.
The application period for the 2020 cohort of the AWS Educate Student
Ambassador Program is now closed. Stay tuned for updates and check the AWS
Educate student portal regularly for more details on next year’s application cycle.
https://aws.amazon.com/startups/NowGoBuild/
AWS for Developers
● CodeCommit - Private git repository to host source code
● CodeBuild, CodePipeline, CodeDeploy - Developer tools to package and
deploy changes
● CloudFormation - Infrastructure as a Code service
● S3 - Elastic durable storage at global scale
● EC2 - Virtual machine
● Lambda - Running code without managing servers
● ECS, EKS - Running (Docker) containers in the cloud
● SageMaker - Machine Learning environment in the cloud
● RDS - Popular database services
● DynamoDB - Serverless database
● Route53 - Advanced DNS service
● SQS/SNS - Messaging services for app-level communication and notifications
Cloud Appliation Architecture
● Geo-proxy to route the requests to the nearest regions
● Load balancers to route the requests to Web Servers
● Load balancers to route the requests to the Application Servers
● Highly available and fault-tolerant Database
● Messaging Services for decoupling the logic
● Performance metrics for continuous assessment of the application
● Using right service for the right use case
○ Store static contents into CDN or Cloud Storage
○ RDS vs Self Hosted Database
○ Load Balancer vs Self Hosted Proxy Servers
○ Queuing Service, Email Service, Notification Service
Monolithic vs SOA vs Microservice
VM vs Containers vs Serverless
Cloud Programming Simplified: A Berkeley View on
Serverless Computing
Published on Feb, 2019 - 10 years after the original Cloud Computing paper
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
Kubernetes Era
Kubernetes derives a lot of concepts and learning from Google’s internal tool,
Borg. In a nutshell, Kubernetes is a “simplified” framework to manage some of
the most “complicated” infrastructure like Google’s.
https://en.wikipedia.org/wiki/Kubernetes
Eventually most of the softwares will be either running in
Containers or Serverless Functions
Quick look at AWS Console
Demo 1 - NodeJS App on EC2 in 10 Minutes
Demo 1 - Serverless NodeJS API in 10 Minutes
Key points
● Post COVID19 World will be somewhat difficult
● Focus on the fundamentals
● Know your preferred programming language well
● Don’t work on “fancy” AI/ML solutions without core competencies
● Develop Full-Stack mindset, most engineering teams are lean
● Adapt based on the time and situation
● What you know today, may not be relavent after few years
● There is always something new to learn
Software engineering was complex and opinionated in 90s,
it’s still the same situation today.
Upcoming Online Events
● AWS India Summit - May 2020
● Serverless-First Function - May 2020
● HashiConf Digital - June 2020
● AWS User Group India
Thank you!
● LinkedIn @ https://www.linkedin.com/in/dhavaln/
● Twitter @ dhavaln
● Medium @ https://medium.com/appgambit

More Related Content

What's hot

Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computingsuraj bhandari
 
IBM Hybrid Cloud Integration UCC Talk, 21st November 2018
IBM Hybrid Cloud Integration UCC Talk, 21st November 2018IBM Hybrid Cloud Integration UCC Talk, 21st November 2018
IBM Hybrid Cloud Integration UCC Talk, 21st November 2018Michael O'Sullivan
 
Cloud computing information management
Cloud computing   information managementCloud computing   information management
Cloud computing information managementHallmark B-school
 
Cloud Computing Demystified
Cloud Computing DemystifiedCloud Computing Demystified
Cloud Computing DemystifiedSamer Meqdad
 
Cloud Computing Business Models
Cloud Computing Business ModelsCloud Computing Business Models
Cloud Computing Business ModelsMourad ZEROUKHI
 
Patterns of Cloud Applications Using Microsoft Azure Services Platform
Patterns of Cloud Applications Using Microsoft Azure Services PlatformPatterns of Cloud Applications Using Microsoft Azure Services Platform
Patterns of Cloud Applications Using Microsoft Azure Services PlatformDavid Chou
 
IBM Hybrid Cloud Integration UCC Talk, 23rd November 2021 - Cloud Application...
IBM Hybrid Cloud Integration UCC Talk, 23rd November 2021 - Cloud Application...IBM Hybrid Cloud Integration UCC Talk, 23rd November 2021 - Cloud Application...
IBM Hybrid Cloud Integration UCC Talk, 23rd November 2021 - Cloud Application...Michael O'Sullivan
 
Introduction to Cloud Computing - CCGRID 2009
Introduction to Cloud Computing - CCGRID 2009Introduction to Cloud Computing - CCGRID 2009
Introduction to Cloud Computing - CCGRID 2009James Broberg
 
Cloud Computing- components, working, pros and cons
Cloud Computing- components, working, pros and consCloud Computing- components, working, pros and cons
Cloud Computing- components, working, pros and consAmritpal Singh Bedi
 
Cloud Computing Development Presentation
Cloud Computing Development PresentationCloud Computing Development Presentation
Cloud Computing Development PresentationAhmed El Refaey
 
Cloud Computing Introduction
Cloud Computing IntroductionCloud Computing Introduction
Cloud Computing IntroductionCraig Dickson
 
What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...
What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...
What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...Simplilearn
 

What's hot (20)

Introduction to cloud computing
Introduction to cloud computingIntroduction to cloud computing
Introduction to cloud computing
 
IBM Hybrid Cloud Integration UCC Talk, 21st November 2018
IBM Hybrid Cloud Integration UCC Talk, 21st November 2018IBM Hybrid Cloud Integration UCC Talk, 21st November 2018
IBM Hybrid Cloud Integration UCC Talk, 21st November 2018
 
Cloud computing information management
Cloud computing   information managementCloud computing   information management
Cloud computing information management
 
Cloud Computing Demystified
Cloud Computing DemystifiedCloud Computing Demystified
Cloud Computing Demystified
 
AWS Technical Essentials Day
AWS Technical Essentials DayAWS Technical Essentials Day
AWS Technical Essentials Day
 
Cloud Computing Business Models
Cloud Computing Business ModelsCloud Computing Business Models
Cloud Computing Business Models
 
Cloud services
Cloud servicesCloud services
Cloud services
 
Patterns of Cloud Applications Using Microsoft Azure Services Platform
Patterns of Cloud Applications Using Microsoft Azure Services PlatformPatterns of Cloud Applications Using Microsoft Azure Services Platform
Patterns of Cloud Applications Using Microsoft Azure Services Platform
 
IBM Hybrid Cloud Integration UCC Talk, 23rd November 2021 - Cloud Application...
IBM Hybrid Cloud Integration UCC Talk, 23rd November 2021 - Cloud Application...IBM Hybrid Cloud Integration UCC Talk, 23rd November 2021 - Cloud Application...
IBM Hybrid Cloud Integration UCC Talk, 23rd November 2021 - Cloud Application...
 
Introduction to Cloud Computing - CCGRID 2009
Introduction to Cloud Computing - CCGRID 2009Introduction to Cloud Computing - CCGRID 2009
Introduction to Cloud Computing - CCGRID 2009
 
Flying in the cloud
Flying in the cloud   Flying in the cloud
Flying in the cloud
 
Cloud Computing- components, working, pros and cons
Cloud Computing- components, working, pros and consCloud Computing- components, working, pros and cons
Cloud Computing- components, working, pros and cons
 
Cloud Computing Development Presentation
Cloud Computing Development PresentationCloud Computing Development Presentation
Cloud Computing Development Presentation
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Cloud Computing Introduction
Cloud Computing IntroductionCloud Computing Introduction
Cloud Computing Introduction
 
Cloud Computing for Libraries
Cloud Computing for LibrariesCloud Computing for Libraries
Cloud Computing for Libraries
 
IBM Cloud Computing
IBM Cloud ComputingIBM Cloud Computing
IBM Cloud Computing
 
What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...
What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...
What Is Cloud Computing? | Cloud Computing For Beginners | Cloud Computing Tr...
 
Hybrid Cloud on AWS
Hybrid Cloud on AWSHybrid Cloud on AWS
Hybrid Cloud on AWS
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 

Similar to Software Engineering in the (AWS) Cloud

Cloud Computing - Benefits and Challenges
Cloud Computing - Benefits and ChallengesCloud Computing - Benefits and Challenges
Cloud Computing - Benefits and ChallengesThoughtWorks Studios
 
Architecting multi-cloud ready applications
Architecting multi-cloud ready applicationsArchitecting multi-cloud ready applications
Architecting multi-cloud ready applicationsSwaminathan Vetri
 
POST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGPOST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGMamathaSharma4
 
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValueThe Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValueRapidValue
 
The Cloud Revolution - Philippines Cloud Summit
The Cloud Revolution - Philippines Cloud SummitThe Cloud Revolution - Philippines Cloud Summit
The Cloud Revolution - Philippines Cloud SummitRandy Bias
 
Discovering the value of the cloud for the business
Discovering the value of the cloud for the business Discovering the value of the cloud for the business
Discovering the value of the cloud for the business Dr. Ramkumar Lakshminarayanan
 
Discovering the value of the cloud for the business session 2
Discovering the value of the cloud for the business   session 2Discovering the value of the cloud for the business   session 2
Discovering the value of the cloud for the business session 2Dr. Ramkumar Lakshminarayanan
 
Ppt on cloud computing
Ppt on cloud computingPpt on cloud computing
Ppt on cloud computingPradeep Bhatia
 
Introduction to Could computing & its Growth in India
Introduction to Could computing & its Growth in IndiaIntroduction to Could computing & its Growth in India
Introduction to Could computing & its Growth in IndiaAjay Ghawte
 
Cloud Computing & CloudStack Open Source
Cloud Computing & CloudStack Open SourceCloud Computing & CloudStack Open Source
Cloud Computing & CloudStack Open SourceAhmadShah Sultani
 
Cloud computing
Cloud computingCloud computing
Cloud computingsuraj1536
 

Similar to Software Engineering in the (AWS) Cloud (20)

CC ASSIGNMENT 01.docx
CC ASSIGNMENT 01.docxCC ASSIGNMENT 01.docx
CC ASSIGNMENT 01.docx
 
Cloud Computing - Benefits and Challenges
Cloud Computing - Benefits and ChallengesCloud Computing - Benefits and Challenges
Cloud Computing - Benefits and Challenges
 
Architecting multi-cloud ready applications
Architecting multi-cloud ready applicationsArchitecting multi-cloud ready applications
Architecting multi-cloud ready applications
 
ReactJS Test Questions Answers.pdf
ReactJS Test Questions Answers.pdfReactJS Test Questions Answers.pdf
ReactJS Test Questions Answers.pdf
 
POST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTINGPOST GRADUATE PROGRAM IN CLOUD COMPUTING
POST GRADUATE PROGRAM IN CLOUD COMPUTING
 
Cloud Computing
Cloud  ComputingCloud  Computing
Cloud Computing
 
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValueThe Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
The Ultimate Guide to Cloud Migration - A Whitepaper by RapidValue
 
A Beginner’s Guide to Cloud Computing
A Beginner’s Guide to Cloud ComputingA Beginner’s Guide to Cloud Computing
A Beginner’s Guide to Cloud Computing
 
The Cloud Revolution - Philippines Cloud Summit
The Cloud Revolution - Philippines Cloud SummitThe Cloud Revolution - Philippines Cloud Summit
The Cloud Revolution - Philippines Cloud Summit
 
Intro to cloud.pdf
Intro to cloud.pdfIntro to cloud.pdf
Intro to cloud.pdf
 
Cloud computing 101
Cloud computing 101Cloud computing 101
Cloud computing 101
 
Discovering the value of the cloud for the business
Discovering the value of the cloud for the business Discovering the value of the cloud for the business
Discovering the value of the cloud for the business
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Discovering the value of the cloud for the business session 2
Discovering the value of the cloud for the business   session 2Discovering the value of the cloud for the business   session 2
Discovering the value of the cloud for the business session 2
 
Ppt on cloud computing
Ppt on cloud computingPpt on cloud computing
Ppt on cloud computing
 
Introduction to Could computing & its Growth in India
Introduction to Could computing & its Growth in IndiaIntroduction to Could computing & its Growth in India
Introduction to Could computing & its Growth in India
 
Cloud Computing Essays
Cloud Computing EssaysCloud Computing Essays
Cloud Computing Essays
 
cloudcomputing(bashu).ppt
cloudcomputing(bashu).pptcloudcomputing(bashu).ppt
cloudcomputing(bashu).ppt
 
Cloud Computing & CloudStack Open Source
Cloud Computing & CloudStack Open SourceCloud Computing & CloudStack Open Source
Cloud Computing & CloudStack Open Source
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 

More from Dhaval Nagar

Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfServerless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfDhaval Nagar
 
Dhaval Nagar - AWS Community Day - Security Edition.pdf
Dhaval Nagar - AWS Community Day - Security Edition.pdfDhaval Nagar - AWS Community Day - Security Edition.pdf
Dhaval Nagar - AWS Community Day - Security Edition.pdfDhaval Nagar
 
AWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdfAWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdfDhaval Nagar
 
AppRunner DeepDive
AppRunner DeepDiveAppRunner DeepDive
AppRunner DeepDiveDhaval Nagar
 
Mainstream Serverless
Mainstream ServerlessMainstream Serverless
Mainstream ServerlessDhaval Nagar
 
Building your own calendly using amazon app sync
Building your own calendly using amazon app syncBuilding your own calendly using amazon app sync
Building your own calendly using amazon app syncDhaval Nagar
 
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessWhizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessDhaval Nagar
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassDhaval Nagar
 
Choosing the right messaging service for your serverless app [with lumigo]
Choosing the right messaging service for your serverless app [with lumigo]Choosing the right messaging service for your serverless app [with lumigo]
Choosing the right messaging service for your serverless app [with lumigo]Dhaval Nagar
 
Amazon EventBridge
Amazon EventBridgeAmazon EventBridge
Amazon EventBridgeDhaval Nagar
 
Low Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the CloudLow Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the CloudDhaval Nagar
 
GO For A Cloud Certification (AWS)
GO For A Cloud Certification (AWS)GO For A Cloud Certification (AWS)
GO For A Cloud Certification (AWS)Dhaval Nagar
 
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
 
Write less (code) and build more with serverless
Write less (code) and build more with serverlessWrite less (code) and build more with serverless
Write less (code) and build more with serverlessDhaval Nagar
 

More from Dhaval Nagar (14)

Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdfServerless Days Ahmedabad - Dhaval Nagar.pptx.pdf
Serverless Days Ahmedabad - Dhaval Nagar.pptx.pdf
 
Dhaval Nagar - AWS Community Day - Security Edition.pdf
Dhaval Nagar - AWS Community Day - Security Edition.pdfDhaval Nagar - AWS Community Day - Security Edition.pdf
Dhaval Nagar - AWS Community Day - Security Edition.pdf
 
AWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdfAWS Developer Ecosystem.pdf
AWS Developer Ecosystem.pdf
 
AppRunner DeepDive
AppRunner DeepDiveAppRunner DeepDive
AppRunner DeepDive
 
Mainstream Serverless
Mainstream ServerlessMainstream Serverless
Mainstream Serverless
 
Building your own calendly using amazon app sync
Building your own calendly using amazon app syncBuilding your own calendly using amazon app sync
Building your own calendly using amazon app sync
 
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS ServerlessWhizlabs webinar - Deploying Portfolio Site with AWS Serverless
Whizlabs webinar - Deploying Portfolio Site with AWS Serverless
 
Crio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS MasterclassCrio.do - Deployment on AWS Masterclass
Crio.do - Deployment on AWS Masterclass
 
Choosing the right messaging service for your serverless app [with lumigo]
Choosing the right messaging service for your serverless app [with lumigo]Choosing the right messaging service for your serverless app [with lumigo]
Choosing the right messaging service for your serverless app [with lumigo]
 
Amazon EventBridge
Amazon EventBridgeAmazon EventBridge
Amazon EventBridge
 
Low Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the CloudLow Cost AWS Services For Application Development in the Cloud
Low Cost AWS Services For Application Development in the Cloud
 
GO For A Cloud Certification (AWS)
GO For A Cloud Certification (AWS)GO For A Cloud Certification (AWS)
GO For A Cloud Certification (AWS)
 
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
 
Write less (code) and build more with serverless
Write less (code) and build more with serverlessWrite less (code) and build more with serverless
Write less (code) and build more with serverless
 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
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
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 

Software Engineering in the (AWS) Cloud

  • 1. Software Engineering In The Cloud Dhaval Nagar
  • 2. ● Founder @ AppGambit ● AWS Serverless Hero - 2020 ● 12x Amazon Web Service Certified ● 2x Google Cloud Certified ● Certified Kuberneted Application Developer ● Certified Docker Associate ● Author @ ServerlessFAQs.com ● Organizer @ Surat AWS User Group Dhaval Nagar
  • 3.
  • 4. COVID-19 and Cloud Computing Businesses and individuals are finding a workaround the required quarantine and social distancing practices through technology, the recent advances of which have probably prevented the world from coming to a complete standstill. While the cloud may have been a frivolous expense for many companies a decade or two ago, its necessity today is indisputable. https://timesofindia.indiatimes.com/spotlight/the-impact-of-covid-19-on-the-cloud-computing-industry/articleshow/75574962.cms
  • 5. Growing number of Connected Devices
  • 6. Professor Ramnath Chellappa is often credited with being the person who coined the term “cloud computing” in its modern context, at a lecture he delivered in 1997. https://goizueta.emory.edu/faculty/profiles/ramnath-k-chellappa
  • 7. Above the Clouds: A Berkeley view of Cloud Computing This paper was published in Feb, 2009 https://www2.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf ● Infinite computing resources available on demand, thereby eliminating the need for Cloud Computing users to plan far ahead for provisioning ● The elimination of an up-front commitment by Cloud users, thereby allowing companies to start small and increase hardware resources only when there is an increase in their needs. ● The ability to pay for use of computing resources on a short-term basis as needed (e.g., processors by the hour and storage by the day) and release them as needed, thereby rewarding conservation by letting machines and storage go when they are no longer useful.
  • 8.
  • 9. A physical machine has a number of attached components like Disk, Power, Networking, Peer-Connectivity. Display, Access components like Keyboard and Mouse are optional.
  • 10.
  • 11. Different types of Cloud Computing ● Infrastructure as a Service (Iaas) ○ AWS, Google Cloud, IBM, Microsoft Azure ● Platform as a Service (PaaS) ○ Heroku, App Engine, Beanstalk ● Software as a Service (SaaS) ○ Slack, Dropbox, Google Apps, etc ● Public Cloud ○ AWS, Google Cloud, IBM, Microsoft Azure, etc ● Private Cloud ● Hybrid Cloud ○ VMware, Kubernetes, AWS Outposts, etc
  • 12.
  • 13. Building blocks of Cloud Computing Security in an inherent part of any form of cloud environment. It is one of the most primary requirement to have secure and controlled environment, before any business takes decision to move to the cloud. In most contexts, it is defined as a Shared Responsibility Model, where some part is managed by the Cloud Provider and other is managed by the Cloud Users.
  • 14. Pillars of Cloud Computing
  • 15.
  • 16. 2018 2019 2020 2021 2022 Cloud Business Process Services (BPaaS) 41.7 43.7 46.9 50.2 53.8 Cloud Application Infrastructure Services (PaaS) 26.4 32.2 39.7 48.3 58.0 Cloud Application Services (SaaS) 85.7 99.5 116.0 133.0 151.1 Cloud Management and Security Services 10.5 12.0 13.8 15.7 17.6 Cloud System Infrastructure Services (IaaS) 32.4 40.3 50.0 61.3 74.1 Total Market 196.7 227.8 266.4 308.5 354.6 Worldwide Public Cloud Service Revenue Forecast (Billions of U.S. Dollars)
  • 17. Brief look at Amazon Web Services
  • 18. ● First launched in early 2002 with minimum services ● Official re-launched in 2006 with S3 and EC2 ● S3 is Simple Storage Service to store practically unlimited “objects” in the cloud ● EC2 is Elastic Compute Cloud to create virtual machines ● In 2020, they have 20+ regions across the world ● Netflix, NASA were early users of AWS ● Popular India customers include Hotstar, BYJU’s, Zerodha, OYO, RedBus and many more...
  • 19. Interactive AWS Infrastructure https://infrastructure.aws/
  • 20. In 2020, Amazon Web Services comprised more than 212 services including computing, storage, networking, database, analytics, application services, deployment, management, mobile, developer tools, and tools for the Internet of Things.
  • 21. AWS Categories of Services
  • 22. AWS for Students and Educators
  • 23. AWS Educate Program AWS Educate is used in more than 200 countries and territories. It connects 2,400 institutions, over 10,000 educators, and hundreds of thousands of students. Through AWS Educate, students and educators have access to content and programs developed to skill up for cloud careers in growing fields. AWS Educate also connects companies hiring for cloud skills to qualified student job seekers with the AWS Educate Job Board.
  • 24. AWS Student Ambassador The AWS Educate Student Ambassador Program gives AWS Educate student members recognition, access to career development opportunities, and other benefits for helping their peers learn about AWS Educate. The program is available to AWS Educate student members globally ages 18+ who are enrolled at a public or private school, college, or university. The application period for the 2020 cohort of the AWS Educate Student Ambassador Program is now closed. Stay tuned for updates and check the AWS Educate student portal regularly for more details on next year’s application cycle.
  • 26. AWS for Developers ● CodeCommit - Private git repository to host source code ● CodeBuild, CodePipeline, CodeDeploy - Developer tools to package and deploy changes ● CloudFormation - Infrastructure as a Code service ● S3 - Elastic durable storage at global scale ● EC2 - Virtual machine ● Lambda - Running code without managing servers ● ECS, EKS - Running (Docker) containers in the cloud ● SageMaker - Machine Learning environment in the cloud ● RDS - Popular database services ● DynamoDB - Serverless database ● Route53 - Advanced DNS service ● SQS/SNS - Messaging services for app-level communication and notifications
  • 27. Cloud Appliation Architecture ● Geo-proxy to route the requests to the nearest regions ● Load balancers to route the requests to Web Servers ● Load balancers to route the requests to the Application Servers ● Highly available and fault-tolerant Database ● Messaging Services for decoupling the logic ● Performance metrics for continuous assessment of the application ● Using right service for the right use case ○ Store static contents into CDN or Cloud Storage ○ RDS vs Self Hosted Database ○ Load Balancer vs Self Hosted Proxy Servers ○ Queuing Service, Email Service, Notification Service
  • 28.
  • 29.
  • 30. Monolithic vs SOA vs Microservice
  • 31. VM vs Containers vs Serverless
  • 32. Cloud Programming Simplified: A Berkeley View on Serverless Computing Published on Feb, 2019 - 10 years after the original Cloud Computing paper https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
  • 33. Kubernetes Era Kubernetes derives a lot of concepts and learning from Google’s internal tool, Borg. In a nutshell, Kubernetes is a “simplified” framework to manage some of the most “complicated” infrastructure like Google’s. https://en.wikipedia.org/wiki/Kubernetes Eventually most of the softwares will be either running in Containers or Serverless Functions
  • 34. Quick look at AWS Console
  • 35. Demo 1 - NodeJS App on EC2 in 10 Minutes
  • 36. Demo 1 - Serverless NodeJS API in 10 Minutes
  • 37. Key points ● Post COVID19 World will be somewhat difficult ● Focus on the fundamentals ● Know your preferred programming language well ● Don’t work on “fancy” AI/ML solutions without core competencies ● Develop Full-Stack mindset, most engineering teams are lean ● Adapt based on the time and situation ● What you know today, may not be relavent after few years ● There is always something new to learn Software engineering was complex and opinionated in 90s, it’s still the same situation today.
  • 38. Upcoming Online Events ● AWS India Summit - May 2020 ● Serverless-First Function - May 2020 ● HashiConf Digital - June 2020 ● AWS User Group India
  • 39. Thank you! ● LinkedIn @ https://www.linkedin.com/in/dhavaln/ ● Twitter @ dhavaln ● Medium @ https://medium.com/appgambit