Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Neosperience Serverless Adoption

Aletheia
November 08, 2022

Neosperience Serverless Adoption

Aletheia

November 08, 2022
Tweet

More Decks by Aletheia

Other Decks in Technology

Transcript

  1. NOME CLIENTE 08/11/22 Who am I? Luca Bianchi, PhD Chief

    Technology Officer @ Neosperience AWS Hero, passionate about serverless and machine learning github.com/aletheia https://it.linkedin.com/in/lucabianchipavia https://speakerdeck.com/aletheia www.ai4devs.io @bianchiluca
  2. X Neosperience Cloud — requirements API-first solution to support brands

    cloud strategy with a set of pluggable modules deployed on a SaaS architecture. • multi-layer (bazaar vs cathedral) • pluggable serverless microservices • API-first • event-driven • Infrastructure-as-Code • AI-enabled services
  3. X • Define Cloud Requirements • One endpoint serves multiple

    requests • It’s called the monolith Neosperience Cloud — the beginning Understand Engage Grow Neosperience Cloud Services
  4. X • Multi-region deploy of SpringMVC / Java on Apache

    Tomcat / JBoss • Shared RDS database managed by Hibernate • Autoscaling group for EC2 instances, Elastic IP Pros • Everything within a single package • Simple CI workflow • Easy services coordination Cons • Lifecycle: one change in code requires a full release of Neosperience • Scalability / Costs: planning autoscale for different usages is not easy The age of the monolith ( 2008 — 2012 )
  5. X • Spring Boot/Cloud on Java Stack • Docker image

    for each service within NGINX • DynamoDB used as façade towards clients • RDS managed through Spring Data • Coordination service (Module Manager) Pros • Smaller services, same technology for everything • Immutable deployments: from CI to Docker registry • Easy services coordination Cons • Still paying for idle (database, instances) • Manual provisioning of resources (through Beanstalk) Separation of concerns ( 2012 — 20125)
  6. X What is serverless? “Serverless architecture replaces long-running virtual machines

    with ephemeral compute power that comes into existence on request and disappears immediately after use. Use of this architecture can mitigate some security concerns such as security patching and SSH access control, and can make much more efficient use of compute resources. These systems cost very little to operate and can have inbuilt scaling features.” — ThoughtWorks, 2016
  7. X Serverless means no servers Server VM OS frameworks code

    your du t • No hardware to provision or manage • No IT service team installing hardware • But still it’s someone else server
  8. X Serverless means no VMs VM OS frameworks code your

    du t • No under or over provisioning • Never pay for idle • No VM disaster recovery
  9. X Serverless means no OS to patch OS frameworks code

    your du t • OS is provisioned automatically • Patches are installed by vendor • Built-in best practices
  10. X Serverless means no schedulers frameworks code your du t

    • Code is invoked by platform • Language support is packed within runtime • Analytics are provided out of the box
  11. X Serverless means Servicefull Patrick Debois - 2016 Server VM

    OS frameworks code your du t some one else duty
  12. X • Triggers to Lambda functions • Each service defines

    its own persistence • Communication is handled through Kinesis • Immutable deployments Benefits • Many small packages • Extremely fast release cycles (smaller changes) • No servers to manage (woot-woot) • Scalability at its best / Cost reduction • no difference between dev/stage/production Here comes the age of serverless ( 2015 — now)
  13. X Serverless — downsides • Required a shift in team

    perspective towards software development (there is no one size fits all architecture) • Raises the bar of team technology adoption • Required shifting towards Cloud Native paradigm • Expensive when utilization close to 100% • No support for dedicated hardware
  14. X How micro is a microservice? Decompose your system into

    domain specific computing units using Domain Driven Development (DDD) Do we want to reinvent the wheel? AWS provides a variety of managed services that can ease out software development, reducing time to market of orders of magnitude. Every time we had to implement a new functionality we asked ourselves whether there was an AWS service for that. How to deal with the outside world? Neosperience is a B2B2C ISV vendor. Our product can be used SaaS by companies or integrated through API. We need to rely on web standards REST and OAuth2 How about vendor lock-in? Serverless does not lock you in. Data does. But it’s the same with languages, tools or frameworks. Neosperience Cloud — FAQ
  15. X Business Domain Support ✓ 30+ different business domains ✓

    5-10 microservices each domain ✓ a dozen of support services (monitoring, maintenance, OAuth2, Organization, multi-tenancy, etc.) Serverless ✓ 100% Serverless except for ML model training Lambda Functions ✓ 300+ functions AWS Resources ✓ 450+ AWS resources ✓ managed through a 25+ CloudFormation stacks Neosperience Cloud — wrap up Time to market ✓ improved from months to weeks ✓ business features released every sprint ✓ technical features released multiple times a week Costs ✓ reduced by an order of magnitude Ownership ✓ developers provision cloud resources ✓ innovation in encouraged, failure impact is bounded ✓ shifted from running after business requirements to waiting for business requirements Business Value ✓ Dev Team has full control on delivery ✓ Business Team has control on feature delivery
  16. 
 Myth #3: Local emulators give you con f idence

    Photo by Jessica Lewis on Unsplash
  17. Photo by Liam Briese on Unsplash 
 Myth #6: My

    function doesn’t need all that memory
  18. X Karavel The Karavel Project is an open governance community

    of technologists with the goal of building tools and knowledge in the Kubernetes and cloud-native space. It hosts different open source projects that aim at simplifying the deployment and operation of Kubernetes-based platforms and streamlining the delivery of cloud-native apps on public cloud, private clouds and bare-metal environments. Everyone is welcome to participate, contribute, and help push forward the developer experience of using Kubernetes and cloud-native infrastructure in production! works great with karavel.io
  19. Nov 2014 Lambda Preview Apr 2015 Lambda GA Jul 2015

    API Gateway Oct 2015 JAWS (sls) Dec 2015 I meet serverless
  20. May 2016 ServerlessConf NYC Oct 2016 ServerlessConf Tokyo Jul 2017

    JeffConf is born Apr 2018 ServerlessDays are born 2017-2018 A lot more happened!
  21. X Where to go from here? Neosperience Blog — vision

    https://www.neosperience.com/it/blog
  22. “in the past were bigger companies that outcompeted smaller companies

    now are faster companies 
 to outcompete slower companies” — Marc Benio f
  23. Thank you! 25125 BRESCIA, VIA ORZINUOVI, 20 20137 MILANO, VIA

    PRIVATA DECEMVIRI, 20 [email protected] WWW.NEOSPERIENCE.COM Github: github.com/aletheia LinkedIn: https://it.linkedin.com/in/lucabianchipavia SpeakerDeck: https://speakerdeck.com/aletheia Twitter: @bianchiluca Luca Bianchi