Cloud vs Non-Cloud Project Management
68 Questions
1 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

What best describes the nature of non-cloud projects compared to cloud projects?

  • Non-cloud projects are unique and individually managed. (correct)
  • Non-cloud projects are standardized and interchangeable.
  • Non-cloud projects require remote access for management.
  • Non-cloud projects rely heavily on a shared environment.

How do illnesses in non-cloud projects differ from those in cloud projects?

  • Cloud projects do not address illnesses in the same personal way. (correct)
  • Non-cloud projects require regular preventative measures.
  • Illnesses in non-cloud projects result in financial loss.
  • Illnesses in cloud projects typically require immediate replacement.

What metaphor is used to illustrate the approach to non-cloud and cloud projects?

  • Vehicles vs. bicycles.
  • Tech gadgets vs. home appliances.
  • Pets vs. cattle. (correct)
  • Plants vs. crops.

Which statement accurately reflects the integration of non-cloud projects?

<p>Non-cloud projects are deeply integrated into personal settings. (D)</p> Signup and view all the answers

What is a key characteristic of cloud projects concerning their uniqueness?

<p>They are produced to be almost identical to each other. (D)</p> Signup and view all the answers

What is the primary function of Grafana?

<p>Creating interactive dashboards and graphs (B)</p> Signup and view all the answers

Which monitoring tool is specifically designed for analyzing machine data?

<p>Splunk (A)</p> Signup and view all the answers

What is a key feature of Splunk?

<p>Indexing machine data (C)</p> Signup and view all the answers

Which option matches Prometheus in the context of monitoring?

<p>Grafana (C)</p> Signup and view all the answers

What is a crucial benefit of observability in systems?

<p>Metrics and performance tracking (D)</p> Signup and view all the answers

What type of data does Grafana primarily visualize?

<p>Data from various sources (A)</p> Signup and view all the answers

When considering monitoring tools, which tool is best suited for security analysis?

<p>Splunk (C)</p> Signup and view all the answers

In the context of performance tracking, what essential feature is highlighted?

<p>Real-time event monitoring (B)</p> Signup and view all the answers

What is one key requirement for microservices to function effectively?

<p>They must operate independently. (B)</p> Signup and view all the answers

Which approach is recommended for maintaining code quality in microservices?

<p>Continuous integration (CI) and automated testing. (C)</p> Signup and view all the answers

What should comprehensive documentation for microservices include?

<p>API documentation and usage guidelines. (D)</p> Signup and view all the answers

What is essential for the integration of microservices?

<p>Creating thorough integration tests. (C)</p> Signup and view all the answers

Which factor is important for the success of a microservices architecture?

<p>Independence and specific responsibilities of services. (B)</p> Signup and view all the answers

Why is comprehensive documentation particularly important for microservices?

<p>It assists developers interacting with services. (B)</p> Signup and view all the answers

What does the correlation ID signify in the logs?

<p>A unique identifier for tracking specific requests (B)</p> Signup and view all the answers

Which controller is responsible for managing analytics processes?

<p>AnalyticsController (C)</p> Signup and view all the answers

When is a payment retry scheduled based on the log entries?

<p>Following a payment processing failure (A)</p> Signup and view all the answers

What is a benefit of a monolithic application?

<p>Ease of deployment (B)</p> Signup and view all the answers

Which limitation is associated with monolithic applications?

<p>Costly scalability (A)</p> Signup and view all the answers

What does the data decentralization property of a microservice mean?

<p>Data is isolated within each microservice (C)</p> Signup and view all the answers

Which characteristic distinguishes microservices from monolithic applications?

<p>Independent service autonomy (A)</p> Signup and view all the answers

What is a challenge when updating a monolithic application?

<p>Unified package deployment (A)</p> Signup and view all the answers

Why might a microservice architecture improve development speed?

<p>Independent functions allow parallel work (B)</p> Signup and view all the answers

What is a key property of microservices that fosters flexibility?

<p>Independent architecture (B)</p> Signup and view all the answers

Which aspect of microservices helps manage complexity effectively?

<p>Modularity of functions (C)</p> Signup and view all the answers

What is the purpose of Hystrix in microservices architecture?

<p>To avoid single points of failure (SPOF) (A)</p> Signup and view all the answers

In Domain-Driven Development (DDD), which aspect is primarily emphasized?

<p>Collaboration with domain experts (C)</p> Signup and view all the answers

What is a potential challenge when diagnosing issues in microservices?

<p>Difficulty due to multiple code base changes at once (B)</p> Signup and view all the answers

Which of the following describes a notable issue with large databases in microservices?

<p>Locking and contention problems (B)</p> Signup and view all the answers

What does Domain-Driven Development (DDD) create between developers and business experts?

<p>A shared language and model (D)</p> Signup and view all the answers

What type of failures does Hystrix aim to prevent within microservices?

<p>Cascading failures (A)</p> Signup and view all the answers

What defines a Private Cloud solution?

<p>A cloud solution within a private datacenter with its own service catalog (C)</p> Signup and view all the answers

How many Availability Zones typically make up a Region in cloud architecture?

<p>Three (B)</p> Signup and view all the answers

What is a key characteristic of a Hybrid Cloud?

<p>Integrates both on-premise datacenter and public/private cloud (B)</p> Signup and view all the answers

What is indicated by the phrase 'Cloud is not vague'?

<p>Cloud locations and structure can be precisely identified (B)</p> Signup and view all the answers

What is the main purpose of creating regions within cloud services?

<p>To improve performance through isolation and latency reduction (A)</p> Signup and view all the answers

How are workloads and data managed within cloud Regions?

<p>Data and workloads remain in their specified regions unless instructed otherwise (C)</p> Signup and view all the answers

In the context of cloud computing, what does isolation between Regions imply?

<p>Regions are independent and do not affect each other's operations (D)</p> Signup and view all the answers

Why is redundancy important within cloud Regions?

<p>It ensures that services remain operational despite failures (D)</p> Signup and view all the answers

What is the primary purpose of the Circuit Breaker design pattern?

<p>To prevent cascading failures in a system. (A)</p> Signup and view all the answers

Which of the following is an example of the Exponential BackOff strategy?

<p>RetryDelay(i) = 100 * 2 ^(i-1) [ms]. (A)</p> Signup and view all the answers

What benefit does the Event Broker Pattern provide in software architecture?

<p>It enables asynchronous event-driven communication. (C)</p> Signup and view all the answers

In the Retry pattern, what does the Incremental Delay strategy imply?

<p>The delay increases by a fixed amount each time. (C)</p> Signup and view all the answers

When a Circuit Breaker 'opens', what is the immediate effect on the service?

<p>Requests to that service are stopped. (C)</p> Signup and view all the answers

Which of the following best describes bounded contexts in Domain-Driven Design (DDD)?

<p>They define clear boundaries for different aspects of a system. (A)</p> Signup and view all the answers

What is typically the first action taken when a service experiences repeated failures in a Circuit Breaker pattern?

<p>The circuit opens and stops requests to that service. (D)</p> Signup and view all the answers

Which Retry mechanism strategy would use a delay calculated by the formula $100 * 2^{(i-1)}$ milliseconds?

<p>Exponential BackOff (C)</p> Signup and view all the answers

What is the primary function of Splunk in monitoring systems?

<p>Indexing and visualizing machine data generated by IT systems. (C)</p> Signup and view all the answers

Which tool is primarily used for performance tracking and system analysis?

<p>Grafana (A)</p> Signup and view all the answers

Which of the following best describes the relationship between Grafana and Prometheus?

<p>Grafana visualizes the metrics collected from Prometheus. (D)</p> Signup and view all the answers

What is one of the primary benefits of observability in systems?

<p>It enables real-time tracking of system performance metrics. (C)</p> Signup and view all the answers

Which aspect does Grafana enhance through its functionality?

<p>Real-time observability of system performance. (D)</p> Signup and view all the answers

Which statement distinguishes Splunk from other monitoring tools?

<p>It specializes in collecting and indexing machine data. (A)</p> Signup and view all the answers

In the context of system monitoring, what is the role of Prometheus?

<p>To collect and store metrics over time. (D)</p> Signup and view all the answers

What type of data does Splunk excel in managing?

<p>Large volumes of logs and real-time events. (B)</p> Signup and view all the answers

What is the first step in building a microservice from a monolith?

<p>Analyze the monolith thoroughly (C)</p> Signup and view all the answers

What is essential for defining clear responsibilities for each microservice?

<p>Cohesive service boundaries (B)</p> Signup and view all the answers

How should data be managed between microservices to ensure decoupling?

<p>Through data replication and synchronization (A)</p> Signup and view all the answers

What type of communication protocols are typically defined between microservices?

<p>RESTful APIs and gRPC (C)</p> Signup and view all the answers

What is necessary when creating different codebases for microservices?

<p>Extracting relevant code from the monolith (C)</p> Signup and view all the answers

What needs to be implemented to establish the functionality of a microservice?

<p>Developing cohesive service logic (A)</p> Signup and view all the answers

What is the purpose of establishing service boundaries in microservices?

<p>To ensure clear responsibilities of each service (B)</p> Signup and view all the answers

Why is it important to decompose the database when transitioning from a monolith to microservices?

<p>To ensure each microservice can function independently (D)</p> Signup and view all the answers

Flashcards

Solution Architect

A professional who designs and implements the technical architecture of a software solution, ensuring it meets business needs and technical requirements.

Functional Architect

A professional who understands the functional needs of a business and translates them into software requirements and specifications.

Team Lead

A professional who leads and guides a team of developers, ensuring the timely and successful completion of a project.

Technical Project Manager

A professional who oversees the technical aspects of a project, ensuring that the solution aligns with the specified architecture and technical requirements.

Signup and view all the flashcards

Consultant

A professional who works closely with clients to understand their needs and propose effective solutions.

Signup and view all the flashcards

Data-Mining

Using computer science principles and techniques to analyze and extract meaningful patterns from large datasets.

Signup and view all the flashcards

Operations Research

A branch of mathematics that deals with optimizing resource allocation and decision-making under constraints.

Signup and view all the flashcards

R

A programming language used for statistical computing and graphics., often used for data analysis in data-mining and operations research

Signup and view all the flashcards

Correlation ID

A unique identifier used to track a specific request or operation across different system components.

Signup and view all the flashcards

Analytics process completed

A log message indicating that the system has successfully completed an analytics process.

Signup and view all the flashcards

Payment retry scheduled

A log message displaying information about a payment attempt that was unsuccessful but will be retried later.

Signup and view all the flashcards

INFO

A log message displaying information about an event that has occurred, such as a request being initiated or a notification being sent.

Signup and view all the flashcards

DEBUG

A log message displaying information about a low-level action taken within the system, for debugging or tracing purposes.

Signup and view all the flashcards

Log message

A log message that provides a concise summary of the event that occurred.

Signup and view all the flashcards

Controller (e.g., AnalyticsController, ShippingController)

A specific component or service that is responsible for performing a particular task within the system, such as handling analytics, shipping, or user profile management.

Signup and view all the flashcards

INFO Log

A log message with the severity level "INFO" indicating a routine event or successful operation in the system.

Signup and view all the flashcards

DEBUG Log

A log message with the severity level "DEBUG" providing detailed information about the internal workings of a program or process.

Signup and view all the flashcards

WARN Log

A log message with the severity level "WARN" indicating a potential problem or an unusual situation that warrants attention but doesn't necessarily lead to immediate failure.

Signup and view all the flashcards

ERROR Log

A log message with the severity level "ERROR" indicating a critical failure in the system that prevents normal operation.

Signup and view all the flashcards

Timestamp

A timestamp that captures the exact time and date when a log message was generated. It helps with troubleshooting by providing context about when an event occurred.

Signup and view all the flashcards

Logger

A tag or identifier that specifies the origin or source of a log message. It helps in identifying which part of the application generated the message.

Signup and view all the flashcards

Logs

A structured record of events or activities that occur within a software system. Logs provide insights into the application's behavior and help diagnose and resolve issues.

Signup and view all the flashcards

DEBUG Log

A message with the severity level "DEBUG" indicating a routine event or successful operation in the system.

Signup and view all the flashcards

WARN Log

A message in the log indicating something unexpected or potential problems.

Signup and view all the flashcards

ERROR Log

A message in the log indicating a failure in the system.

Signup and view all the flashcards

Timestamp

The time and date of a recorded event.

Signup and view all the flashcards

Logger

A record of the location or origin of a log message.

Signup and view all the flashcards

Logs

A sequential record of activities and events related to an application or system.

Signup and view all the flashcards

Log Analysis

Debugging and troubleshooting activities that focus on the application's logs to understand why something went wrong.

Signup and view all the flashcards

What is Grafana?

An open-source tool for visualizing and monitoring data from various sources (like Prometheus or InfluxDB). It's used to create interactive dashboards and graphs, helping track performance and analyze system behavior.

Signup and view all the flashcards

What is Splunk?

A data analytics platform that excels at collecting, indexing, and visualizing machine data from applications, servers, and IT systems. It's used for security, IT operations, and business intelligence.

Signup and view all the flashcards

What is System/API Monitoring?

A process of actively monitoring and managing the health, performance, and behavior of systems, applications, and services. It utilizes various tools and techniques to ensure optimal functioning and identify potential issues.

Signup and view all the flashcards

What are Metrics in Observability?

Numerical values that represent a specific aspect of a system or application. They provide insights into performance, resource usage, or other key metrics.

Signup and view all the flashcards

What are Alerts in Observability?

Warnings or notifications triggered when a system or application deviates from expected behavior or performance thresholds. They alert teams to potential problems requiring attention.

Signup and view all the flashcards

What is Performance Tracking?

A crucial aspect of observability that involves tracking and analyzing system and application performance over time. This helps understand trends, identify bottlenecks, and optimize performance.

Signup and view all the flashcards

What is Observability?

A comprehensive approach to understanding system behavior and performance, encompassing metrics, logs, and traces to offer a holistic view of the system's state.

Signup and view all the flashcards

What is Logging?

A system or process that systematically gathers, analyzes, and interprets data about system events, user interactions, and application behavior. This data is used to diagnose issues, understand user patterns, and improve system performance.

Signup and view all the flashcards

Cloud vs Non-Cloud: Pets vs Cattle

In non-cloud projects, infrastructure is treated as unique and irreplaceable, like pets. When issues arise, they are addressed individually. In contrast, cloud projects view infrastructure as interchangeable and replaceable, like cattle. When issues occur, failing instances are simply replaced.

Signup and view all the flashcards

Scalability and Consistency in Cloud Projects

Cloud projects emphasize scalability and consistency, prioritizing functionality over unique configurations. Instead of focusing on individual instances, they focus on having enough resources of the same type.

Signup and view all the flashcards

Dependency on Environment in Cloud Projects

Cloud projects aim for minimal dependence on the local environment, focusing on the overall result. This means that cloud services are typically more portable and adaptable.

Signup and view all the flashcards

Shared Responsibility Model in Cloud

In the shared responsibility model for cloud services, the cloud provider is responsible for the security of the underlying infrastructure, while the client is responsible for the security of data and applications running on it.

Signup and view all the flashcards

Understanding Security Responsibilities in Cloud

The shared responsibility model emphasizes the importance of understanding and fulfilling security obligations within the cloud environment. This involves a clear division of responsibilities for securing different layers of the cloud infrastructure.

Signup and view all the flashcards

Microservice Independence

Each microservice should be able to function independently and handle its own responsibilities without relying on other services.

Signup and view all the flashcards

Integration Testing

Testing how microservices interact with each other to ensure they can communicate and work together as a cohesive unit.

Signup and view all the flashcards

Continuous Integration

A process that automatically builds and tests code changes, ensuring maintainable code quality.

Signup and view all the flashcards

Microservice Documentation

Creating detailed documentation for each microservice, including API specifications and usage guidelines for developers.

Signup and view all the flashcards

Microservice Responsibility

Creating a system where each service is responsible for a specific, well-defined task.

Signup and view all the flashcards

Automated Testing for Microservices

Using software tools to automatically test various aspects of a microservice, helping to identify potential issues early on.

Signup and view all the flashcards

Microservice Architecture

A strategy where software applications are broken down into smaller, independent services, allowing for easier development, deployment, and scaling.

Signup and view all the flashcards

Microservice Communication

Ensuring that all the microservices within a system communicate and interact effectively with each other.

Signup and view all the flashcards

Microservice Design Principles

A set of guidelines and best practices for creating and managing microservices within a system.

Signup and view all the flashcards

What is a monolithic application?

A monolithic application is a single-tiered software application where different modules are combined into one program. It's like having all the parts of a car in one giant box.

Signup and view all the flashcards

What are the benefits of microservices?

Microservices allow for independent development, deployment, and scaling of smaller services, each focused on a specific function. Imagine having separate teams build car parts instead of one team building the entire car.

Signup and view all the flashcards

What are the key properties of a microservice?

Each microservice should work independently, have its own data, and be able to scale separately. It's like having a team dedicated to building car doors, working independently from the engine team.

Signup and view all the flashcards

What is a limitation of monolithic applications?

Monolithic applications are difficult to scale because changes require updating the entire application. Imagine scaling up a single, large car engine instead of separate components.

Signup and view all the flashcards

How does updating monolithic applications differ from microservices?

Monolithic applications are difficult to update since any change requires redeploying the entire application. Imagine updating the whole car every time you want to fix a single part!

Signup and view all the flashcards

What are the deployment benefits of microservices?

With microservices, each service can be deployed independently. This allows for faster updates and less disruption to the overall system. Imagine updating a car door without affecting the engine.

Signup and view all the flashcards

What are the drawbacks of monolithic applications in terms of fixing errors?

Monolithic applications are difficult to fix quickly, since an error in one part can impact the entire system. Imagine a single fault causing the entire car to stop working!

Signup and view all the flashcards

How do microservices help with debugging and fixing errors?

Microservices allow for easier debugging and fixing of errors because individual services can be isolated and fixed. Imagine fixing a faulty car door without affecting the engine.

Signup and view all the flashcards

Circuit Breaker

A design pattern that helps prevent cascading failures in a system by isolating failing services and allowing for recovery. When a service experiences repeated failures, the circuit 'opens,' stopping requests to that service. Once stability is checked, the circuit 'closes,' resuming normal operations.

Signup and view all the flashcards

Retry Pattern

A strategy used to handle service failures by retrying operations after a delay. The delay can be fixed, incremental, or exponential, depending on the system's needs. Retries increase the chance of success by allowing for temporary issues to resolve.

Signup and view all the flashcards

Event Broker Pattern

An intermediary system that manages and distributes events between producers and consumers. It decouples the two, allowing for asynchronous communication and event-driven architectures. Producers don't need to know about specific consumers, and vice-versa.

Signup and view all the flashcards

Domain-Driven Design (DDD)

A software development approach that focuses on dividing complex systems into smaller, self-contained units called 'bounded contexts.' Each context represents a distinct business domain, improving flexibility, scalability, and maintainability.

Signup and view all the flashcards

Bounded Context

A collection of related services that work together to achieve a specific business goal. They share a common language and data model, ensuring consistent understanding within the context.

Signup and view all the flashcards

Integration Testing for Microservices

The process of testing how microservices interact with each other to ensure they can communicate and work together as a cohesive unit. This is crucial for ensuring that the system functions as a whole.

Signup and view all the flashcards

Continuous Integration for Microservices

The process of integrating and testing code changes frequently and automatically. It ensures code quality, reduces integration issues, and allows for continuous delivery of software updates.

Signup and view all the flashcards

Private Cloud

A cloud deployment model where resources are hosted in a private datacenter, offering control over the entire environment and its infrastructure.

Signup and view all the flashcards

Hybrid Cloud

A combination of public and private clouds, allowing organizations to leverage both public cloud services and their own private infrastructure.

Signup and view all the flashcards

Public Cloud

A cloud deployment model where resources are hosted in public data centers and offered as a service to multiple customers. Think Amazon Web Services (AWS) or Google Cloud Platform.

Signup and view all the flashcards

Microservices

Defined as independent, independently runnable, and deployable software units. They represent a specific business capability and can be developed, deployed, and scaled independently.

Signup and view all the flashcards

Analyze the Monolith

Analyzing a monolithic application to identify distinct business functionalities and modules that can be separated into individual services.

Signup and view all the flashcards

Define Service Boundaries

Determining the specific responsibilities and boundaries for each microservice, ensuring clear separation of concerns.

Signup and view all the flashcards

Data Decoupling

Deciding how data will be shared between microservices, potentially requiring data replication, synchronization, or separate databases.

Signup and view all the flashcards

Communication Protocols

Choosing communication protocols and APIs for microservices to interact with each other, such as RESTful APIs or messaging queues.

Signup and view all the flashcards

Separate Codebases

Creating individual codebases for each microservice, either as separate repositories or as packages within a monorepo.

Signup and view all the flashcards

Decompose the Database

Dividing the database used by the monolithic application into smaller databases or schemas, to improve isolation and scalability of services.

Signup and view all the flashcards

Implement Service Logic

Developing the specific business logic and functionalities that each microservice is responsible for.

Signup and view all the flashcards

Study Notes

Microservices & Cloud Computing - Overview

  • The presentation covered Microservices and Cloud Computing.
  • The target audience was ESIEA 4a students.
  • The timeframe was November 20/2024 - November 21/2024.
  • The presenters were Kevin Navarri, Thomas Desrut, and Julien Trouillet.

Agenda

  • The agenda included four presentations on cloud concepts.
  • Topics covered Introduction to System (SI), Microservices & Cloud Computing, Cloud Architectures, and Cloud Scalability.
  • The presentation agenda additionally listed topics like Introduction to Microservices, Essential Microservices Patterns, Securing Microservices, Deploying and Maintaining Microservices, Logging, Monitoring, and Introduction to Cloud Computing.

Mon Parcours (JT) - Professional Background

  • JT holds a Bachelor's degree in Mathematics with a focus on fundamental mathematics, and a Master's degree in Mathematics specializing in Data Mining and Operational Research.
  • JT has 4 years experience in a software development company, focusing on data science and development using JAVA and R.
  • JT had 3 years experience in an Enterprise Service Network (ESN). At this ESN, JT's role focused on Research and Development tasks within a Spatial Defense industry, using JAVA, Matlab, and R.
  • JT has more than 8 years of experience at Capgemini Financial Services in roles of Solution Architect and Team Lead to Architect and Functional Architect.

Mon Parcours (TD) - Professional Background

  • TD holds a Bachelor's degree in Information and Communication Technologies.
  • TD holds a Master's degree in Applied Computer Methods for Business Management, specializing in Distributed Networks.
  • TD has experience with six years of working in Capgemini Apps as a Java, C++, and Graphtalk Developer.
  • At Capgemini PER, TD served three years as a Team Lead and Project Manager.
  • Lastly, TD had 5 years of experience in Capgemini Financial Services as a Solution Architect and a Technical Lead in application architecture.

Mon Parcours (KN) - Professional Background

  • KN holds a Master's degree in Biotechnological Engineering and Agro-industry Management.
  • KN has experience across 2 years of experience in the Agro-food industry, focusing on agricultural production.
  • KN spent 6 years in Capgemini Financial Services, specializing in Java and API management, while also designing architecture.

Mon Rôle (JT) - Roles & Responsibilities

  • JT's role involves defining business needs, designing system architecture, and leading/coordinating teams in project management.
  • JT also supports client/customer brief and budget information.
  • Activities included: consulting, managing projects, educating clients, delivering consulting support on software development practices, and mentoring.

Mon Rôle (TD) - Roles & Responsibilities

  • TD acts as a Solution Architect and Functional Architect, responsible for defining business needs.
  • TD designs system architecture.
  • TD shares expertise on technical components.
  • TD works to translate architecture into technical components.
  • TD conducts client consulting, training, and career coaching.

Mon Rôle (KN) - Roles & Responsibilities

  • Roles are mainly focused on solution architecture and technical leadership in application architecture.

Agenda (Additional)

  • Presentations included topics about About Us, Introduction to Microservices, Essential Microservices Patterns, Securing Microservices, Deploying and Maintaining Microservices, Logging, Monitoring, and Introduction to Cloud Computing.

Monothy and Microservices

  • Monoliths are single-tiered applications, combining various modules into a single program.
  • Monolith benefits include ease of deployment, managed complexity, and low dependencies.
  • Monoliths are costly to scale, have slow update frequency, a high rollback risk, and can grow in size creating limitations.
  • Microservices are mini-applications that implement distinct functionalities.
  • Key properties of microservices include modularity, autonomy, and decentralized data.

Microservice Benefits

  • Microservices offer benefits of horizontal scaling, as you can scale individual processes without affecting the rest of the system (avoiding resource waste).
  • They result in faster development turnaround.
  • Effective fault isolation (localized failures don't affect the whole system).

Decentralized Architecture

  • Shift from centralized to decentralized governance in microservices.
  • Monoliths use a centrally managed approach that ensures deployment of a single application.
  • Microservices utilize a per-service governance approach, with each team following its own schedule and roadmap.
  • A service catalog acts as a repository, listing all available services, making it easier for teams to reuse, discover, and monitor.
  • This approach often involves proper cataloging of services, similar in importance to service design.
  • Distributed transactions, require synchronization, and can lead to complex rollbacks.
  • Need for end-to-end management, testing, and monitoring.

Microservices and Netflix

  • Netflix architecture relies on specific patterns, like a Proxy Layer such as Zuul, and Hystrix, which avoid cascading failures.

Domain-Driven Design (DDD)

  • DDD is a software approach that aligns software design with the core business domain.
  • Collaboration with domain experts helps create a shared language and model that represent business concepts and rules.
  • By dividing complex systems into subdomains and bounded contexts, you attain flexible and scalable applications.

Circuit Breaker Pattern

  • The Circuit Breaker pattern prevents cascading failures in a system.
  • When a service repeatedly fails, the circuit "opens" and stops requests, allowing for recovery.
  • Once stability is ensured, the circuit "closes."

Other Patterns

  • Retry pattern uses fixed or incremental delays (or exponential backoff) to handle failed requests and improve system resilience.
  • Event Broker Pattern uses an intermediary called an Event Broker, manages events from producers to consumers.
  • It enables asynchronous communication and decouples producers/consumers.

Logging

  • Central logging tools (e.g., ELK Stack - Elasticsearch, Logstash, Kibana) are used for aggregating system logs from various services.

Monitoring

  • Monitoring tools such as Prometheus, Grafana, and Splunk are used to visualize, index, and analyze system data, enabling real-time observability.
  • Monitoring tools allow visualization of large amounts of data from various sources.

Cloud Computing

  • Public clouds such as AWS, Azure, and GCP.
  • Private clouds with company-specific infrastructure.
  • Hybrid approaches.
  • Cloud characteristics include on-demand services, automated deployment, elasticity, and a pay-per-use model.
  • Cloud infrastructure involves multiple Availability Zones, Regions, and Edge Locations.
  • Cloud providers typically deploy global networks with multiple high capacity links to handle global users and services.
  • Cloud infrastructure also offers dedicated edge locations for data processing and data ingress/egress.

Cloud Service Responsibilities (AWS)

  • Customer responsibility is focused on security within the application and client side data.
  • AWS responsibility handles the security of the underlying global infrastructure.

Other Topics

  • Differences between non-cloud and cloud projects from an architect/engineer perspective using the "Pets vs. Cattle" analogy.
  • SSO (Single Sign-On) and JWT (JSON Web Tokens) patterns to ensure smooth access to multiple applications.
  • OAuth and OIDC security protocols for authorization and identity verification in user access management.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Description

This quiz explores the fundamental differences between non-cloud and cloud project management. It discusses unique characteristics, log entries, and analytics related to both project types. Test your knowledge on how these project approaches differ in practice.

More Like This

Use Quizgecko on...
Browser
Browser