Going Serverless
By Data and Analytic
Team
Lineup
● Introduction to serverless architecture
● Implementing serverless architecture using
AWS technologies
● Use case - CRM project
● Conclusion
What is Serverless ?
Web ServerWeb Application Database
Issues
● Developer has to be aware if the servers
● Resource under consumption
What is Serverless ?
Instance: m3.large
vCPU 2
Memory (GiB) 7.5
Instance Storage (GB) 1 x 32 SSD
Linux/UNIX Usage $0.133 per Hour
Pricing
Requests - $0.20 per 1 million requests (first 1M is free)
Duration (512 MB) - 0.000000834 per 100ms (first 800K
is free)
Is it serverless or not ?
Current stack in the Cake
environment
Overview of AWS serverless
services
Cloud front
●Deliver your entire website, including dynamic,
static, streaming, and interactive content.
●Uses a global network of edge locations to deliver
content.
●Works seamlessly with AWS related services like S3
and non AWS services (server hosting the files).
Overview of AWS serverless
services
SNS
●A notification service (push notification) .
SQS
●Fast, Reliable & Scalable messaging service.
Overview of AWS serverless
services
Dynamo DB
● Fully managed NoSQL key-value data store.
● Also used as a persistent session storage
mechanism when your application is schema less or
non relational.
Overview of AWS serverless
services
AWS API gateway
●Helps delevelopers deliver mobile & web application
backends .
Overview of AWS serverless
services
AWS Kinesis
● Enables you to build custom applications that
process or analyze streaming data for specialized
needs
● Can continuously capture and store terabytes .
● Use streaming data to power real-time dashboards,
generate alerts.
● Able to stream data to other AWS services like
S3,EMR & Redshift.
Overview of AWS serverless
services
Customer Profiling Components
Positives & Negatives
● Cost reduction
– Development
– Scaling
● Deployment
– Versioning and Aliases
● Vendor Control
– Billing
– Service specific limitations
● Security concerns
● Monitoring and Debugging
Questions?
Thank you!

Going Serverless

  • 2.
    Going Serverless By Dataand Analytic Team
  • 3.
    Lineup ● Introduction toserverless architecture ● Implementing serverless architecture using AWS technologies ● Use case - CRM project ● Conclusion
  • 4.
    What is Serverless? Web ServerWeb Application Database Issues ● Developer has to be aware if the servers ● Resource under consumption
  • 5.
  • 6.
    Instance: m3.large vCPU 2 Memory(GiB) 7.5 Instance Storage (GB) 1 x 32 SSD Linux/UNIX Usage $0.133 per Hour Pricing Requests - $0.20 per 1 million requests (first 1M is free) Duration (512 MB) - 0.000000834 per 100ms (first 800K is free)
  • 7.
  • 8.
    Current stack inthe Cake environment
  • 9.
    Overview of AWSserverless services Cloud front ●Deliver your entire website, including dynamic, static, streaming, and interactive content. ●Uses a global network of edge locations to deliver content. ●Works seamlessly with AWS related services like S3 and non AWS services (server hosting the files).
  • 10.
    Overview of AWSserverless services SNS ●A notification service (push notification) . SQS ●Fast, Reliable & Scalable messaging service.
  • 11.
    Overview of AWSserverless services Dynamo DB ● Fully managed NoSQL key-value data store. ● Also used as a persistent session storage mechanism when your application is schema less or non relational.
  • 12.
    Overview of AWSserverless services AWS API gateway ●Helps delevelopers deliver mobile & web application backends .
  • 13.
    Overview of AWSserverless services AWS Kinesis ● Enables you to build custom applications that process or analyze streaming data for specialized needs ● Can continuously capture and store terabytes . ● Use streaming data to power real-time dashboards, generate alerts. ● Able to stream data to other AWS services like S3,EMR & Redshift.
  • 14.
    Overview of AWSserverless services
  • 16.
  • 17.
    Positives & Negatives ●Cost reduction – Development – Scaling ● Deployment – Versioning and Aliases ● Vendor Control – Billing – Service specific limitations ● Security concerns ● Monitoring and Debugging
  • 18.
  • 19.

Editor's Notes

  • #3 Hi Everyone! Like to welcome everyone to the innovation session, By data and analytics team. Today’s innovation session is all about serverless architecture, or in simple terms, going server-less.
  • #4  Before going into the presentation, Let’s take a look at what you can expect from us in the next 30 mins. First of all I will introduce you to the serverless architecture and a high level comparison on the current traditional architecture and the serverless that will allow you to see the benefits you get through serverless architecture. In the second phase we will look at the implementation of serverless architecture using AWS technologies. Serverless technologies are not mature as we like it to be, nevertheless AWS has a nice set of technologies if you are interested in building a serverless architecture. Shehan, who is much more experienced and qualified on AWS services, will guide you through this phase. Finally we will talk about in house use-case of serverless technologies, which is CRM, customer relationship management project. This will be done by danula who is the current owner of CRM project.
  • #5 If we start thinking about simple web application, we normally think about this kind of a architecture. Where clients will be connecting to a webserver and there will be a database server, blah blah blah.. In traditional software development, the software engineer had to be acutely aware of the concept of a server, where their software runs. Servers need to be maintained. Servers have IP addresses which need to be discovered. Servers go down which must to be accounted for. And next day you have to sit for a code red meeting. As coders we don’t need worry about all these issues and we need to concentrate on development. Other than that when we are using a whole server to run our application, there are some unused resources. As an example think we get 4 nodes to create a hadoop cluster, most of the CPU cycles are wasted, And when we create a 4 node storm cluster, disk usage is very low. As you can see these servers not custom made for these extreme scenarios. These issues and lot other concerns lead the way towards the serverless architecture.
  • #6  Under serverless architecture we will be getting rid of these servers and with all the issues related to them. You might ask me what happen to those servers. Don’t worry Servers are alive and well in the serverless world. In simple terms, If you want storage, there will be a service to provide you just storage nothing other than that, you don’t have to do server setups and you can use it right away to save your stuff. If you need computation, there will be a service where you can provide your function or the computation that need to be done, and it will perform the given computation on the input you give and it will return the output. Serverless architectures allow you to build and run applications and services without having to manage infrastructure You no longer need to worry about creating and scaling the servers required to execute their code. The cloud provider, handles this for you.
  • #7 Another thing that differentiate serverless from IaaS is very granular billing . Here I have shown pricing for a EC2 instance and a Lamda service. As you can see with IaaS we are used to paying for servers' uptime regardless of their utilization level. However if you look at how lamda is priced, the end user is paying only for the actual time and resources consumed. From the service provider's end Abstraction of infrastructure combined with the generic runtime, at massive scale enable a much quicker provisioning with lower cost. Functions are created, executed, and resources are reclaimed.
  • #8 If someone ask if a technology is serverless, How to decide if it’s serverless or not? This question is just to understand if you have really understood what is serveless. And this is very hard question to answer. If you ever come across this question? First think of the problems we had with servers, which serve less architecture answered. Does this technology answer that problem? And look into how pricing is done ? These two checks will help you in answering that question. EMR, Redis AS we all have some understanding on the serverless architecture let’s move to second phase of the presentation with shehan.
  • #10 Data up-sync layer (AWS CloudFront + S3) UI Layer (Reports, Superadmin, Menuadmin and other UI portals where UI components can store in AWS CloudFront)
  • #11 SQS - Offload requests from primary servers Trigger auto scaling with cloudwatch Data down-sync layer (AWS SNS)
  • #12 Data Layer (Transactional Databases and Centralized Metadata Databases where we can use MySQL RDS and AWS DynamoDB)
  • #13 Control service - enables you to create RESTful Backend API’s . the back end can be a Lamda service ,Dynomo DB or anyother web app. Execution service - lets the app call the API to access the backend services by HTTP protocols or language specific SDK by the creator. The logic behind the API’s can be specified by a publicly accessible end point that the gateway end points will call . API Layer (Merchant API, MAPI, Replicator API, CDA etc.. where API components can store in AWS API Gateway + AWS Lambda)
  • #14  can continuously capture and store terabytes of data per hour from hundreds of thousands of sources such as website clickstreams, financial transactions, social media feeds, IT logs, and location-tracking events
  • #15 Pull Model - Items are plucked from the kinesis stream or the DynamoDB update stream by a lamda function Systems designed with a messaging bus architecture might be candidates for using lamda this way. Push Model - Happens when an amazon S3 event occurs a lamda function is invoked in response to that event. common use case is like when imaging resizing or converting an image.