Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

"Плюси та мінуси впровадження AWS Lambda в проєкт" Віталій Григоришин

102 views

Published on

Розглянемо невелику історію впровадження AWS Lambda в існуючий (живий) проєкт. Визначимо причини вибору “безсерверної” архітектури. Розберемо цікаві нюанси, з якими зіштовхнулась наша команда.

План:
- Що таке AWS Lambda?
- Навіщо нам була потрібна AWS Lambda?
- Плюси впровадження AWS Lambda
- Мінуси впровадження AWS Lambda
- Результати впровадження AWS Lambda

Published in: Technology
  • Be the first to comment

  • Be the first to like this

"Плюси та мінуси впровадження AWS Lambda в проєкт" Віталій Григоришин

  1. 1. AWS Lambda implementation for live project
  2. 2. ● 12+ years of experience in IT ● 5+ years experience of AWS ● 3+ years experience in Business Intelligence Vitalii Hryhoryshyn Tech Lead in Ven Commerce Ltd.
  3. 3. Short Agenda What is AWS Lambda? Why did we need it? Disadvantages of Lambda & how we solve it Advantages of Lambda & results of implementation
  4. 4. AWS Lambda what is it?
  5. 5. “let’s compare AWS Lambda & simple web application
  6. 6. web application Request 24/7 Response
  7. 7. web application 24/7
  8. 8. web application Request 24/7 Response Request Request Response Response
  9. 9. AWS Lambda (serverless app)
  10. 10. AWS Lambda (serverless app) Request Response
  11. 11. AWS Lambda (serverless app)
  12. 12. AWS Lambda (serverless app) Request Response
  13. 13. AWS Lambda (serverless app) Request Response Request Request Response Response
  14. 14. Why did we need AWS Lambda?
  15. 15. Prerequisites... 3 years ago...
  16. 16. Team Structure 3 years ago...
  17. 17. 3 years ago...
  18. 18. Business Structure 3 years ago...
  19. 19. 3 years ago...
  20. 20. 3 years ago...
  21. 21. Common things in Magento 1 & Magento 2
  22. 22. Common things in Magento 1 & Magento 2 word “Magento”
  23. 23. Common things in Magento 1 & Magento 2 word “Magento”
  24. 24. ???
  25. 25. monolithic architecture
  26. 26. complexity obstructions monolithic architecture
  27. 27. complexity regression tests obstructions monolithic architecture
  28. 28. complexity regression tests deployment time limit obstructions monolithic architecture
  29. 29. complexity regression tests deployment time limit slow down the start-up time obstructions monolithic architecture
  30. 30. complexity regression tests deployment time limit slow down the start-up time no easy adopting new technologies obstructions monolithic architecture
  31. 31. break monolith!!!
  32. 32. Serverless application Advantages: no need for server, low cost, scalable Disadvantages: new “unknown” technology, no ready development environment AWS Lambda Small project, using PHP & MySQL Possible frameworks: laravel, yii Advantages: PHP & MySQL Disadvantages: server is needed Microservice Microservice VS AWS Lambda
  33. 33. Microservice DevOps server cost security updates framework & language dependency 24/7
  34. 34. AWS Lambda (serverless app) DevOps server cost security updates framework & language dependency 24/7
  35. 35. AWS Lambda (serverless app) DevOps server cost security updates framework & language dependency 24/7
  36. 36. AWS Lambda (serverless app) DevOps security updates framework & language dependency 24/7
  37. 37. AWS Lambda (serverless app) DevOps framework & language dependency 24/7
  38. 38. AWS Lambda (serverless app) framework & language dependency 24/7
  39. 39. AWS Lambda (serverless app) framework & language dependency
  40. 40. AWS Lambda
  41. 41. troubles, that we faced during the implementations Disadvantages of AWS Lambda
  42. 42. application structure Basic structure API write to db
  43. 43. application structure Basic structure API API API
  44. 44. execution limit 5 minutes of execution now it is 15 minutes
  45. 45. other limits AWS Lambda Quotes
  46. 46. state machine State machine
  47. 47. state machine AWS Step Function
  48. 48. state machine AWS Step Function Lambda 1 Lambda 2
  49. 49. deployment No deployment mechanism
  50. 50. deployment List of items to deploy Lambda 1 Lambda 2 Step Function IAM Role for Step Function IAM Role(s) for Lambdas CloudWatch Metrics & Alarms
  51. 51. deployment AWS CloudFormation infrastructure as code
  52. 52. access issues AWS CloudFormation deployment
  53. 53. Daily meeting Lonely man on Daily meeting
  54. 54. new technology No best practices
  55. 55. new technology No ready local environment
  56. 56. Language selection PHP language
  57. 57. the choosing of the language No PHP language
  58. 58. No PHP language Denial BargainingAnger Depression Acceptance
  59. 59. No PHP language BargainingAnger Depression AcceptanceDenial
  60. 60. No PHP language Bargaining Depression AcceptanceDenial Anger
  61. 61. No PHP language Depression AcceptanceDenial Anger Bargaining
  62. 62. No PHP language AcceptanceDenial Anger Bargaining Depression
  63. 63. No PHP replaced with cool AWS features Denial BargainingAnger Depression Acceptance
  64. 64. what did we get from Lambda? Advantages of AWS Lambda
  65. 65. no monolith Security Patches For any web application we have updates of core, that can be really painful sometime ENV maintenance For any web application we should have some OS, Nginx/Apache, Programming language. etc Regression testing No relation to main workflow of the web application Less complexity No hard relations to the main project
  66. 66. no real users in our case
  67. 67. no limits for deployment
  68. 68. no limits from Magento
  69. 69. extensibility API write to db
  70. 70. extensibility API write to db
  71. 71. extensibility API write to db
  72. 72. extensibility API write data to S3 bucket replace RDS with S3 bucket + AWS Glue
  73. 73. allows to keep services and data safe IAM allows to monitor applications, prepare metrics and alarms CloudWatch allows to prepare template for easier deployment of services CloudFormation allows easily execute small amount of code to solve simple business issues Lambda allows to store large amount of data S3 allows to build apps with a few related Lambdas Step Function AWS Ecosystem
  74. 74. +1 potential solution
  75. 75. +1 potential solution 10+ new Lambdas Other data sources
  76. 76. Conclusion AWS Lambda & Serverless apps are not a Silver Bullet, but they can help you in many cases
  77. 77. Thanks! You can find me at: vitaly.grigorishin@gmail.com Any questions?

×