Professional Documents
Culture Documents
Clase 3 - State of The Art Clase 2
Clase 3 - State of The Art Clase 2
Enterprise Computing
Information Systems
Semester I - 2019
Enterprise Computing
• Computing • Enterprise Computing
for(i=0;i<10;i++) { for(i=0;i<1000000000;i++) {
echo “Hello World”; start_transaction();
} try {
echo md5(“Hello World”);
commit_transaction();
} catch (Exception e) {
rollback_transaction();
throw(new Exception(“Wrong!”));
}
}
Enterprise needs
• Reliability
• The balance in an account cannot be other than the sum
of all deposits less the sum of all withdrawals
• Availability
• If the power goes off, or a machine dies, the business
must continue
• Scalability
• The business must grow, therefore it needs to deal with
increasing numbers (clients, products, etc.)
• Security
• If someone steals information, companies loose value
• Interoperability
• Data is everywhere, thus, its critical to be able to
integrate it for the business.
Reliability
begin transaction
• A system is reliable when users can trust its
content source = Account1
• Example: Relational databases implement destination = Account2
transactions to ensure a sequence happens insert into movement (source,
as a whole, or doesn’t happen at all destination, 1000)
• Enterprise systems can check their update account set balance = balance
consistency regularly, if something is wrong + 1000 where id = destination
they should be able to go back to a
update account set balance = balance
consistent state
– 1000 where id = source
commit transaction
Availability
• Hardware always fails, therefore businesses must recover from
failures
• 2+ internet connections
• 2+ load balancers
• 2+ application servers (balanced)
• Replicated database for redundancy
• Servers using Redundant Disks, redundant power and
redundant NICs
• Why 2+?
• System probability of failure = Probability of failure of
server 1 * Probability of failure of server 2
• Probabilities are always between 0 and 1
• Example: A server that fails 10% of the time, in pairs will fail:
0,1 * 0,1 = 0,01
• 1% of the time, 10 times less with one more server
Scalability