0% found this document useful (0 votes)
13 views12 pages

App Development (Midterms Reviewer)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views12 pages

App Development (Midterms Reviewer)

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Lecture 1: Brief Introduction to engineering and the natural sciences, but they soon

became indispensable in business, too. - N. Wirth


Software Development
Microcomputers first appeared on the market in
1975 (Commodore, Tandy, and Apple; much later,
In 1843 Babbage's friend mathematician Ada
IBM entered the market).
Lovelace translated a French paper about the
Before this, there was the Altair.
Analytical Engine and, in her own annotations,
published how it could perform a sequence of
What Is Software?
calculations, the first computer program. The
Simply put, software is the interface between
Analytical Engine, however, was never completed.
computer systems and the humans who use them.
Software consists of programming instructions and
Colossus, 1944
data that tell the computer how to execute various
Colossus is thus regarded as the world's first
tasks. These days, instructions are generally
programmable, electronic, digital computer,
written in a higher-level language, which is easier to
although it was programmed by switches and plugs
use for human programmers, and then converted
and not by a stored program. ... The prototype,
into low-level machine code that the computer can
Colossus Mark 1, was shown to be working in
directly understand.
December 1943 and was in use at Bletchley Park
by early 1944
The first piece of software was written by computer
scientist Tom Kilburn on June 21, 1948. Kilburn and
Von Neumann Architecture refers to a design
his colleague Freddie Williams had built one of the
model for computers where the processing unit,
earliest computers, the Manchester Small-Scale
memory, and input-output devices are
Experimental Machine (also known as the “Baby”).
interconnected through a single, central system
The SSEM was programmed to perform
bus. This architecture was first proposed by John
mathematical calculations using machine code
von Neumann, a Hungarian- American
instructions.
mathematician and physicist, in the mid-20th
century.
For decades after this ground-breaking event,
computers were programmed with punch cards in
ENIAC (Electronic Numerical Integrator and
which holes denoted specific machine code
Computer) was the first programmable, general-
instructions. Fortran, one of the very first higher-
purpose digital computer, 1946
level programming languages, was originally
published in 1957. The next year, statistician John
Fortran
Tukey coined the word “software” in an article about
• The first successful programming language.
computer programming. Other pioneering
• FORmula TRAnslation – designed by John
programming languages like Fortran, Cobol,
Backus in 1956.
BASIC, Pascal and C arrived over the next two
• The implementation of this language took 18
decades.
years to finish.
– But, the resulting compiler remained to be the
The Personal Computing Era
best optimizing compiler for many years.
In the 1970s and 1980s, software hit the big time
• FORTRAN-I to FORTARN-IV, FORTRAN-66,
with the arrival of personal computers. Apple
FORTRAN-77, FORTRAN-90, FORTRAN-95.
released the Apple II, its revolutionary product, to
the public in April 1977. VisiCalc, the first
I regard the late 1950s as a period essential to the
spreadsheet software for personal computing, was
era of computing. At that time, large computers
wildly popular and known as the Apple II’s killer
became available to research institutions and
app. The software was written in specialized
universities. Computers were then used primarily in
assembly language and appeared in 1979.
procedural, modular, and object-oriented styles of
Other companies like IBM soon entered the market programming.
with computers such as the IBM PC, which first
launched in 1981. The next year, Time magazine Software History
selected the personal computer as its Man of the Just as the fields of software and hardware
Year. Again, software for productivity and business development have evolved, the field of software
dominated these early stages of personal history has likewise matured. At first, the history of
computing. Many significant software applications, software was exclusively focused on technology.
including AutoCAD, Microsoft Word and Microsoft Later, there were historical explorations of the
Excel, were released in the mid-1980s. software industry and professions. Today the
emphasis is on applications and the societal
Open-source software, another major innovation in changes resulting from software.
the history of software development, first entered - Martin Campbell-Kelly
the mainstream in the 1990s, driven mostly by the
use of the internet. The Linux kernel, which became Software has not yet passed though comparably
the basis for the open-source Linux operating long trajectories. For example, in terms of process,
system, was released in 1991. Interest in open- we have evolved from a craft discipline to software
source software spiked in the late 1990s, after the engineering, but not much beyond. We have
1998 publication of the source code for the evolved from bespoke software programs to
Netscape Navigator browser, mainly written in C software products, but, again, not much beyond.
and C++. Also noteworthy is the release of Java by These trajectories lack enough data points to
Sun Microsystems in 1995. clearly indicate where we are headed. Indeed,
there is a sense that software is still turbulent and
Software Development Today evolving. - Martin Campbell-Kelly
Today, software has become ubiquitous, even in
places that you might not expect it, from crock pots Lecture 2: Software and Hardware
to nuclear submarines. Some programming
Applications
languages, like C and Cobol, have survived the test
of time and are still in use. Other languages, such
Operating System
as Java and Python, are somewhat younger and
Is a program (system program) that is implemented
have been used in countless software development
in either software or firmware. This program is
projects. Still others, such as Apple’s Swift
composed of procedures for managing the
programming language for iOS or Go Open source,
resources of the system. It also acts as an interface
are relatively new and exciting.
between the user and the computer hardware.
• How does it work?
Software Engineering
– E.g.
The term programming was commonly used
• Loading of OS
through the mid-1960s, and referred essentially to
• As benefit to the programmers?
the task of coding a computer. The term software
• As a resource manager?
engineering—referring to the highly disciplined,
systematic approach to software development and
The main objectives of operating systems are:
maintenance—came into existence after a
1. To provide a convenient environment for the
NATO-sponsored conference in 1968. At that
development and execution of programs.
conference, the difficulties and pitfalls of designing
2. To schedule computational activities to
complex systems were explored in depth, and a
ensure good performance of the computing
search for solutions began that concentrated on
system.
better methodologies and tools. The most
prominent of these tools were languages reflecting
Some of the services offered by the OS that makes
it a convenient environment for the program - Extending the machine:
development and execution are: - Extending the machine or virtual machine
1. Convenient input / output operations. allows easier to program than working directly with
2. CPU scheduling the hardware.
3. Memory management - E.g. storing a data into a secondary storage
4. File systems device.
5. Protection and security More about as a Resource Manager
6. Communication and resource sharing • As a Resource Manager
– Decide - Schedule – Share
Micro-architecture level
• CPU -> ALU Kinds of Operating System
• -> Registers 1. Mainframe Operating Systems
• (data path) - Large I/O capacity, e.g. 1000 disks, thousands of
On some machines the operation of a data gigabytes.
path is controlled by software called the
microprogram. 2. Server Operating Systems
- Large Personal Computers, could also be
Machine Language or Instruction Set mainframes or high-end PC.
Architecture (ISA) - UNIX, Windows NT/2003, Linux
• Hardware and instruction visible to an assembly
language program. Typically between 50 to 300 3. Multiprocessor Operating System
instruction for moving data around the machine. - Parallel computers, multi computers or
multiprocessors.
Operating System
• Is provided to hide this complexity. 4. Personal Computer Operating System
• This piece of software run in kernel mode or - Good UI, usually for single user
supervisor mode. Protects the user from tampering OS: Windows 10/11. MAC OSX
the hardware.
* Compiler and editors run in user mode. 5. Handheld operating systems are much smaller
and less capable than desktop operating systems,
Word Processor , Banking System, Airline so that they can fit into the limited memory of
Reservation -> Applications handheld devices.
Compiler, Editors, – E.g.
Command Interpreter (Shell) -> System • Android • iOS
programs
Operating System -> (system program) 6. Real-Time Operating System
Microarchitecture -> Physical Device -> - For factory
Hardware - Typically hard real-time system.
- Another kind is soft real-time system. in which
OS Mode missing an occasional deadline or timing is
• Kernel mode acceptable. E.g vxworks.
• User mode
7. Embedded Operating Systems - TV sets,
Another view of an Operating System? microwave, cellphones.
There are two unrelated tasks:
- Extending the machine, and 8. Smart Card Operating Systems
- Managing resources - Credit card
- low computing power - Optimisation programs can include tools for
- small CPU system clean-up, disk defragmentation, and
file compression. These tools are typically
Humor installed as part of the operating system.
• “An elephant is a mouse with an Operating They have access to the hard drive to keep
System.” —Knuth it tidy.
• “The human mind ordinarily operates at only ten
percent of its capacity — the rest is overhead for
the operating system.” — Nicholas Ambrose 3. Application software
- This is everything else! Anything that is not
Software is capable of performing many tasks, as an operating system or a utility is an
opposed to hardware which can only perform application or app. So a word processor,
mechanical tasks that they are designed for. spreadsheet, web browser, and graphics
Software provides the means for accomplishing software are all examples of application
many different tasks with the same basic hardware. software, and they can do many specific
tasks. You can remove and add applications
Software is more than just a program code. A on your computer using the operating
program is an executable code, which serves some system.
computational purpose. Software is considered to
be collection of executable programming code,
associated libraries and documentations. Software
when made for a specific requirements is call
software product.

3 Types of Computer Software


1. System software
- If you think of software as being in layers,
the system software is the bottom layer: it 8 Laws in Software Evolution
sits between the hardware and the 1. Continuing change - must continue to adapt
application software. to the real world changes.
- Operating systems like Windows, macOS, 2. Increasing complexity - complexity tends to
Android and iOS are examples of system increase unless work is done to maintain or
software. Operating systems are loaded into reduce it.
RAM when the device starts up, and have 3. Conservation of familiarity - why was it
access to the hard drive. developed in that particular manner.
2. Utility software 4. Continuing growth - intended to resolve
- Utility software is part of the system some business problems.
software and performs specific tasks to 5. Reducing Quality - a software system
keep the computer running. Utility software declines in quality unless rigorously
is always running in the background. maintained and adapted to a changing
Examples of utility software are security and operational environment.
optimisation programs. 6. Feedback System - constitute multi-loop,
- Security programs include anti-virus multi-level feedback systems.
software that scans and removes viruses. 7. Self-regulation - system evolution processes
Most computers will include some sort of are self-regulating with the distribution of
anti-virus software, but you can add your product and process measures close to
own. normal.
8. Organizational stability - the average The first Macintosh was introduced on January
effective global activity rate. 24, 1984 by Steve Jobs and was the first
commercially successful PC.
Software Design Paradigm
- Design, Maintenance and Programming The first version of Windows was released on
Programming Paradigm November 20, 1985, as a graphical operating
- Coding, testing, integration system shell for MS-DOS in response to the
Operational growing interest in GUIs.
- Budget, Usability, Efficiency

Transitional Lecture 3: Cryptography


- Portability, Interoperability, Reusability,
Adaptability Friend and enemies: Alice, Bob, Trudy
- Well known in network security world
Several Key Aspects of Software Maintenance - Bob, Alice (lovers!) want to communicate
- Bug fixing, enhancements, performance “securely”
optimization, porting and migration, - Eve (or Trudy, intruder) may intercept,
re-engineering, documentation. delete, add messages

Hardware - the physical elements of a computer.


Computer System - storage (disk drive), processor,
memory, network device, display, keyboard, printer.

1963, Douglas Engelbart at Stanford Research


Institute
1st PCs with GUIs
• Xerox Star - mid 1970’s
– Alto
• local processor, bitmap display, mouse
• Precursor to modern GUI, windows,
menus, scrollbars
• LAN - ethernet
• Xerox Star - ‘81
- First commercial PC designed for “business
professionals”
- desktop metaphor, pointing, WYSIWYG, symmetric key crypto: sender, receiver keys
high degree of consistency and simplicity identical
- First system based on usability engineering public-key crypto: encryption key public,
- Paper prototyping and analysis decryption key secret (private)
- Usability testing and iterative refinement
Symmetric Cryptosystems
• Star ● Scenario
- Commercial flop ○ Alice wants to send a message
- $15k cost, closed architecture, lacking key (plaintext P) to Bob.
functionality (spreadsheet) ○ The communication channel is
insecure and can be eavesdropped
○ If Alice and Bob have previously
agreed on a symmetric encryption
scheme and a secret key K, the - Rail fence
message can be sent encrypted - Write plaintext in two rows.
(ciphertext C) - Generate ciphertext in
- Issues column order.
- What is a good symmetric - Substitution Cipher
encryption scheme? - Caesar Cipher
- What is the complexity of - Example of monoalphabetic
encrypting/decrypting? cipher
- What is the size of the ciphertext, - Substitute one letter for
the relative to the plaintext? another.
- Vigenere Cipher
BASICS - Idea: uses Caesar’s cipher
● Notation with various different shifts, in
○ Secret key K order to hide the distribution
○ Encryption function Ek(P) of the letter.
○ Decryption function DK(C) - A key defines the shift used
○ Plaintext length typically the same in each letter in the text
as ciphertext length - A key word is repeated as
○ Encryption and decryption are many times as required to
one-one mapping functions on the become the same length.
set of all n-bit arrays. - One-time pad
- Consistency - Extended from Vigenere
- Decrypting the ciphertext yields the cipher
plaintext - There is one type of
- Dk(Ek(P)) = P substitution cipher that is
Attacks absolutely unbreakable.
Attacker may have: - The one-time pad was
a.) collection of ciphertexts (ciphertext only attack) invented in 1917 by Joseph
b.) collection of plaintext/ciphertext pairs (known Mauborgne and Gilbert
plaintext attack) Vernam.
c.) collection of plaintext/ciphertext pairs for - We use a block of shift keys,
plaintexts selected by the attacker (chosen plaintext to encrypt a plaintext, M, of
attack) length n, with each shift key
d.) collection of plaintext/ciphertext pairs for being chosen uniformly at
ciphertexts selected by the attacker (chosen random.
ciphertext attack) - Since each shift is random,
every ciphertext is equally
Brute-Force Attack like form any plaintext.
Try all possible keys K and determine if Dk(C) is a - Weakness: the key has to be
likely plaintext. as long as the plaintext. Keys
- Require some knowledge of the structure of can never be reused.
the plaintext (e.g., PDF file or email Substitution ciphers - each letter is uniquely
message. replaced by another.
Key should be a sufficiently long random value to There are 26! Possible substitution ciphers for
make exhaustive search attacks unfeasible. English Language. One popular substitution
“cipher” for some Internet posts is ROT13.
Classical Cryptography
- Transposition Cipher Frequency Analysis
Letters in a natural language, like English, are not – Selected by NIST in 2001 through open
uniformly distributed. international competition and public
Discussion
Block Ciphers – 128-bit blocks and several possible key
Plaintext and ciphertext have fixed length b (e.g., lengths: 128, 192 and 256 bits
128 bits). – Exhaustive search attack not currently
A plaintext of length n is partitioned into a sequence possible
of m blocks, P[0],....,P[m-1], where n<bm<n+b – AES-256 is the symmetric encryption
Each message is divided into a sequence of blocks algorithm of choice
and encrypted or decrypted in terms of its block.
Symmetric Key Crypto : DES (Data Encryption
Padding Standard)

• Block ciphers require the length n of the plaintext DES Operation - initial permutation 16 identical
to be a multiple of the “rounds” of function application, each using
block size b different 48 bits of key final permutation.
• Padding the last block needs to be unambiguous
(cannot just add zeroes) The Advanced Encryption Standard (AES)
• When the block size and plaintext length are a
multiple of 8, a common • In 1997, the U.S. National Institute for Standards
padding method (PKCS5) is a sequence of identical and Technology
bytes, each indicating (NIST) put out a public call for a replacement to
the length (in bytes) of the padding DES.
• Example for b = 128 (16 bytes) • It narrowed down the list of submissions to five
– Plaintext: “Roberto” (7 bytes) finalists, and
– Padded plaintext: “Roberto999999999” (16 ultimately chose an algorithm that is now known as
bytes), where 9 denotes the the Advanced Encryption Standard (AES).
number and not the character • AES is a block cipher that operates on 128-bit
• We need to always pad the last block, which may blocks. It is designed to
consist only of padding be used with keys that are 128, 192, or 256 bits
long, yielding ciphers
Block Ciphers in Practice known as AES-128, AES-192, and AES-256.
• Data Encryption Standard (DES)
– Developed by IBM and adopted by NIST Block Cipher Modes
in 1977 • A block cipher mode describes the way a block
– 64-bit blocks and 56-bit keys cipher encrypts and decrypts a sequence of
– Small key space makes exhaustive message blocks.
search attack feasible since late 90s • Electronic Code Book (ECB) Mode (is the
• Triple DES (3DES) simplest):
– Nested application of DES with three – Block P[i] encrypted into ciphertext block
different keys KA, KB, and KC C[i] = EK (P[i])
– Effective key length is 168 bits, making – Block C[i] decrypted into plaintext block
exhaustive search attacks unfeasible M[i] = DK(C[i])
– C = EKC(DKB(EKA(P))); P =
DKA(EKB(DKC(C))) Strengths and Weaknesses of ECB (Electronic
– Equivalent to DES when KA=KB=KC Code Book)
(backward compatible) Strengths:
• Advanced Encryption Standard (AES) – Is very simple
– Allows for parallel encryptions of the blocks of a • Stream cipher
plaintext – XOR the plaintext with the key stream C[i]
– Can tolerate the loss or damage of a block = S[i] P[i]
– Suitable for plaintext of arbitrary length
Weakness: generated on the fly, e.g., media Stream
– Documents and images are not suitable for ECB
encryption since patterns in the plaintext are Key Stream Generation
repeated in the ciphertext:
• RC4
– Designed in 1987 by Ron Rivest for RSA Security
Cipher Block Chaining (CBC) Mode – Trade secret until 1994
• In Cipher Block Chaining (CBC) Mode – Uses keys with up to 2,048 bits
– The previous ciphertext block is combined – Simple algorithm
with the current plaintext block C[i] = EK (C[i • Block cipher in counter mode (CTR)
1] P[i]) – Use a block cipher with block size b
– C[1] = V, a random block separately – The secret key is a pair (K,t), where K is key and t
transmitted encrypted (known as the (counter) is a b-bit value
initialization vector) – The key stream is the concatenation of
– Decryption: P[i] = C[i 1] DK (C[i]) ciphertexts EK (t), EK (t + 1), EK (t + 2), …
– Can use a shorter counter concatenated with a
Strengths and Weaknesses of CBC random value
Strengths: – Synchronous stream cipher
– Doesn’t show patterns in the plaintext
– Is the most common mode Cryptographic Hash Functions
– Is fast and relatively simple
Weaknesses: Hash Functions
– CBC requires the reliable transmission of all the • A hash function h maps a plaintext x to a fixed-
blocks sequentially length value x = h(P) called hash value or digest of
– CBC is not suitable for applications that allow P
packet losses (e.g., music and video streaming) – Usually x is much smaller in size
compared to P.
– A collision is a pair of plaintexts P and Q
that map to the same hash value, h(P) =
h(Q)
– Collisions are unavoidable
– For efficiency, the computation of the hash
function should take time proportional to the
length of the input plaintext

Simplex Example of Hash Functions

• Parity bit: map a binary bit stream to ‘1’ or ‘0’


– Hash value space is only 2.
Stream Cipher
• Key stream
• Repeated addition of n-byte chunks without
– Pseudo-random sequence of bits S =
considering carry-on bits
S*0+, S*1+, S*2+, ...
– Hash value space is 28n
– Can be generated on-line one bit (or byte)
at the time
Cryptographic Hash Functions – One can compute suffixes S1 and S2 such that
P||S1 and Q||S2 collide under MD5 by making 250
• A cryptographic hash function satisfies additional hash evaluations
properties – Using this approach, a pair of different executable
– Preimage resistance (aka one-way) files or PDF documents with the same MD5 hash
• Given a hash value x, it is hard to find a can be computed
plaintext P such that h(P) = x
– Second preimage resistance (aka weak Secure Hash Algorithm (SHA)
collision resistance)
• Given a plaintext P, it is hard to find a • Developed by NSA and approved as a federal
plaintext Q such that h(Q) = h(P) standard by NIST
– Collision resistance (aka strong collision • SHA-0 and SHA-1 (1993)
resistance) – 160-bits
• It is hard to find a pair of plaintexts P and – Considered insecure
Q such that h(Q) = h(P) – Still found in legacy applications
• Collision resistance implies second preimage – Vulnerabilities less severe than those of
resistance MD5
• Hash values of at least 256 bits recommended to • SHA-2 family (2002)
defend – 256 bits (SHA-256) or 512 bits (SHA-512)
against brute-force attacks – Still considered secure despite published
attack techniques
Hash Function Algorithms • Public competition for SHA-3 announced in 2007

• MD5 hash function widely used (RFC 1321) Lecture 4 - Software Engineering
– computes 128-bit message digest in 4-step
process. Software Engineering - the application of a
– arbitrary 128-bit string x, appears difficult to systematic, disciplined, which is a computable
construct msg m whose MD5 hash is equal to x. approach for the development of software,
• SHA-1 is also used. operation, and maintenance of software.
– US standard [NIST, FIPS PUB 180-1] - Is the branch of computer science that deals
– 160-bit message digest with the design, development, testing, and
• There are many hash functions, but most of them maintenance of software applications.
do not satisfy cryptographic hash function Software engineers apply engineering
requirements principles and knowledge of programming
– example: checksum languages to build software solutions for
end users.
Message-Digest Algorithm 5 (MD5)
Steps/Phases/Activities
• Developed by Ron Rivest in 1991 1. Requirements Gathering / Analysis
• Uses 128-bit hash values 2. User Interface Design
• Still widely used in legacy applications although 3. Architectural Design
considered insecure 4. Detailed Design
• Various severe vulnerabilities discovered 5. Programming
• Chosen-prefix collisions attacks found by Marc 6. System Integration
Stevens, Arjen Lenstra and Benne de Weger 7. Validation
– Start with two arbitrary plaintexts P and Q 8. Verification (Testing)
9. Production
10. Documentation
11. Maintenance Deployment & Maintenance
12. Project Management
Core Software Development Life Cycle Model
1. Requirements Gathering & Analysis 1. Waterfall Model
2. Planning Advantage
3. Development - Simple and easy to understand and
4. Testing use
5. Deployment & Maintenance - Phases are processes and
completed one at a time
Software Development Life Cycle (SDLC) - Easy to arrange tasks.
Disadvantages
Requirements Gathering - develop useful - No working software is produced
software until late during the life cycle
- Survey, Interview, Observation, Use case - Not a good model for complex and
analysis, and more. OOPs.

Requirements Elicitation Technique


Requirements Analysis 2. Prototyping Model
Based on Requirements Elicitation Advantages
- Login, Customer Registration, Add - Customer can see steady progress
customer, block customer, delete orders, - Useful when requirements are
add to cart, rating, reviews and comments, changing rapidly
modify orders. Disadvantages
- Impossible to know how long it will
Prototype - making sure that your design idea is takes (depend on customer)
implemented as intended - There is no way to know the number
of iteration will be required.
Planning - Roadmap : Approach how your team 3. Spiral Model
will develop the software. Advantages
Modularization - Changing requirements can be
System accommodated
Development - Allows extensive use of prototypes
Disadvantages
Coding Pattern/Model - Management is more complex
- Not suitable for small or low risk
Coding Design Patterns projects and could be expensive for
- Hierarchical Model-View-Controller (HMVC) small projects.
- Model-Vies-ViewModel (MVVM)
- Model View Presenter (MVP) Lecture 5: Cloud Computing
- Model View Adapter (MVA)
- Presentation Abstraction Control (PAC) Why Cloud Computing?
- Resource-Method-Prepresentation (RMR) On-premise vs Cloud Computing
- Action-Domain-Responder (ADR) On-Premise
- Model View Controller (MVC) - Higher pay, less scalability
- Allot huge space for servers
Testing - Appoint a team for hardware and software
1. Find bugs maintenance
2. See if the expectations are met - Poor data security
- Less chance of data recovery
- Lack of flexibility Deployment Model
- No automatic updates Consider an example of vehicles
- Less collaboration
- Data cannot be accessed remotely
- Takes longer implementation time

Cloud computing
- Pay for what you use
- Scale up pay more Scale down pay less
- No server space required
- No experts required for hardware and
software maintenance
- Better data security
- Disaster recovery Public cloud
- High Flexibility The cloud infrastructure is made available to the
- Automatic software updates general public over the internet and is owned by a
- Teams can collaborate from widespread cloud provider
locations
- Data can be accessed and shared Example: AWS, Microsoft Azure, IBM's Blue Cloud
anywhere over the internet and Sun Cloud
- Rapid implementation

What is Cloud Computing?


Cloud computing is the delivery of on-demand
computing services over the internet on a
pay-as-you-go basis

Rather than managing files on a local storage


device, cloud computing makes it possible to save
them over internet Private Cloud
The cloud infrastructure is exclusively operated by
a single organization. It can be managed by the
organization or a third party and may exist
on-premise or off-premise

Example: AWS, VMware

Types of Cloud Computing


Hybrid Cloud - It allows software developers to deploy
applications without requiring all the related
It consists the functionalities of both public and infrastructure
private cloud - Users: Software Developers

For example: Federal agencies opt for private SaaS


clouds when sensitive information is involved Also, - In SaaS, cloud providers host and manage
they use the public cloud to share data sets with the software application on a pay-as-you-go
general public or other government departments pricing model
- All software and hardware are provided and
managed by a vendor so you don't have to
maintain anything
- Users: End Customers

Differences between IaaS, PaaS, and SaaS

Service Model

Types of Service Models


Which cloud service is suitable for you?
IaaS
If your business needs a virtual machine, opt for
Infrastructure as a Service

PaaS
If your company requires a platform for building Cloud Providers
software products pick Platform as a Service ● AWS (Amazon Web Services)
● IBM Cloud
SaaS ● Google Cloud Platform
If your business doesn't want to maintain any IT ● Microsoft Azure
equipment, then choose Software as a Service ● Vmware
● DigitalOcean
IaaS
- laaS is a cloud service that provides basic
computing infrastructure
- Services are available on
pay-for-what-you-use model
- laaS providers include Amazon Web
Services, Microsoft Azure and Google
Compute Engine
- Users: IT Administrators

PaaS
- PaaS provides cloud platforms and runtime
environments for developing, testing, and
managing applications

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy