1/114
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Layered Architecture
Layered architecture divides the system into logical layers, each responsible for specific functionalities.
Layered Architecture
Layers are organized hierarchically, with higher layers depending on lower layers.
Layered Architecture
Common layers include presentation/UI, business logic, and data access layers.
Layered Architecture
This architectural style promotes separation of concerns and modularity.
Microservices Architecture
It is an architectural development style in which the application is made up of smaller services that handle a small portion of the functionality and data by communicating with each other directly using lightweight protocols like HTTP.
Microservices Architecture
It is easy to manage as it is relatively smaller.
Microservices Architecture
If there's any update in one of the microservices, then we need to redeploy only that microservice.
Microservices Architecture
Microservices are self-contained and, hence, deployed independently. Their start-up and deployment times are relatively less.
Microservices Architecture
It is very easy for a new developer to onboard the project as he needs to understand only a particular microservice providing the functionality he will be working on and not the whole system.
Microservices Architecture
If a particular microservice is facing a large load because of the users using that functionality in excess, then we need to scale out that microservice only. Hence, the microservices architecture supports horizontal scaling.
Microservices Architecture
Each microservice can use different technology based on the business requirements.
Microservices Architecture
If a particular microservice goes down due to some bug, then it doesn't affect other microservices and the whole system remains intact and continues providing other services.
Microservices Architecture
Being a distributed system, it is much more complex than monolithic applications.
Microservices Architecture
Its complexity increases with the increase in a number of microservices.
Microservices Architecture
Skilled developers are required to work with microservices architecture, which can identify the microservices and manage their inter-communications.
Microservices Architecture
Independent deployment of microservices is complicated.
Microservices Architecture
Microservices are costly in terms of network usage as they need to interact with each other and all these remote calls result in network latency.
Microservices Architecture
Microservices are less secure relative to monolithic applications due to the inter-services communication over the network.
Microservices Architecture
Debugging is difficult as the control flows over many microservices and to point out why and where exactly the error occurred is a difficult task.
Monolithic Architecture
All the functionalities of a project exist in a single codebase.
Event-driven Architecture
The capture, communication, processing, and persistence of events are the core structure of the solution.
Event-driven Architecture
It enables minimal coupling, which makes it a good option for modern, distributed application architectures.
Event-driven Architecture
It is loosely coupled because event producers don't know which event consumers are listening for an event, and the event doesn't know what the consequences are of its occurrence.
Event
An event is any significant occurrence or change in state for system hardware or software.
Event
An event is not the same as an event notification, which is a message or notification sent by the system to notify another part of the system that an event has taken place.
Event
The source of an event can be from internal or external inputs.
Event
Events can generate from a user, like a mouse click or keystroke, an external source, such as a sensor output, or come from the system, like loading a program.
Apache Kafka
A distributed data streaming platform that is a popular event processing choice.
Apache Kafka
It can handle publishing, subscribing to, storing, and processing event streams in real time.
Apache Kafka
It supports a range of use cases where high throughput and scalability are vital, and by minimizing the need for point-to-point integrations for data sharing in certain applications, it can reduce latency to milliseconds.
Event-driven Architecture Models
An event driven architecture may be based on either a pub/sub model or an event stream model.
Service-Oriented Architecture (SOA)
SOA emphasizes the organization of software systems as a collection of services that communicate with each other.
Service-Oriented Architecture (SOA)
An enterprise-wide approach to software development of application components that takes advantage of reusable software components, or services.
Service-Oriented Architecture (SOA)
Each service is comprised of the code and data integrations required to execute a specific business function — for example, checking a customer's credit, signing into a website or processing a mortgage application.
Service-Oriented Architecture (SOA)
Services are self-contained, loosely coupled, and encapsulate specific functionalities.
Service-Oriented Architecture (SOA)
They expose well-defined interfaces and can be reused across different applications and platforms.
Service-Oriented Architecture (SOA)
SOA promotes interoperability, modularity, and flexibility in system design.
Difference between Microservices vs. Service-Oriented Architecture (SOA)
Service-Oriented Architecture (SOA) has an enterprise scope, while the Microservices Architecture has an application scope.
Integration Techniques and Patterns
Refers to approaches and strategies used to connect and combine various software systems, components, or services to enable them to work together seamlessly.
Integration Techniques and Patterns
These techniques and patterns facilitate the exchange of data, communication, and coordination between different systems, allowing organizations to create robust and interconnected software architecture.
Data Integration
Data integration refers to the process of combining data from multiple sources and providing users with a unified view of the integrated data.
Data Integration
Various approaches can be employed for data integration, depending on the complexity of the data sources, the volume of data, the desired level of real-time data availability, and the integration requirements.
Application Integration
Application integration refers to the process of connecting and enabling communication between different software applications, systems, or components to work together seamlessly.
Application Integration
There are various techniques and approaches available for application integration, depending on the requirements, architectures, and technologies involved.
Orchestration
Orchestration refers to a centralized approach to service integration.
Orchestration
In this pattern, there is a central entity, often referred to as an orchestration engine or a workflow engine, that controls and coordinates the interactions between services.
Orchestration
The orchestrator defines the sequence of activities and the flow of data between the services involved in a particular business process.
Orchestration
The orchestration engine controls and directs the execution of the services, acting as the coordinator of the overall process.
Orchestration
The orchestration engine defines the flow and sequence of activities, specifying when and how each service should be invoked.
Orchestration
The orchestrator typically enforces well-defined interfaces for communication between services.
Orchestration
The orchestrator often waits for responses from services before proceeding to the next step, resulting in a request-response style of communication.
Choreography
Choreography follows a decentralized approach to service integration.
Choreography
Instead of a central orchestrator, services communicate directly with each other based on pre-established contracts or message formats.
Choreography
Each service understands its own responsibilities and how to interact with other services based on these contracts.
Choreography
Services interact with each other based on pre-defined contracts without the need for a central coordinator.
Choreography
Each service knows its own role and responsibilities within the overall process and takes appropriate actions accordingly.
Choreography
Services communicate through messages asynchronously, without waiting for immediate responses.
Choreography
Services are loosely coupled, and changes in one service do not necessarily require changes in other services.
Choreography
Choreography often relies on events or messages exchanged between services to trigger actions or workflows.
Integration Middleware and Tools
Integration middleware and tools play a crucial role in facilitating and managing the integration of different systems, applications, and data within an organization.
Integration Middleware and Tools
They provide functionalities and capabilities to connect, transform, route, and monitor data and interactions between various components.
Integration Governance
Integration governance refers to the set of policies, processes, and practices that organizations put in place to manage and oversee the integration of various systems, applications, data, and processes within their IT infrastructure.
Integration Governance
The main goal of integration governance is to ensure that different components of the organization's technology landscape work together effectively and efficiently, enabling seamless communication and data flow across the entire enterprise.
Standards and Guidelines
Establishing a set of standards and guidelines for designing, implementing, and maintaining integrations.
Standards and Guidelines
This helps ensure consistency and best practices are followed across the organization.
Architecture and Design
Defining the integration architecture, including the use of middleware, APIs (Application Programming Interfaces), and other integration technologies.
Architecture and Design
A well-designed architecture simplifies integration and reduces the chances of data silos.
Data Management
Managing data across integrated systems, ensuring data quality, security, and compliance with regulations such as GDPR (General Data Protection Regulation) or other industry-specific data standards.
Security and Compliance
Implementing security measures to protect data and prevent unauthorized access.
Security and Compliance
Compliance with relevant industry regulations is also a crucial consideration.
Monitoring and Performance Management
Continuous monitoring of integration processes to identify and resolve any issues promptly.
Monitoring and Performance Management
Performance metrics are tracked to ensure integration solutions meet service level agreements (SLAs).
Change Management
Managing changes to integration components to avoid disruptions in services and ensure that updates are well-coordinated.
Vendor Management
If third-party vendors are involved in providing integration solutions, proper vendor management is essential to ensure accountability and adherence to established standards.
Governance Board
Establishing a governance board responsible for overseeing integration initiatives, making decisions on integration projects, and resolving conflicts.
System Integration Governance Frameworks
These frameworks are essential to ensure that integrations between different applications and systems are managed efficiently, securely, and in alignment with organizational goals.
System Integration Governance Frameworks
These frameworks provide guidelines, policies, and processes to govern the integration landscape.
TOGAF (The Open Group Architecture Framework)
Provides a comprehensive approach to designing, planning, implementing, and governing enterprise information architecture.
TOGAF (The Open Group Architecture Framework)
Used for establishing integration standards, policies, and governance structures within an enterprise architecture framework.
COBIT (Control Objectives for Information and Related Technologies)
A framework for developing, implementing, monitoring, and improving IT governance and management practices.
COBIT (Control Objectives for Information and Related Technologies)
Used for defining governance policies for integration processes, ensuring alignment with business goals and compliance requirements.
ITIL (Information Technology Infrastructure Library)
A set of practices for IT service management (ITSM) that focuses on aligning IT services with the needs of business.
ITIL (Information Technology Infrastructure Library)
Used in managing integration services as part of IT service management, including incident management, change management, and service level management.
API Governance Frameworks
These frameworks specifically focused on managing APIs, including security, versioning, lifecycle management, and monitoring.
Integration Best Practices
Integration best practices are essential guidelines that organizations should follow when connecting different systems, applications, or data sources to ensure seamless and efficient interactions.
Integration Best Practices
Properly implemented integrations can lead to improved business processes, data accuracy, and overall productivity.
Identity and Access Management (IAM)
Identity and Access Management (IAM) refers to the policies, processes, and technologies that are used to manage and control digital identities and their access to resources within an organization's IT infrastructure.
Identity and Access Management (IAM)
The primary goal of IAM is to provide appropriate access to the right individuals (users, employees, partners, customers) for the right reasons (based on their roles and responsibilities) and to restrict access to unauthorized individuals.
Protocol
In the context of computing and networking, a protocol is a set of rules and conventions that govern the communication and interaction between different entities or systems.
Protocol
These rules dictate the format, semantics, and order of messages exchanged between the entities to enable them to understand and interpret the data being transmitted.
Protocol
Protocols are essential for enabling communication and data exchange between computers, devices, and applications, ensuring that information is transmitted reliably, efficiently, and securely.
Protocol
They provide a standardized way for different components of a system to work together, even if they are developed by different vendors or organizations.
Secure Communication Protocols
Secure communication protocols are cryptographic protocols that are designed to ensure the confidentiality, integrity, and authenticity of data transmitted over networks.
Secure Communication Protocols
These protocols are crucial for safeguarding sensitive information and protecting against eavesdropping, tampering, and unauthorized access.
Threat Modeling
Threat modeling is a structured approach used to identify, evaluate, and mitigate potential threats and vulnerabilities in a system, application, or software.
Threat Modeling
It is an essential step in the process of developing secure software and designing robust systems.
Threat Modeling
The goal of threat modeling is to proactively identify potential security risks and make informed decisions about how to address them before they can be exploited by malicious actors.
Threat Modeling Step
Identify assets: Determine what assets need to be protected, such as sensitive data, intellectual property, or critical functionality.
Threat Modeling Step
Create a system overview: Develop a detailed understanding of the system's architecture, components, data flow, and interactions.
Threat Modeling Step
Identify threats: Identify potential threats that could exploit vulnerabilities in the system. These threats can include malicious actors, software vulnerabilities, hardware weaknesses, environmental hazards, and more.