Kapitel 4 E-Commerce Version B

Pataasin ang iyong marka sa homework at exams ngayon gamit ang Quizwiz!

CLOUD COMPUTING - DEFINITION

• Cloud Computing is a style of computing where massively scalable IT-related capabilities are provided as a service across the Internet to multiple external customers. (Gartner) • A pool of abstracted, highly scalable, and managed infrastructure capable of hosting end-customer applications and billed by consumption. (Forrester)

Für welche Zwecke/Anwendungsbereiche eignet sich IaaS optimal?

- für Anwendungen mit stark schwankendem Bedarf an Server-, Netzwerk- oder Storagekapazität. Werden zum Beispiel in der Anwendungsentwicklung für Tests oder in einem Onlineshop zu verkaufsstarken Zeiten höhere Kapazitäten benötigt, können diese flexibel angemietet werden, ohne dass auf die Installation zusätzlicher Hardware gewartet werden muss. Ich muss nicht darauf warten, dass ein Dritter seine Systeme erweitert, sondern mache es selbst. -Häufig nutzen sehr dynamisch wachsende Unternehmen oder Start-ups Infrastructure as a Service, um mit dem schnell steigenden Bedarf an Hardwareressourcen überhaupt Schritt zu halten.

Für welche Zwecke/Anwendungsbereiche eignet sich SaaS optimal?

-Anwenderprodukte und Unternehmensapplikationen. Übliche Beispiele für SaaS-Anwenderprodukte sind Gmail und Google Docs; beide sind gebührenfrei in der Nutzung und über einen Webbrowser erreichbar. -SaaS-Applikationen für Unternehmen: zum Beispiel Netsuite und Salesforce.com. Diese Programme ermöglichen es Unternehmen, einzelne Unternehmenssegmente, wie Sales & Marketing, durch das Internet effizienter zu nutzen.

Für welche Zwecke/Anwendungsbereiche eignet sich PaaS optimal?

-Entwicklungsframework: Vergleichbar mit der Erstellung eines Excel-Makros können Entwickler mit PaaS integrierte Softwarekomponenten nutzen, um Anwendungen zu erstellen. Da Cloudfeatures wie Skalierbarkeit, hohe Verfügbarkeit und Mehrinstanzenfähigkeit enthalten sind, wird der Programmieraufwand für Entwickler reduziert. -Analytics oder Business Intelligence: Mit den Tools, die bei PaaS als Dienst bereitgestellt werden, können Unternehmen ihre Daten analysieren und ein Data Mining für diese Daten durchführen. -Zusätzliche Dienste: PaaS-Anbieter bieten möglicherweise weitere Dienste an, mit denen Anwendungen verbessert und erweitert werden können. Dazu zählen z. B. Workflows, Verzeichnisdienste, Sicherheitsfeatures und Planungsfunktionen.

System Overview - Web Application hosting mit Amazon 7 Punkte

1. The user's DNS requests are served by Amazon Route 53, a highly available Domain Name System (DNS) service. Network traffic is routed to infrastructure running in AWS. 2. Static, streaming and dynamic content is delivered by Amazon CloudFront, a global network of edge locations. Requests are automatically routed to the nearest edge locations, so content is delivered with the best possible performance. 3. Resources and static content used by the web application are stored on Amazon Simple Storage Service (S3), a highly durable storage infrastructure designed 4. HTTP requests are first handled by Elastic Load Balancing, which automatically distributes incoming application traffic among multiple Amazon Elastic Compute Cloud (EC2) instances across Availability Zones (AZs). It enables even greater fault tolerance in your applications, seamlessly providing the amount of load balancing capacity needed in response to incoming application traffic. 5. Web servers and application servers are deployed on Amazon EC2 instances. Most organizations will select an Amazon Machine Image (AMI) and then customize it to their needs. This custom AMI will then become the starting point for future web development. 6. Web servers and application servers are deployed in an Auto Scaling group. Auto Scaling automatically adjusts your capacity up or down according to conditions you define. With Auto Scaling, you can ensure that the number of Amazon EC2 instances you're using increases seamlessly during demand spikes to maintain performance and decreases automatically during demand to minimize costs. 7. To provide high availability, the relational database that contains application's data is hosted redundantly on a multi AZ (multi Availability Zones) deployment of Amazon Relational Database Service (Amazon RDS)

AMAZON WEB SERVICES CLOUD WATCH

Amazon CloudWatch • Monitoring features for measuring states of EC2 instances, elastic load balancing, and relational database services Measure and Metric • A measure is raw data that goes into the system and that is aggregated into a metric: • the measure's name • the unprocessed value • the associated dimension of this measure • a unit to determine the type of value • a namespace to identify the origin of the measure • A metric is an aggregation of raw data combined by a particular unit of measure like bytes or seconds • Example: requesting the CPUUtilization data across all m1.small instance types of an account for a span of 10 minutes returns the measures for all instances, rolled up into a single metric AutoScaling • Multiple copies of service run simultaneously in order to cover the workload • Customers only see one URL for the service, not URLs of single copies • AutoScaling automatically launches or terminates EC2 instances based on user-defined triggers • Customer can setup AutoScaling groups and associated triggers to automatically scale computing resources based on parameters such as bandwidth usage or CPU utilization AutoScaling Group • Defined with a minimum and maximum number of EC2 instances • AutoScaling service launches more instances (up to the desired maximum) to handle increase in traffic and, as demand decreases, takes instances out

WHAT IS A SERVICE?

Business Perspective • Services are IT assets that correspond to real-world activities of a business process and that can be accessed according to the service policies that have been established for the service Technical Perspective • Services are coarse-grained (grobkörnig), reusable IT assets that have welldefined interfaces that clearly separate the service's externally accessible interfaces from the service's technical implementation • Note: IT services following this definition are also called web services • Service are offered by a server or service provider and consumed by a client software • The client software may be executed at a frontend computer and include a user interface or at a backend computer as part of an enterprise application (e.g., ERP, CRM,...) • The client software may also act in the role of a service towards other client software • Client software and service interact via messages that follow a pre-defined message exchange pattern • The API of a service is available at an endpoint, which fixes a communication protocol and related network address at which the service can be accessed, for example • HTTP and a URL • TCP and an IP address • SMS and a telephone number • A service may define several different endpoints

CAPACITY PLANNING - PROCEDURE

Capacity Planning • Seeks to match demand to available resources • Goal is not to improve efficiency, but to identify critical resources that are responsible for the resource ceiling and add more resources to shift the bottleneck to higher workloads Procedure for Capacity Planning 1. Determine the characteristics of the present system 2. Measure the workload for the different resources in the system: CPU, RAM, disk, network, ... 3. Load the system until it is overloaded, determine when it breaks, and specify what is required to maintain acceptable performance 4. Knowing when systems fail under load and what factor is responsible for the failure is the critical step in capacity planning 5. Predict the future based on historical trends and other factors 6. Deploy or tear down resources to meet your predictions 7. Iterate Steps 1 to 5 repeatedly

Was bietet der Cloud Privider bei den einzelnen cloud Formen/ service models?

IaaS - Infrastruktur (Data Center, Servers, Network, Disk Storage, Fire Wall, Load Balancer) PaaS - Infrastruktur + Application Stack (OS, App Server, Database, Programming Language, Middleware, Monitoring) SaaS - Infrastruktur + Application Stack + Application (Authentication, User Interface, Reports, Authorization, Transactions, Dashboard)

CLOUD COMPUTING - SERVICE MODELS

Infrastructure-as-a-Service (IaaS) • A cloud service that enables users to get access to their own infrastructure - computers, networking resources, storage • In most cases, these resources are virtual, but could also be real, physical resources Platform-as-a-Service (PaaS) • A cloud service that abstracts away the infrastructure but rather provides a software development platform • Users do not see instances, load balancers, databases, etc. • An application is built on top of a PaaS offering, and the platform makes sure that the application has the necessary infrastructure to make it run and scale Software-as-a-Service (SaaS) • A cloud service that provides users access to software in a selfservice, on-demand fashion • Software can be a single application or a catalog of software the user can chose from

CLOUD COMPUTING - ATTRIBUTES OF CLOUD COMPUTING

Multi-tenancy (= Mandantenfähigkeit) • Cloud Computing is based on a business model in which resources are shared at the network, host, and application level Massive scalability • Cloud computing provides the ability to scale to tens of thousands of systems and to massively scale bandwidth and storage space Elasticity • Users can rapidly increase and decrease and release their computing resources as needed Pay as you go • Users pay for only the resources they actually use and for only the time they require them Self-provisioning of resources (= Selbstbedienung) • Users self-provision resources, such as additional systems (processing capability, software, storage) and network resources

AMAZON WEB SERVICES COST MODELS

On-demand instances • Consumer pays for compute capacity by the hour with no long-term commitments Reserved instances • Consumers pay a one-time payment for each instance and in turn receive a discount on the hourly usage charge Spot instances • Customer bids for unused E2C (= Elastic Compute Cloud) capacity • Instances are charged the spot price, which is set by Amazon and which fluctuates periodically depending on the supply and demand for Spot instance capacity Dedicated instances • Run in a virtual private cloud (VPC) on hardware that is dedicated to a single customer • Physically isolated at the host hardware level from instances that belong to other AWS accounts

CLOUD COMPUTING DEPLOYMENT MODELS ( = Bereitstellungsmodelle )

Public Clouds • Hosted, operated, and managed by a third-party vendor from one or more data centers • Service is offered to multiple tenants (= Mieter) over a common infrastructure Private Clouds • Network, computing, and storage is dedicated to a single tenant and is not shared with any other tenant • Customer get a high degree of control and oversight of the physical and logical security aspects • It becomes easier for a customer to comply with established corporate security standards, policies, and regulatory compliance Hybrid Clouds • Consist of multiple internal and/or external providers • Organization might run non-core applications in a public cloud, while maintaining core applications and sensitive data in-house in a private cloud Community • Verbund mehrer Firmen oder Partner / Kunden, die gemeinsam auf eine Cloud zugreifen

LOAD BALANCING - LOAD BALANCING ALGORITHMS

Random • Distributes the incoming requests uniformly with equal probability among all servers of a cluster Round Robin • Incoming requests are assigned to servers in a sequentially manner, beginning with a new cycle at the first server once all have been served Weighted Round Robin • Each server is assigned a certain weight that corresponds to its capacity, relative to the capacities of the other servers • Amount of incoming requests is shared among all servers according to their capacities, and requests are assigned in a round robin fashion Client Partition • Static partitioning of servers to assign groups of clients identified through the clients' information, for example, source IP address Least Traffic First (Bytes/Packet Count) • Measures system load by tracking byte count or packet count directed from or to each of the servers over a period of time • Server with the least traffic load is selected to receive a new request Least Weighted Load • Weights to sessions*, based on likely resource consumption estimates of session types • Weights to servers based on resource availability Fastest Response • Periodically pings servers and measures the response time to determine how busy the servers really are Least Load First (Session* Count) • Server with the least number of sessions bound to it is selected to service a new session* • Each session* is assumed to be as resource-consuming as any other session*

CLOUD COMPUTING - SERVER VIRTUALIZATION - Type-1-hypervisor (native, bare metal) - Type-2-hypervisor (hosted)

Server virtualization • Abstracts the underlying physical resources and presents these as a set of virtual machines, each of which appears to its applications and users as though it were a physical system • A physical server can be sliced into several smaller ones, each of it with resources tailored to the needs of its applications Type-1-hypervisor (native, bare metal) • Setzt direkt auf der Hardware auf und benötigt keine vorherige Betriebssystem-Installation. Das setzt allerdings voraus, dass diese Hardware des Hostsystems vom Typ-1-Hypervisor durch entsprechende Treiber unterstützt wird. • Typically preferred because they can achieve higher virtualization efficiency by dealing directly with the hardware Type-2-hypervisor (hosted) • Setzt auf einem vollwertigen Betriebssystem, auf dem Hostsystem, auf und nutzt die Gerätetreiber des Betriebssystems, um auf die Hardware des Hostsystems zuzugreifen. • Used mainly on client systems and on systems where support for a broad range of I/O devices is important and can be provided by the host operating system

4 WAYS TO CREATE WEB PAGES

Static Web Pages • The web server delivers a pre-compiled, static HTML document that is stored in its file system and delivered as it is on request Dynamic Web Pages Created by Application Programs • An application server connected to the web server compiles a dedicated web page for each request • The web page is created by writing HTML markup line per line during the processing of a request • The data is derived, calculated, or obtained from a database before web page creation • After creation of the web page, it is delivered to the browser • Application Program: writes HTML (Program code outside, HTML inside) Dynamic Web Pages with Server Pages • The HTML is derived during run time by using prepared/precompiled server pages • A server page contains code snippets embedded in the markup • The code snippets are executed and removed or replaced by HTML before the web page is delivered to the browser • Server Pages: Executes code snippets (HTML outside, code inside) Dynamic Web Pages Inside the Browser • The HTML is manipulated by a JavaScript program inside the browser • The original web page is compiled in the web browser by one of the three other ways

CAPACITY PLANNING - SYSTEM METRICS AND LOAD TESTING

System Metrics • Page view and transactions per second are application-level statistics • Capacity planning must measure system-level statistics: CPU, memory (RAM), disk, network connectivity,... Load Testing • What is the maximum load that my current system can support? • Which resource represents the bottleneck in the current system that limits the system's performance (resource ceiling)? • Can I alter the configuration of my server in order to increase capacity? Important Characteristics • Total workload for the system per unit time • Average workload over multiple units of time • Highest amount of work recorded by the system • Total amount of work done by the system • Similar set of graphs needs to be collected for characterizing the database server • Goal: accommodate spikes in demand as well as the overall growth of demand over time • Growth in demand over time is the most important consideration because it represents the ability of a business to grow • Plan for the expected, recognize the unexpected, and react appropriately to the deviation

CASE STUDY - EBAY (For details see Ebay presentation)

THE FIRST STEPS - 1995-09/1997 • Built over a weekend in Pierre Omidyar's living room in 1995 • Every item was a separate file, generated by a Perl script • No search function, only category browsing • Capacity reached at 50,000 items FIRST EXTENSIONS - 07/1997-02/1999 • 2-tiered architecture (no dedicated application servers) • Microsoft index server for search • Items migrated from GDBM to an Oracle database based on Solaris STRONG GROWTH - 02/1999-04/2001 • Servers grouped into pools • Resonate used for front-end load balancing and fault tolerance • Additional databases for data split and failover • Several vertical and horizontal scaling steps DATABASE SPLIT - 04/2001-12/2001 • Horizontal scalability through database splits • Items split by category MIGRATION TOWARDS A SERVICE ARCHITECTURE - 2002-???? • Segment databases into functional areas (user, item, account, ...) • Partition data by different scaling and usage characteristics • Supports functional decoupling and isolation • Separation of application notion of a database from physical implementation • Databases may be combined and separated with no code changes • No business logic in databases: shift business logic to application servers, because database nodes are the bottleneck (and expensive), application servers are cheap • Move CPU-intensive work to applications: referential integrity, joins, sorting • Vertical code partitioning into functional areas • Application is specific to a single domain • Restrict inter-dependencies: applications depend on domains, not on other applications - no dependencies among shared domains • Application tier operates completely stateless - transient states are maintained in cookie or scratch databases Proxy servers for performance • Proxy servers cache frequently accessed web pages so that users may retrieve them without having to access the main web site Load balancing for performance, scalability, and availability • Load balancer distributes the load - incoming HTTP/S requests - among a pool of computers running web servers • Load balancer may simply (and transparently) redirect the request to a target web server, or it may respond to the client and instruct it to redirect the request to a different server

LOAD BALANCING - CONTENT SWITCH

URL Switching • Directs HTTP requests to a cluster using information contained in the URL string. • Insbesondere bei Webservern ist eine Serverlastverteilung wichtig, da ein einzelner Host nur eine begrenzte Menge an HTTP-Anfragen auf einmal beantworten kann. • Examples: different file types, different request Cookie Switching • Directs HTTP requests cluster based on information embedded in a cookie in the HTTP header • Cookie is used to specify which cluster should handle the request • Ensures that a particular cluster always handles requests from a particular client, even across sessions • Examples: personalized web pages, prioritized services SSL Session-ID Switching • All SSL connections between a client and a server must reach the same host, damit nicht für jede Anfrage ein neuer SSL-Handshake durchgeführt werden muss • Examples: prevent shopping cart loss, access control, prevent source address overload

VERTICAL & HORIZONTAL ATTRIBUTES

Vertical Scaling: Cache-Coherent Shared Memory Multi-Processors (SMP) • Tightly-coupled: highbandwidth, low latency • Large, workloads: ad-hoc trans proc, data warehousing • Shared pool processors • Single large memory Horizontal Scaling: Cluster Multi-Processor • Loosely coupled • Standard H/W & S/W • Highly parallel (web, some HPTC)

CLOUD COMPUTING - SERVICE MODELS AND THE TECHNOLOGY STACK Was muss ich bei traditioneller IT alles managen?

[Networking-->Storage-->Servers-->Virtualization-->OS-->Middleware-->Runtime-->Data-->Application] all das

CLOUD COMPUTING - SERVICE MODELS AND THE TECHNOLOGY STACK Was muss ich bei SaaS alles managen?

[Networking-->Storage-->Servers-->Virtualization-->OS-->Middleware-->Runtime-->Data-->Application] all das macht der provider

CLOUD COMPUTING - SERVICE MODELS AND THE TECHNOLOGY STACK Was muss ich bei PaaS alles managen?

[Networking-->Storage-->Servers-->Virtualization-->OS-->Middleware-->Runtime] das macht der provider [Data--> Application] all das mache ich selbst

CLOUD COMPUTING - SERVICE MODELS AND THE TECHNOLOGY STACK Was muss ich bei IaaS alles managen?

[Networking-->Storage-->Servers-->Virtualization-->OS] das macht der provider [OS-->Middleware-->Runtime-->Data-->Application] all das mache ich selbst

CENTRALIZED SERVER ARCHITECTURE

• A Centralized Server Architecture consists of a few, very large and fast computers • Requires expensive computers • Sensitive to the effects of technical problems, i.e., if one of the servers becomes inoperable, a large portion of the site's capacity is lost • Must have adequate backup plans to support fault tolerance • Suffers from bad scalability if the system needs to be extended due to increased user traffic

DISTRIBUTED SERVER ARCHITECTURE

• A Distributed Server Architecture uses a large number of lesspowerful computers and divides the workload. A workload is an independent service or collection of code that can be executed • Spreads the risk of becoming inoperable over a large number of servers, i.e., if one server becomes inoperable, the site can continue to operate without much degradation in capacity • Many small servers are usually less expensive than a single large server with the same capacity as the many servers • Most distributed sites use load-balancing systems to assign the workload efficiently • A server farm is a collection of web server, application, and database computers, which can number in the hundreds or even thousands to handle the daily web traffic efficiently • A computer cluster consists of a set of connected computers that can be viewed as a single system and perform the same task, controlled and scheduled by a load balancer

WHAT IS A MICROSERVICE?

• A microservice is a small component that is easily replaceable, independently deployed, and independently deployable • A microservice is part of a larger system, running and working alongside other microservices to accomplish what would normally be handled by one large standalone application (monolith)

MONOLITHS VERSUS MICROSERVICES

• A monolithic application contains all features and functions within one codebase and executable program, deployed at the same time, with each server hosting a complete copy of the entire application • A microservice contains only one function or feature and lives in a microservice ecosystem along with other microservices that each perform one function of feature • A microservice is an independent program with one codebase that does one thing only and does that one thing well

TWO, THREE, N-TIER ARCHITECTURES

• A simple Web site consists only of a client and a server tier, which is denoted as two-tier architecture • Three-tier architecture: • Präsentationsschicht (client tier) - Diese, auch Front-End bezeichnet, ist für die Repräsentation der Daten, Benutzereingaben und die Benutzerschnittstelle verantwortlich. • Logikschicht (application-server tier, Businessschicht, Middle Tier oder Enterprise Tier) - Sie beinhaltet alle Verarbeitungsmechanismen. Hier ist die Anwendungslogik vereint. • Datenhaltungsschicht (data-server tier, back end) - Sie enthält die Datenbank und ist verantwortlich für das Speichern und Laden von Daten. • Architectures that have more than three tiers are often called Ntier architectures • N-tier architectures include dedicated application servers for tracking customer purchases stored in shopping cards, look up sales tax rates, keep track of customer preferences, update instock inventory databases, keep the company catalog current,...

Web Application

• A web application is an application that is loaded from a remote web server and rendered by web browser • It is executed either completely in the web browser or on the web server or partly in the web browser and partly on the server • It consists of a sequence of web pages (or parts of web pages) that are loaded depending on user interaction or other events • Communication between web browser and web server is done via the Hypertext Transfer Protocol (HTTP) • Content of a web application is structured and annotated using HTML • Design of the user interface is accomplished with Cascading Stylesheets (CSS). CSS klinkt sich nahtlos in HTML ein und erlaubt das beliebige Formatieren einzelner HTML-Elemente • Business logic inside the web browser is based on JavaScript, while different programming languages and paradigms are used for the server-side implementation of business logic. Skriptsprache, um Benutzerinteraktionen auszuwerten, Inhalte zu verändern, nachzuladen oder zu generieren und so die Möglichkeiten von HTML und CSS zu erweitern.

Web page

• A web page (web document) is a document that is part of a website on the world Wide Web • It is retrieved by a browser using a Uniform Resource Locator (URL) and offered by a web server • It contains data that is structured and annotated by using the Hypertext Markup Language (HTML)

Web Service

• A web service is a program that provides functions or resources to other programs (machines) via the Internet or an intranet (z.B. Für den online-shop eingegebene Kreditkartendaten automatisch beim Kreditkarteninstitut automatisch prüfen) • Note: web applications focus on human/computer interaction, web services on machine-to-machine communication • Functions and resources offered by a web service are delivered via Application Programming Interfaces (APIs) • The party consuming external functions and resources is denoted as consumer or client • Communication between consumer and web server is done via the HTTP • Data exchanged between web service and consumer is encoded by using the eXtended Markup Language (XML), JavaScript Object Notation (JSON), or another format • Consumer and web services can be implemented in any language

Website

• A website (web presence, web offer) is a collection of web pages and other resources that can be accessed under a common domain name • Pages and other resources of a website are usually interconnected by a common navigation logic

AMAZON WEB SERVICES INSTANCES

• After an AMI is launched, the resulting running system is called an instance • Instances are the basic computation building blocks of Amazon E2C • Customer can select between different instance types (see table on the left), depending on his performance requirements • Once launched, an instance looks very much like a conventional host • Customer has complete control of his instances; he has root access to each and he can interact with them as he would with any other machine

AMAZON WEB SERVICES AMAZON MACHINE IMAGES

• An Amazon Machine Image (AMI) [= dient der horizonalen Skalierung] provides the information required to launch an instance • Example: AMI might contain all the software to act as a Web server (e.g., Linux, Apache, and the Web site) or it might contain the software to act as a Hadoop node (e.g., Linux, Hadoop, and cluster application) • Encrypted AMIs are stored in Amazon S3 • Public AMIs are available from Amazon and EC2 community • Customers can use public AMIs as a base to create customized, private AMIs • Private AMIs are machine images that are owned by a customer and that can only be accessed by him or those to whom he grants access • Shared AMIs are images that developers build and make available for other developers • After an AMI is launched, the resulting running system is called an instance

AMAZON WEB SERVICES LOAD BALANCING

• Automatically distributes incoming application traffic across multiple EC2 instances • Supports the ability to stick user sessions to specific EC2 instances • Detects unhealthy load-balanced instances and no longer routes traffic to those instances, instead spreading the load across the remaining healthy instances • Can be used in conjunction with AutoScaling to dynamically change the number of instances if thresholds of certain metrics are exceeded or undercut

HORIZONTAL SCALING/SCALING OUT

• Horizontal scaling/scaling out adds capacity to a system by adding more individual nodes • Examples: in a system with one dual-processor machine, scale out by adding more dual-processor machines • Scaling out leads to a Distributed Server Architecture with a large number of servers (server farm) • Benefits for distributed applications, because it is easier to pool resources and to partition them • Enables to deploy low cost commodity systems for high performance computing applications that could in the past only be handled by supercomputer

AMAZON WEB SERVICES OVERVIEW

• Largest mix of Infrastructure-as-a-Service (e.g., Elastic Computer Cloud) and Platform-as-Service (e.g., AWS Lambda) in the cloud market today • REST and SOAP APIs as well as web-based user interfaces for managing resources • Overview of cloud services • Compute • Networking • Storage and content delivery • Database • Deployment ( = Einsatz/Implementierung) • Management • Application services • Analytics • Miscellaneous

LOAD BALANCING (= Lastverteilung) - LAYER-4-SWITCH

• Placed between the connection to the Internet and the server farm • Recognizes when a client is requesting a new session by identifying the TCP SYN packet • Request is forwarded to the best available server based on the configured load balancing algorithm • Maintains a session server binding table that associates each active session with the selected server to which it is assigned • Performs address substitution so that the real server will transparently receive packets from that session • Intercepts packets traveling from the selected server back to the client and performs the reverse address substitution • Does not consider what content is being requested

AMAZON WEB SERVICES AVAILABILITY ZONES

• Provides the ability to place instances in multiple locations to improve fault tolerance • Availability zones (AZs) are distinct locations that are engineered to be isolated from failures in other AZs • AZs provide inexpensive and low-latency connectivity to other AZs in the same Region • By launching instances in separate AZs the application can be protected from failure of a single location • Regions: consist of one or more AZs, are geographically dispersed, and are located in separate geographic areas and countries • E2C Service Level Agreement guarantees 99.95% availability for each E2C region

VERTICAL SCALING/SCALING UP

• Scalability is the ability of a system to adapt its capacity to a growing workload or demand • Elasticity is the ability to adapt to workload changes by provisioning and de-provisioning of resources in an automatic manner in order match the current demand as closely as possible • Vertical scaling/scaling up adds resources to a system to make it more powerful • Examples: replace a dual-processor machine with a quadprocessor machine • Scaling up eventually leads to a Centralized Server Architecture with a single powerful supercomputer • Applications that benefit from vertical scaling are processorlimited ones (rendering) or memory-limited ones (database operations)

SCALING STRATEGIES WITH MICROSERVICES

• Scaling at the product level (Transactions, Items, Catalogs, Accounts, ...) • Scaling at the technology component level (APIs, B2C Site, B2B Site, ...) • Scaling by customer type (Gold customer, Freemium, Standard, ...) • Scaling by API type (Normal APIs, High Demand APIs, ...)

Cloud computing: Einordnung der drei service models entlang der Dimensionen Optimierung und Flexibilität

• Software services are highly standardized and tuned for efficiency, but they can only accommodate minimal customization and extensions • Infrastructure services can host almost any application, but suffer from a high overhead for optimizing them with regard to the application's requirements • Platform services provide flexible frameworks with only a few constraints and are able to accommodate some degree of optimization (= etwas flexibilität und etwas optimierung)


Kaugnay na mga set ng pag-aaral

Compensation and Benefits Chapter 4- Incentive and Variable Pay

View Set

MASTERING BIOLOGY CHP 17 Transcription and Translation

View Set

Chapter 11: Traditional Leadership Approaches

View Set

Georgia law, rules and regulations

View Set