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

Bárbara Rossalli

June 09, 2021
Tweet

More Decks by Bárbara Rossalli

Other Decks in Technology

Transcript

  1. >_< @zupinnovation zup.com.br Survival Guide for the Java Architect in

    the Cloud Era Otávio Santana @otaviojava Principal Engineer Bárbara Rossalli @brossalli Tech Lead
  2. <> @zupinnovation zup.com.br How am I? Otavio Santana @otaviojava Principal

    Engineer • Pas Jean Valjean • Java Champion • JCP-EC-EG-EGL • Apache Committer • Eclipse Committer • Eclipse Project Leader • Book and blog writer
  3. <> @zupinnovation zup.com.br How am I? Bárbara Rossalli @brossalli Tech

    Lead • DevsJavaGirl • CharlesCD • JavaNoroeste • GmTech • Backend Developer • Blog writer
  4. <> @zupinnovation zup.com.br 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. <> @zupinnovation zup.com.br Cloud "Cloud is somebody else's problem" Jacob

    Peter Gowy's The Flight of Icarus (1635–1637)
  6. <> @zupinnovation zup.com.br NIST National Institute of Standards and Technology

    "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."
  7. <> @zupinnovation zup.com.br More Options... Cloud IaaS Saas Managed Application

    Services CaaS Managed API Gateways Managed Event Streaming DBaaS Decisions and Processes as a Service Backend as a Service (serverless) PaaS
  8. <> @zupinnovation zup.com.br Cloud Native “Cloud-native is an approach to

    building and running applications that exploits the advantages of the cloud computing model.”
  9. <> @zupinnovation zup.com.br 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.”
  10. <> @zupinnovation zup.com.br Cloud Native “Independent DURS ultimately comes up

    in every discussion on cloud-native concepts; to independently Deploy, Update, Replace and Scale.”
  11. <> @zupinnovation zup.com.br 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.”
  12. <> @zupinnovation zup.com.br 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.”
  13. <> @zupinnovation zup.com.br Cloud Native A set of good practices

    to optimize an application in the cloud through: Containerization Orchestration Automation
  14. <> @zupinnovation zup.com.br Tips Use Managed Services, Please (Dan Moore)

    It's Ok if you're not running Kubernetes (Mattias Geniar) Why every Engineer Should Be a cloud Engineer (Michelle Brenner) Source Code Management for Software Delivery (Tiffany Jachja) Containers aren't Magic (Katie McLaughlin) KISS It (Chris Proto)
  15. <> @zupinnovation zup.com.br GitOps • Git as the single source

    of truth • Git is the single place we operate • All changes are observable/verifiable • CI/CD
  16. <> @zupinnovation zup.com.br 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
  17. <> @zupinnovation zup.com.br 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
  18. <> @zupinnovation zup.com.br Circle Deploy: The evolution of deployment •

    Intelligent and simple segmentation • Multiple parallel releases of the same application • Improvements: ◦ Best test hypothesis ◦ Solve bug faster ◦ Easier development process ◦ More reliable releases
  19. <> @zupinnovation zup.com.br Circle Deploy: The evolution of deployment This

    kind of deployment makes it possible to create a segment with your clients' specific characteristics At the same time, submit several versions of the same application to test this circle of users.
  20. <> @zupinnovation zup.com.br CharlesCD: the deployment in circles on Kubernetes

    clusters “The concept behind the tool goes back to the theory proposed by the biologist Charles Darwin (1809-1882), in which evolution goes by the adaptation to a new environment. In the development scenario, this evolution goes by constant improvements on the applications to build and test hypothesis in order to implement more reliable releases.”
  21. <> @zupinnovation zup.com.br What is CharlesCD? OPEN-SOURCE NATIVE Lorem Ipsum

    DOLOR SIT AMET Lorem Ipsum DOLOR SIT AMET Lorem Ipsum DOLOR SIT AMET C/D
  22. <> @zupinnovation zup.com.br And more... • Automatic circle promotion by

    metrics • Webhook notification • Workspaces • User management or IDM configuration • Integrations: Azure ECR, DockerHub, Amazon ECR, GCR • Deploy on fridays! :)
  23. <> @zupinnovation zup.com.br Thank you! Otávio Santana @otaviojava Principal Engineer

    @ZupInnovation Bárbara Rossalli @brossalli Tech Lead Q&A