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.

The Not-So-Straightforward Road From Microservices to Serverless

516 views

Published on

For the last ten years or so, many companies have focused on migrating from larger, monolithic systems and applications towards a specific style of Service-Oriented Architecture called Microservices. The promise was that these smaller, loosely-coupled, and independently developed components would increase productivity and safety for organizations, as large and complex business challenges can be broken down into smaller and simpler components.

However, even before most organizations were able to fully migrate to this new architecture and enjoy its promised benefits, a new iteration of cloud computing has been made available in the shape of Serverless platforms such as AWS Lambda, and Google Cloud and Microsoft Azure Functions.

Now lots of companies found themselves conflicted between abandoning their traditional microservices approach towards Serverless, often even before they have fully migrated to it from the legacy systems.

After leading successful Microservices adoption at SoundCloud and DigitalOcean, recently at Meetup I have faced the challenge of pivoting from a traditional monolith-to-microservices migration to a cloud-native platform.

In this talk, let's discuss the fundamental concepts, technologies, and practices behind Microservices and Serverless, and how a software architect used to distributed systems based on microservices needs to change their mindset and approach when adopting Serverless.

Published in: Software
  • Be the first to comment

The Not-So-Straightforward Road From Microservices to Serverless

  1. 1. The Not-So-Straigh.orward Road From Microservices to Serverless Phil Calçado - @pcalcado - philcalcado.com
  2. 2. What are microservices?
  3. 3. Microservices seem to be highly-distributed applica?on architectures.
  4. 4. What is Serverless?
  5. 5. Who knows? !
  6. 6. e.g.
  7. 7. Keep your monolith for as long as possible
  8. 8. Monolith
  9. 9. Service B Monolith
  10. 10. Service B Monolith Service C
  11. 11. But what if you waited so long microservices aren’t hype anymore there are other alterna?ves?
  12. 12. “Chaps?ck"
  13. 13. This project wasn’t par?cularly successful
  14. 14. Some challenges we faced
  15. 15. Solving a bug means re- processing all the data
  16. 16. “The write path issue”
  17. 17. Write path
  18. 18. Cold start for JVM Lambdas
  19. 19. DynamoDB Costs
  20. 20. Who owns what? What calls what? Is this Lambda supposed to be in produc?on?
  21. 21. Some of the challenges we DID NOT face
  22. 22. GeSng new engineers produc?ve on Lambda/ DynamoDB
  23. 23. Cold start for Node.js Lambdas
  24. 24. Opera?ons allergy
  25. 25. "Local" development
  26. 26. Developer happiness
  27. 27. How can we keep the good and get rid of the bad?
  28. 28. User Experience Database Back-end Database User Experience Database Back-end Point of Sale Financial Reporting User ExperienceBack-end User Manager
  29. 29. User Experience Database Back-end Database User Experience Database Back-end Point of Sale Financial Reporting User ExperienceBack-end User Manager
  30. 30. User Experience Database Database Database Service Service Service User Experience λ Admin Web App
  31. 31. User Experience Database Database Database User Experience Consumer Website Admin Web App  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda
  32. 32. We were suffering from Pinball machine Architecture
  33. 33. User Experience Database Database Database User Experience Consumer Website Admin Web App  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda
  34. 34. User Experience Database Database Database User Experience Consumer Website Admin Web App  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda  λLambda API Gateway API Gateway API Gateway
  35. 35. Use Serverless as building blocks for Microservices
  36. 36. AWS Accounts are a great way to define service boundaries
  37. 37. API Gateway is actually quite expensive (at the moment)
  38. 38. ~1/10 of the engineering teams was dedicated to pla.orm
  39. 39. But… is this really Serverless?
  40. 40. Who cares? !
  41. 41. You can’t got from 2/10 to 10/10 in one jump.
  42. 42. Serverless looks like the future, but we’re not there yet
  43. 43. Ques?ons?

×