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

Survival Guide for the Java Architect in the Cloud Era

Survival Guide for the Java Architect in the Cloud Era

Let's be very honest, cloud computing cannot be learned in one day. There are several architectural challenges to deploying your application, such as which framework to choose, reflection or reflectionless, native or non-naive. We also have the operational challenges such as backups, CI/CD, and much more.
This presentation explains how to make some of these design choices and the tradeoffs to consider when building applications to run in a virtual cloud environment.

C8709f1d7ae6cc5f057e37e01d6e28db?s=128

Otavio Santana

April 14, 2021
Tweet

Transcript

  1. Otavio Santana @otaviojava Survival Guide for the Java Architect in

    the Cloud Era member of KI group
  2. Otavio Santana @otaviojava Staff Engineer • Java Champion • JCP-EC-EG-EGL

    • Apache Committer • Eclipse Committer • Eclipse Project Leader • Book and blog writer Speaker
  3. Cloud

  4. Agile • Individuals and interactions over processes and tools •

    Working software over comprehensive documentation • Customer collaboration over contract negotiation • Responding to change over following a plan
  5. Breaking down the silos • DevOps ◦ NoOps • BizDevOps

    Great wall of China
  6. Cloud "Cloud is somebody else's problem" Jacob Peter Gowy's The

    Flight of Icarus (1635–1637)
  7. NIST "cloud computing is a model for enabling ubiquitous, convenient,

    on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction." National Institute of Standards and Technology
  8. Cloud Types • Hardware • Operations • Knowledge

  9. Some of the Options Cloud PaaS IaaS CaaS SaaS Managed

    Application Services Managed Event Streaming Managed Database Managed API Gateways Managed Integration Decisions and Processes as a Service Backend as a Service (serverless)
  10. Cloud Trends • Serverless Computing • Quantum Computing • Digital

    Natives • Edge Computing • Containerization continues to reign • Mobile Cloud Computing
  11. Cloud Trends • Cloud • Cloud Ready • Cloud Friend

    • Coud Native
  12. Cloud Native Applications

  13. Cloud Native “Cloud-native is an approach to building and running

    applications that exploits the advantages of the cloud computing model.”
  14. Cloud Native “Cloud-native is a different way of thinking and

    reasoning about software systems. It embodies the following concepts: powered by disposable infrastructure, composed of bounded, scales globally, embraces disposable architecture.”
  15. Cloud Native “Independent DURS ultimately comes up in every discussion

    on cloud-native concepts; to independently Deploy, Update, Replace and Scale.”
  16. Cloud Native “Cloud-native is more than a tool set. It

    is a complete architecture, a philosophical approach for building applications that take full advantage of cloud computing.”
  17. Cloud Native “Cloud-native technologies empower organizations to build and run

    scalable applications in modern, dynamic environments such as public, private, and hybrid clouds. Containers, service meshes, microservices, immutable infrastructure, and declarative APIs exemplify this approach.”
  18. Cloud Native Cloud-native is a term used to describe container-based

    environments.
  19. Cloud Native A set of good practices to optimize an

    application in the cloud through: • Containerization • Orchestration • Automation
  20. Challenges

  21. Challenges • Rotes (Http/Cache) • Security (grant access to application

    and database) • Upgrade database and language • Backups • CI/CD
  22. Trade-off • Complexity • Risk • Cost • Knowledge management

    Use cloud ready SaaS services Complexity Cost Risk High Med - High Low Migrate existing workloads into cloud Build new apps cloud ready ^ ^
  23. Tips • Use Managed Services --- Please - Dan Moore

    • Why every Engineer Should Be a cloud Engineer - Michelle Brenner • KISS It -- Chris Proto • Source Code Management for Software Delivery - Tiffany Jachja • Containers aren't Magic - Katie McLaughlin • It's Ok if you're not running Kubernetes - Mattias Geniar.
  24. Infrastructure as Code • Alignment with DevOps • Speed and

    efficiency • Consistency
  25. GitOps • Git as the single source of truth •

    Git is the single place we operate • All changes are observable/verifiable • CI/CD
  26. The Best Practices

  27. The 12 Factors App 1. Codebase 2. Dependencies 3. Config

    4. Backing services 5. Build, release, run 6. Process 7. Port binding 8. Concurrency 9. Disposability 10. Dev/prod parity 11. Logs 12. Admin processes
  28. Old, but gold

  29. Microservices “Certainly, we always read great things about the microservices

    architectures implemented by companies like Netflix or Amazon. So let me ask a question: how many companies in the world can be Netflix and Amazon?” Conway's law
  30. Java

  31. JVM • Optimizations on GC • Improvements Containers (OCI) •

    Release 6 months • Application Class-Data Sharing (JEP 310)
  32. Metadata • Reflection • Build Time • Java Annotation Processor

    Plug Cold Warm Encapsulation Reflection Java Comp Annot. Proc. Native
  33. Frameworks

  34. Native Image • Native • Serverless • GC • JIT

    Hardware ISA SO JVM App Hardware ISA SO App
  35. 35 Demo Time

  36. Conclusion

  37. What makes us strong We are bringing passion and eXpertise

    into the team. High Coding standards Reliable and proven processes and quality testing Continuous Innovation Senior/Junior split 1:2 enables room for innovation Integration in KI group Strong backing and steady exchange with experts Flexible work style Individual and flexible, fully acustomed to our clients
  38. What makes us special Member of KI group – home

    of entrepreneurs, solvers & creators. © xgeeks | 02/12/2020 38 Software and data Human resources Business models, processes and company building Experiences, design & lifestyle Investments and ecosystems
  39. Thank you Otávio Santana Staff Engineer, Xgeeks Join us!! http://xgeeks.io/

    @xgeeksio