This session was meant to explore the popular AWS cloud services to help in a modern application development.
From cloud computing to application architecture and serverless, I tried to cover a few points overall to show case the emergence and future of cloud computing.
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
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.
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...
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.
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
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
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