Upload
brra51
View
4.653
Download
8
Embed Size (px)
DESCRIPTION
يناقش هذا السمنار التطورات الحالية لهندسة البرمجيات
Citation preview
Presented By : Albara Abdalkhalig MansourSudan University E-mail : [email protected]
Current Trends in Current Trends in Software EngineeringSoftware Engineering
Cloud ComputingCloud Computing
Cloud Computing It’s a technology that uses the internet and central remote servers to maintain data and applications.
Cloud computing allows consumers and businesses to use applications without installation and access to their personal files at any computer with internet access.
Examples:
Yahoo email or Gmail etc
CloudCloud ArchitectureArchitecture
CloudCloud StorageStorage
The approach, cloud storage allows data stored
remotely to be temporarily cached on desktop
computers,
Examples:
Amazon’s Elastic Compute Cloud (EC2).
Simple Storage Solution (S3).
AdvantagesAdvantages ofof Cloud ComputingCloud Computing
Lower computer costs
Improved performance
Reduced software costs
Instant software updates
Improved document
format compatibility
Unlimited storage
capacity
Increased data reliability
Universal document
access
Latest version availability
Easier group collaboration
Device independence
Disadvantages of Cloud ComputingDisadvantages of Cloud Computing
Requires a constant Internet connection.
Does not work well with low-speed connections.
Can be slow.
Features might be limited.
Stored data might not be secure.
Stored data can be lost.
Types of Cloud Computing Services:Types of Cloud Computing Services:
Software as a Service (SaaS)Software as a Service (SaaS)
SaaS is a model of software deployment where an
application is hosted as a service provided to
customers across the Internet. SaaS is generally used
to refer to business software rather than consumer
software.
AdvantagesAdvantages
Accessible from anywhere with an internet connection. No local server installation. Pay per use or subscription based payment methods. Rapid scalability. System maintenance (backup, updates, security, etc) often
included in service. Possible security improvements, although users with high
security requirements (e.g., large corporations) may find SaaS a security concern.
Reliability.
VirtualizationVirtualization Virtualization, in computing, is the creation of a virtual
(rather than actual) version of something, such as a hardware platform, operating system, a storage device or network resources.
Virtualization can be viewed as part of an overall trend in enterprise IT that includes autonomic computing, a scenario in which the IT environment will be able to manage itself based on perceived activity, and utility computing, in which computer processing power is seen as a utility that clients can pay for only as needed. The usual goal of virtualization is to centralize administrative tasks while improving scalability and work loads.
Type of VirtualizationType of Virtualization
Hardware-assisted. Software. Memory. Storage. Data. Network.
Advantages of virtual machinesAdvantages of virtual machines
Run operating systems where the physical hardware is unavailable,
Easier to create new machines, backup machines, etc., Software testing using “clean” installs of operating systems
and software, Emulate more machines than are physically available, Timeshare lightly loaded systems on one host, Debug problems (suspend and resume the problem machine), Easy migration of virtual machines (shutdown needed or
not). Run legacy systems!
Applying Virtualization to Software Applying Virtualization to Software EngineeringEngineering
Software virtualization techniques can be used in nearly all
stages of the software life cycle (regardless of type of
development methodology used) to both improve software
quality and accelerate the software lifecycle, therefore
increasing efficiency and, presumably, profit.
Service-oriented architecture (SOA)Service-oriented architecture (SOA) Service-oriented architecture (SOA) is a flexible set of
design principles used during the phases of systems development and integration in computing. A system based on a SOA will package functionality as a suite of interoperable services that can be used within multiple separate systems from several business domains.
OASIS defines SOA as the following: A paradigm for organizing and utilizing distributed
capabilities that may be under the control of different ownership domains. It provides a uniform means to offer, discover, interact with and use capabilities to produce desired effects consistent with measurable preconditions and expectations.
The FutureThe Future Many of the activities loosely grouped together under cloud
computing have already been happening and centralised computing activity is not a new phenomena:
Grid Computing was the last research-led centralised approach.
However there are concerns that the mainstream adoption of cloud computing could cause many problems for users.
Whether these worries are grounded or not has yet to be seen.
Many new open source systems appearing that you can install and run on your local cluster – should be able to run a variety of applications on these systems.