Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore Foundation ITO

Foundation ITO

Published by Teamlease Edtech Ltd (Amita Chitroda), 2022-02-28 11:34:16

Description: Foundation ITO Self Learning Material

Search

Read the Text Version

99 100% of the Fortune 100. Improve the efficiency and availability of IT resources and applications through virtualization. Start by eliminating the old one server, one application‖ model and run multiple virtual machines on each physical machine. Free your IT admins from spending so much time managing servers rather than innovating. About 70%of a typical IT budget in a non-virtualized datacenter goes towards just maintaining the existing infrastructure, with little left for innovation. An automated datacenter built on the production-proven VMware virtualization platform lets you respond to market dynamics faster and more efficiently than ever before. VMware vSphere delivers resources, applications even servers when and where they’re needed. VMware customers typically save 50-70% on overall IT costs by consolidating their resource pools and delivering highly available machines with VMware vSphere. • Run multiple operating systems on a single computer including Windows, Linux and more. • Let your Mac run Windows creating a virtual PC environment for all your windows applications • Reduce capital costs by increasing energy efficiency and requiring less hardware while increasing your server to admin ratio • Ensure your enterprise applications perform with the highest availability and performance • Build up business continuity through improved disaster recovery solutions and deliver high availability throughout the datacenter • Improve enterprise desktop management & control with faster deployment of desktops and fewer support calls due to application conflicts 7.2 Basics of Virtualization Virtualization is the \"creation of a virtual (rather than actual) version of something, such as a server, a desktop, a storage device, an operating system or network resources”. In other words, Virtualization is a technique, which allows to share a single physical instance of a resource or an application among multiple customers and organizations. It does by assigning a logical name to a physical storage and providing a pointer to that physical resource when demanded. Creation of a virtual machine over existing operating system and hardware is known as Hardware Virtualization. A Virtual machine provides an environment that is logically separated from the underlying hardware. The machine on which the virtual machine is going to create is known as Host Machine and that virtual machine is referred as a Guest Machine. Types of Virtualization: • Hardware Virtualization.

100 • Operating system Virtualization. • Server Virtualization. • Storage Virtualization. Hardware Virtualization: When the virtual machine software or virtual machine manager (VMM) is directly installed on the hardware system is known as hardware virtualization. The main job of hypervisor is to control and monitoring the processor, memory and other hardware resources. After virtualization of hardware system, we can install different operating system on it and run different applications on those OS. Usage: Hardware virtualization is mainly done for the server platforms, because controlling virtual machines is much easier than controlling a physical server. 2) Operating System Virtualization: When the virtual machine software or virtual machine manager (VMM) is installed on the Host operating system instead of directly on the hardware system is known as operating system virtualization. Usage: Operating System Virtualization is mainly used for testing the applications on different platforms of OS 3) Server Virtualization: When the virtual machine software or virtual machine manager (VMM) is directly installed on the Server system is known as server virtualization. Usage: Server virtualization is done because a single physical server can be divided into multiple servers on the demand basis and for balancing the load. 4) Storage Virtualization: Storage virtualization is the process of grouping the physical storage from multiple network storage devices so that it looks like a single storage device. Storage virtualization is also implemented by using software applications. Virtualization plays a very important role in cloud computing technology, normally in the cloud computing, users share the data present in the clouds like application etc, however, with the help of virtualization users shares the Infrastructure. The main usage of Virtualization Technology is to provide the applications with the standard versions to their cloud users, suppose if the next version of that application is released, then cloud provider has to provide the latest version to their cloud users and practically it is possible because it is more expensive. To overcome this problem, we use basically virtualization technology, by using virtualization, all severs and the software application which are required by other cloud providers are maintained by the third-party people, and the cloud providers has to pay the money on monthly or annual basis.

101 VMware Infrastructure History of virtualization The history of Virtualization has been displayed below: History of Virtualization Virtualization was first developed in the 1960s to partition large, mainframe hardware for better hardware utilization. Today, computers based on x86 architecture are faced with the same problems of rigidity and underutilization that mainframes faced in the

102 1960s. VMware invented virtualization for the x86 platform in the1990s to address underutilization and other issues, overcoming many challenges in the process. Today, VMware is the global leader in x86 virtualization, with over 300,000 customers, including 100% of the Fortune 100. In the Beginning: Mainframe Virtualization Virtualization was first implemented more than 30 years ago by IBM as a way to logically partition mainframe computers into separate virtual machines. These partitions allowed mainframes to multitask: run multiple applications and processes at the same time. Since mainframes were expensive resources at the time, they were designed for partitioning as a way to fully leverage the investment The Need for x86 Virtualization Virtualization was effectively abandoned during the 1980s and 1990s when client- server applications and inexpensive x86 servers and desktops led to distributed computing. The broad adoption of Windows and the emergence of Linux as server operating systems in the 1990s established x86 servers as the industry standard. The growth in x86 server and desktop deployments led to new IT infrastructure and operational challenges. These challenges include • Low Infrastructure Utilization. Typical x86 server deployments achieve an average utilization of only10% to 15% of total capacity, according to International Data Corporation (IDC), a market research firm. Organizations typically run one application per server to avoid the risk of vulnerabilities in one application affecting the availability of another application on the same server. • Increasing Physical Infrastructure Costs. The operational costs to support growing physical infrastructure have steadily increased. Most computing infrastructure must remain operational at all times, resulting in power consumption, cooling and facilities costs that do not vary with utilization levels. • Increasing IT Management Costs. As computing environments become more complex, the level of specialized education and experience required for infrastructure management personnel and the associated costs of such personnel have increased. Organizations spend disproportionate time and resources on manual tasks associated with server maintenance, and thus require more personnel to complete these tasks. • Insufficient Failover and Disaster Protection. Organizations are increasingly affected by the downtime of critical server applications and inaccessibility of critical end user desktops. The threat of security attacks, natural disasters, health pandemics and terrorism has elevated the importance of business continuity planning for both desktops and servers.

103 • High Maintenance end-user desktops. Managing and securing enterprise desktops present numerous challenges. Controlling a distributed desktop environment and enforcing management, access and security policies without impairing users’ ability to work effectively is complex and expensive. Numerous patches and upgrades must be continually applied to desktop environments to eliminate security vulnerabilities. The VMware Solution: Full Virtualization of x86 Hardware In 1999, VMware introduced virtualization to x86 systems to address many of these challenges and transform x86systems into a general purpose, shared hardware infrastructure that offers full isolation, mobility and operating system choice for application environments. Challenges & Obstacles to x86 Virtualization Unlike mainframes, x86 machines were not designed to support full virtualization, and VMware had to overcome formidable challenges to create virtual machines out of x86 computers. The basic function of most CPUs, both in mainframes and in PCs, is to execute a sequence of stored instructions (i.e., a software program). In x86 processors, there are 17 specific instructions that create problems when virtualized, causing the operating system to display a warning, terminate the application, or simply crash altogether. As a result, these 17 instructions were a significant obstacle to the initial implementation of virtualization on x86 computers. To handle the problematic instructions in the x86 architecture, VMware developed an adaptive virtualization technique that traps these instructions as they are generated and converts them into safe instructions that can be virtualized, while allowing all other instructions to be executed without intervention. The result is a high-performance virtual machine that matches the host hardware and maintains total software compatibility. VMware pioneered this technique and is today the undisputed leader in virtualization technology Key features of Virtualization • Increased Security – The ability to control the execution of a guest program in a completely transparent manner opens new possibilities for delivering a secure, controlled execution environment. All the operations of the guest programs are generally performed against the virtual machine, which then translates and applies them to the host programs.

104 A virtual machine manager can control and filter the activity of the guest programs, thus preventing some harmful operations from being performed. Resources exposed by the host can then be hidden or simply protected from the guest. Increased security is a requirement when dealing with untrusted code. Example-1: Untrusted code can be analysed in Cuckoo sandboxes environment. The term sandbox identifies an isolated execution environment where instructions can be filtered and blocked before being translated and executed in the real execution environment. • Managed Execution – In particular, sharing, aggregation, emulation, and isolation are the most relevant features. Virtualization Features • Sharing – Virtualization allows the creation of a separate computing environment within the same host. This basic feature is used to reduce the number of active servers and limit power consumption. • Aggregation – It is possible to share physical resources among several guests, but virtualization also allows aggregation, which is the opposite process. A group of separate hosts can be tied together and represented to guests as a single virtual host. This functionality is implemented with cluster management software, which harnesses the physical resources of a homogeneous group of machines and represents them as a single resource. • Emulation – Guest programs are executed within an environment that is controlled by the virtualization layer, which ultimately is a program. Also, a completely different environment with respect to the host can be emulated, thus allowing the execution of guest programs requiring specific characteristics that are not present in the physical host.

105 • Isolation – Virtualization allows providing guests whether they are operating systems, applications, or other entities with a completely separate environment, in which they are executed. The guest program performs its activity by interacting with an abstraction layer, which provides access to the underlying resources. The virtual machine can filter the activity of the guest and prevent harmful operations against the host. Besides these characteristics, another important capability enabled by virtualization is performance tuning. This feature is a reality at present, given the considerable advances in hardware and software supporting virtualization. It becomes easier to control the performance of the guest by finely tuning the properties of the resources exposed through the virtual environment. This capability provides a means to effectively implement a quality-of-service (QoS) infrastructure. • Portability – The concept of portability applies in different ways according to the specific type of virtualization considered. In the case of a hardware virtualization solution, the guest is packaged into a virtual image that, in most cases, can be safely moved and executed on top of different virtual machines. In the case of programming-level virtualization, as implemented by the JVM or the .NET runtime, the binary code representing application components (jars or assemblies) can run without any recompilation on any implementation of the corresponding virtual machine. Popular vendors of virualization

106 Virtualization Vendors • VMware-The first commercial X86 virtualization product was launched in 2001 by VMware. Nowadays VMware is the virtualization market leader and it has a rich portfolio of products for both the consumer and enterprise worlds. VMware ESX is the bare-metal solution with an easy-to-use management UI that allows you to deploy full virtualized machines. • Xen-Two years later the open-source Xen project began at the University of Cambridge and it offers both full and paravirtualization. It's based on the Linux kernel. Xen has an active user base of more than 10 million users and is also used by Amazon, SoftLayer, and Rackspace. Citrix is a multinational software company founded in 1989 and it offers commercial products based on Xen. Xen server is a bare metal solution and a competitor of VMware ESX and ESXi. The Xen Center application is the Citrix tool used to create and manage Xen server installations. It is quite similar to the VMware-viclient. • KVM- KVM is a more recent product of the Linux universe that allows users to create virtual machines on top of their particular distributions. KVM supports full and paravirtualization. • Microsoft Hyper-V-Microsoft released Hyper-V a hosted and bare-metal hyper visor in 2008. An important remark regarding Hyper-V is the Microsoft license strategy. You can create unlimited Windows server power virtual machines simply by purchasing one license of the Microsoft Windows Server Data Center Edition. 7.3 Microsoft Virtualization Hyper-V is a virtualization software created by Microsoft. In this Hyper-V virtualization tutorial, we’ll look at some of the major Hyper-V virtualization concepts. In addition to covering the basics of Hyper-V virtualization and hardware virtualization technology,

107 we’ll consider the benefits of virtualization, how virtual machines are managed, how to use Hyper-V virtualization technology, and Hyper-V considerations you should be aware of. This should provide you with a robust understanding of the nuances of Hyper-V virtualization technology. Hyper-V virtualization Hyper-V is a virtualization software initially released in 2016 by Microsoft. It’s built into Windows and is widely recognized as a major competitor to VMware Fusion and Oracle VM VirtualBox. Hyper-V can be used to virtualize hardware components and operating systems. Additionally, it’s not limited to the user’s device and can be used to facilitate server virtualization. There are three versions of Hyper-V available: ▪ Hyper-V Server: a stand-alone product created for managing dedicated and virtual server instances ▪ Hyper-V for Windows 10: a product you can run on your laptop or desktop ▪ Hyper-V for Windows Server: an add-on for Windows Server Hardware virtualization is also referred to as hardware-assisted virtualization. It involves embedding virtual machine software into a server’s hardware component. This software goes by several names, but “virtual machine monitor” and “hypervisor” are the ones most commonly used. ESX Host ESX host can be defined as: • The server’s /data storage devices on which the ESX or ESXi hypervisor has been installed

108 • It is used to create VMs (virtualization) is highly efficient, as one host device can support multiple (up to a dozen or more) VMs. ESX Host ESX server is a virtualized platform, owned by VMware. ESX has two versions of servers– ESXi server and ESX server. ESX server is a tool of an enterprise level. It uses different services that handle different virtual machines and these machines are much efficient and reliable, as compared to other Server products of VMware because it runs on bare metal. This means that the software of the ESX server can be installed directly without additional operating system. VMkernel (a micro kernel for saving resources) controls the basic system of ESX server. This diminishes the need for running OS beneath the VM. After the setup, resources get divided into virtual hardware, for virtual machines usage. VMkernel is responsible for running the programs smoothly including the virtual machines, agents and management applications. It can also control hardware, and manage the resources. The processes running on VMkernel, are • Virtual machine monitor – This process is responsible for ensuring the providence of the execution environment of a VM. A process called VMX is also initiated by it. Each VM has its own VMX and VMM processes.

109 • Direct Console User Interface (DCUI) – This is an interface for management and configuration. DCUI is accessible through the server console. DCUI is used for basic initial level configuration. • CIM (Common Information Model) system – The Common Information Model is an interface enabling control of the hardware management from the remote applications by APIs. • Agents – Agents control the VMware infrastructure from remote applications. ESX server has the capacity to memorize which is the best feature so far. This means that the memory of the VM can be greater than the server’s memory. This is the case of memory’s better utilization. The process is controlled by the service console’s server architecture is designed to increase its reliability, management, and security. The architecture can be integrated into a virtually optimized server. It means: • Smooth deployment. • Hassle free configuration. • Quick installation. ESX server communicates by Host Agents by using API or VI API and their information can be gathered vCenter vCenter Server is an application that enables you to manage your vSphere infrastructure from a centralized location. It acts as a central administration point for ESXi hosts and their respective virtual machines. vCenter Server can be installed on a supported version of Windows or you can use a preconfigured Linux version known

110 as vCenter Server Appliance. vCenter Server is required for some advanced vSphere features, such as vSphere High Availability, vSphere Fault Tolerance, vSphere Distributed Resource Scheduler (DRS), VMware vSphere vMotion, and VMware vSphere Storage vMotion. A single vCenter Server instance can support a maximum of 1,000 hosts, 10,000 powered-on virtual machines and 15,000 registered virtual machines. vCenter Server is an application that enables you to manage your vSphere infrastructure from a centralized location. It acts as a central administration point for ESXi hosts and their respective virtual machines. vCenter Server can be installed on a supported version of Windows or you can use a preconfigured Linux version known as vCenter Server Appliance. vCenter Server is required for some advanced vSphere features, such as vSphere High Availability, vSphere Fault Tolerance, vSphere Distributed Resource Scheduler (DRS), VMware vSphere vMotion, and VMware vSphere Storage vMotion. A single vCenter Server instance can support a maximum of 1,000 hosts, 10,000 powered-on virtual machines and 15,000 registered virtual machines. A vCenter Server instance consist of the following components: • vSphere Client and vSphere Web Client – both tools can be used to manage your vCenter Server. vSphere Web Client is the recommended way to manage an ESXi host when the host is managed by vCenter Server. • vCenter Server database – stores the inventory items, security roles, resource pools, performance data, and other information. Oracle and Microsoft SQL Server are supported databases for vCenter Server. vCenter Single Sign-On (SSO) – allows authentication against multiple user repositories, such as Active Directory or Open LDAP. • Managed hosts – ESXi hosts and their respective virtual machines. Here is a picture of a vSphere environment managed through vCenter Server:

111 Vcentre Server 7.4 Summary • Virtualization is the process of running a virtual instance of a computer system in a layer abstracted from the actual hardware • Virtualization purpose is to run applications normally requiring multiple units of hardware • Virtualization relies on software to simulate hardware functionality and create a virtual computer system. • virtualization popular vendors are VMware, Microsoft Hyper-V.KVM, Xen. 7.5 Learning Activity Install VirtualBox Guest Additions, this lab will test your ability to install, configure, and set up VirtualBox on your laptop, create a VM, and install a guest operating system 7.6 Glossary • Child partition - A child partition is a logical hard drive division in the Microsoft Hyper-V environment that runs an isolated operating system. • Virtual Server: A virtual server typically runs one server-based application. • Virtual Desktop: A VM that is running a desktop OS such as Windows 7 or Red Hat Enterprise Desktop. • Virtual Network: A network provided by virtual switches 7.7 References • https://opensource.com/resources/virtualization • https://www.softwaretestinghelp.com/virtualization-software/ • https://www.vmware.com/in/products/esxi-and-esx.html • https://www.vmware.com/content/dam/digitalmarketing/vmware/en/pdf/products/v Center/vmware-vcenter-server-datasheet.pdf

112 UNIT - 8: DATABASE FUNDAMENTALS Structure 8.0 Learning Objectives 8.1 Introduction 8.2 Data Base for beginners 8.3 DBMS 8.4 RDBMS 8.5 SQL 8.6 NoSQL 8.7 Summary 8.8 Learning Activity 8.9 Glossary 8.10 References 8.0 Learning Objectives After studying this unit, you will be able to • Examine the meaning and applications of Database • Identify DBMS and its functionality • Interpret the functioning of RDBMS • Associate with the concept of SQL • Describe the NoSQL concept 8.1 Introduction Data is a collection of a distinct small unit of information. It can be used in a variety of forms like text, numbers, media, bytes, etc. it can be stored in pieces of paper or electronic memory, etc. A database is an organized collection of data, so that it can be easily accessed and managed. • You can organize data into tables, rows, columns, and index it to make it easier to find relevant information. • Database handlers create a database in such a way that only one set of software program provides access of data to all the users.

113 • The main purpose of the database is to operate a large amount of information by storing, retrieving, and managing data. • There are many dynamic websites on the World Wide Web nowadays which are handled through databases. For example, a model that checks the availability of rooms in a hotel. It is an example of a dynamic website that uses a database. • There are many databases available like MySQL, Sybase, Oracle, MongoDB, Informix, PostgreSQL, SQL Server, etc. • Modern databases are managed by the database management system (DBMS). • SQL or Structured Query Language is used to operate on the data stored in a database. SQL depends on relational algebra and tuple relational calculus. • A cylindrical structure is used to display the image of a database. Database 8.2 Database for Beginners Database a collection of well-organized related records incoherent manner. These records are stored in the form of a table. As we know their rows and columns. Rows are known as tuples and columns are known as attributes of the database. Example: - Employee records, Students records, telephone Directory, Inventory control, Patients records, Sales reports, etc.

114 The Database stores metadata in an area which is called the data dictionary, which represents the tables, columns, indexes, constraints, and other items that creates the database. Metadata is the data that describes the structure of data within a database. If you know how your data is arranged, then you easily can retrieve it. Because the database consists of a description of its structure, it’s “self-describing”. The database is integrated because it includes not only data items but also the relationships between data items. Types of databases The four main types of databases are • DBMS • RDMS • RDMS • NoSQL Types of Databases 8.3 DBMS • Database management system is a software which is used to manage the database. For example: MySQL, Oracle, etc are a very popular commercial database which is used in different applications. • DBMS provides an interface to perform various operations like database creation, storing data in it, updating data, creating a table in the database and a lot more. • It provides protection and security to the database. In the case of multiple users, it also maintains data consistency.

115 DBMS allows users the following tasks: • Data Definition: It is used for creation, modification, and removal of definition that defines the organization of data in the database. • Data Updation: It is used for the insertion, modification, and deletion of the actual data in the database. • Data Retrieval: It is used to retrieve the data from the database which can be used for various purposes. • User Administration: It is used for registering and monitoring users, maintain data integrity, enforcing data security, dealing with concurrency control, monitoring performance and recovering information corrupted by unexpected failure. DBMS allows users the following tasks: • Data Definition: It is used for creation, modification, and removal of definition that defines the organization of data in the database. • Data Updation: It is used for the insertion, modification, and deletion of the actual data in the database. • Data Retrieval: It is used to retrieve the data from the database which can be used by applications for various purposes. • User Administration: It is used for registering and monitoring users, maintain data integrity, enforcing data security, dealing with concurrency control, monitoring performance and recovering information corrupted by unexpected failure. Advantages of DBMS • Controls database redundancy: It can control data redundancy because it stores all the data in one single database file and that recorded data is placed in the database. • Data sharing: In DBMS, the authorized users of an organization can share the data among multiple users. • Easily Maintenance: It can be easily maintainable due to the centralized nature of the database system. • Reduce time: It reduces development time and maintenance need. • Backup: It provides backup and recovery sub system that creates automatic backup of data from hardware and software failures and restores the data if required. • multiple user interface: It provides different types of user interfaces like graphical user interfaces, application program interfaces Disadvantages of DBMS

116 • Cost of Hardware and Software: It requires a high speed of data processor and large memory size to run DBMS software. • Size: It occupies a large space of disks and large memory to run them efficiently. • Complexity: Database system creates additional complexity and requirements. • Higher impact of failure: Failure is highly impacted the database because in most of the organization, all the data stored in a single database and if the database is damaged due to electric failure or database corruption then the data may be lost forever. Types of DBMS: There are four types DBMS • Relational database • Object-oriented database • Hierarchical database • Network database 8.4 RDBMS RDBMS stands for Relational Database Management System. All modern database management systems like SQL, MS SQL Server, ORACLE, My-SQL and Microsoft Access are based on RDBMS. It is called Relational Data Base Management System (RDBMS) because it is based on relational model introduced by E.F. Codd. RDBMS The RDBMS database uses tables to store data. A table is a collection of related data entries and contains rows and columns to store data. A table is the simplest example of data storage in RDBMS. Let's see the example of student table.

ID Name AGE 117 1 Ajeet 24 2 Aryan 20 COURSE 3 Mahesh 21 B. Tech 4 Ratan 22 5 Vimal 26 C.A BCA MCA BSC A row of a table is also called record. It contains the specific information of each individual entry in the table. It is a horizontal entity in the table. For example: The above table contains 5 records. Let's see one record/row in the table. 1 Ajeet 24 B. Tech A column is a vertical entity in the table which contains all information associated with a specific field in a table. For example: \"name\" is a column in the above table which contains all information about student's name. Ajeet Aryan

118 Mahesh Ratan Vimal 8.5 SQL SQL is a database computer language designed for the retrieval and management of data in a relational database. SQL stands for Structured Query Language. SQL is Structured Query Language, which is a computer language for storing, manipulating and retrieving data stored in a relational database. SQL is the standard language for Relational Database System. All the Relational Database Management Systems (RDMS) like MySQL, MS Access, Oracle, Sybase, Informix, Postgres and SQL Server use SQL as their standard database language. Also, they are using different dialects, such as − • MS SQL Server using T-SQL • Oracle using PL/SQL • MS Access version of SQL is called JET SQL (native format) etc. Applications of SQL As mentioned before, SQL is one of the most widely used query language over the databases. • Allows users to access data in the relational database management systems. • Allows users to describe the data. • Allows users to define the data in a database and manipulate that data. • Allows to embed within other languages using SQL modules, libraries & pre- compilers. • Allows users to create and drop databases and tables. • Allows users to create view, stored procedure, functions in a database. • Allows users to set permissions on tables, procedures and views.

119 8.6 Non-Relational Structured Query Language (NoSQL) Most databases can be categorized as either relational or non-relational. Non- relational databases are sometimes referred to as “NoSQL,” which stands for Not Only SQL. The main difference between these is how they store their information. A non- relational database stores data in a non-tabular form, and tends to be more flexible than the traditional, SQL-based, relational database structures. It does not follow the relational model provided by traditional relational database management systems. Relational databases use Structured Query Language (SQL) and store data in tabular form. The database usually contains tables consisting of columns and rows. When new data is added, new records are inserted into existing tables or new tables are added. Relationships can then be made between two or more tables. Relational databases work best when the data they contain doesn’t change very often, and when accuracy is crucial. Relational databases are, for instance, often found in financial applications. Non-relational databases (often called NoSQL databases) are different from traditional relational databases in that they store their data in a non-tabular form. Instead, non-relational databases might be based on data structures like documents. A document can be highly detailed while containing a range of different types of information in different formats. This ability to digest and organize various types of information side-by-side makes non-relational databases much more flexible than relational databases. The benefits of a non-relational database Today’s applications collect and store increasingly vast quantities of ever-more complex customer and user data. The benefits of this data to businesses, of course, lie in their potential for analysis. Using a non-relational database can unlock patterns and value even within masses of variegated data. There are several advantages to using non-relational databases, including: • Massive dataset organization-In the age of Big Data, non-relational databases can not only store massive quantities of information, but they can also query these datasets with ease. Scale and speed are crucial advantages of non- relational databases. • Flexible database Expansion-Data is not static. As more information is collected, a non-relational database can absorb these new data points, enriching the existing database with new levels of granular value even if they don’t fit the data types of previously existing information. • Multiple data structures-The data now collected from users takes on a myriad of forms, from numbers and strings, to photo and video content, to message histories. A database needs the ability to store these various information formats,

120 understand relationships between them, and perform detailed queries. No matter what format your information is in, non-relational databases can collate different information types together in the same document. • Built for the cloud-A non-relational database can be massive. And as they can, in some cases, grow exponentially, they need a hosting environment that can grow and expand with them. The cloud’s inherent scalability makes it an ideal home for non-relational databases. Non-Relational/NoSQL Databases Relational database A relational database typically stores information in tables containing specific pieces and types of data. For example, a shop could store details of their customers’ names and addresses in one table and details of their orders in another. This form of data storage is called structured data. Relational Databases Relational databases use Structured Query Language (SQL). In relational database design, the database usually contains tables consisting of columns and rows. When new data is added, new records are inserted into existing tables or new tables are added. Relationships can then be made between two or more tables. Relational

121 databases work best when the data they contain doesn’t change very often, and when accuracy is crucial. Relational databases are, for instance, often found in financial applications. Non-relational databases (often called NoSQL databases) are different from traditional relational databases in that they store their data in a non-tabular form. Instead, non-relational databases might be based on data structures like documents. A document can be highly detailed while containing a range of different types of information in different formats. This ability to digest and organize various types of information side-by-side makes non-relational databases much more flexible than relational databases. The benefits of a non-relational database Today’s applications collect and store increasingly vast quantities of ever-more complex customer and user data. The benefits of this data to businesses, of course, lie in their potential for analysis. Using a non-relational database can unlock patterns and value even within masses of variegated data. There are several advantages to using non-relational databases, including: • Massive dataset organization-In the age of Big Data, non-relational databases can not only store massive quantities of information, but they can also query these datasets with ease. Scale and speed are crucial advantages of non- relational databases. • Flexible database Expansion-Data is not static. As more information is collected, a non-relational database can absorb these new data points, enriching the existing database with new levels of granular value even if they don’t fit the data types of previously existing information. • Multiple data structures-The data now collected from users takes on a myriad of forms, from numbers and strings, to photo and video content, to message histories. A database needs the ability to store these various information formats, understand relationships between them, and perform detailed queries. No matter what format your information is in, non-relational databases can collate different information types together in the same document. • Built for the cloud-A non-relational database can be massive. And as they can, in some cases, grow exponentially, they need a hosting environment that can grow and expand with them. The cloud’s inherent scalability makes it an ideal home for non-relational databases. 8.6 Summary • Database Fundamentals introduces database concepts, including relational databases, tables and data types, data selection • Database components are hardware, software, data, procedure, and database access language.

122 • Database, uses row to represent a single, implicitly structured data item in a table. • Database types are DBMS, RDBMS, SQL, NoSQL. 8.7 Glossary • Cluster: In computing, a cluster is a group of computers all dedicated to helping with a shared task. • Column family: A column family is a database object that stores groups of key- value pairs where each key is a row identifier and each value is a group of column names and values. • Data: In the broadest sense, data are facts or pieces of information. • Database: A database is a structure used to organize, structure, and store data. • Dataset: A dataset, sometimes spelled data set, is a single collection of data. 8.8 References • https://www.javatpoint.com/dbms-tutorial • https://www.gartner.com/en/information-technology/glossary/rdbms-relational- database-management-system • https://www.edx.org/learn/sql • https://www.mongodb.com/nosql-explained UNIT - 9: BACKUP FUNDAMENTALS Structure 9.0 Learning Objectives 9.1 Introduction 9.2 Backup architecture 9.3 Different type of Backups 9.4 Different type of Backup tools used in DXC 9.5 Tools used to do Backup monitoring 9.6 How to run different commands in the Tools 9.7 Summary 9.8 Glossary

123 9.9 References 9.0 Learning Objectives After studying this unit, you will be able to: • Interpret Backup architecture • Identify different types of Backups • Understanding Backup Monitoring 9.1 Introduction In Information Technology, a backup, or data backup is a copy of computer data taken and stored elsewhere so that it may be used to restore the original after a data loss event. The verb form, referring to the process of doing so, is \"back up\", whereas the noun and adjective form is \"backup\". Backups can be used to recover data after its loss from data deletion or corruption, or to recover data from an earlier time. Backups provide a simple form of disaster recovery; however not all backup systems are able to reconstitute a computer system or other complex configuration such as a computer cluster, active directory server, or database server. A backup system contains at least one copy of all data considered worth saving. The data storage requirements can be large. An information repository model may be used to provide structure to this storage. There are different types of data storage devices used for copying backups of data that is already in secondary storage onto archive files. There are also different ways these devices can be arranged to provide geographic dispersion, data security, and portability. 9.2 Backup Architecture The main goal of backup is to generate a copy of the data that can be recovered if the primary data fails. Failure can be hardware or software failures, data corruption, or a human-initiated event such as an attack (virus or malware) or data deletion by an accident. The act of backing up your data in the case of a loss and putting up secure mechanisms that allow you to recover your data, as a result, this process is known as data backup and recovery. It copies and preserves data in order to keep it available in the event of data loss or damage. Suppose you have backed up your data, so you can only recover data from a previous point in time. Data backup is a type of disaster recovery that should be included in every plan for disaster recovery. Backup copies

124 should be made on a constant, regular basis for optimal outcomes, since this will reduce the amount of data lost between backups. When recovering from a backup, the longer the gap between backup copies, the greater the risk of data loss. Backup system architecture is the model used by virtually every backup system to facilitate both data backup and restoration of lost or corrupted data. Backup solutions have been following the backup system architecture model as it has evolved since the mid- to-late-1980s. This model evolved with the availability of personal computers, open systems, and high-speed data networks that connected them. It has endured and evolved through the boom of open systems Backup Architecture constitutes of the following four components: • Backup Servers • Backup Clients • Media Servers • Backup Destinations / Targets Backup Architecture Backup Servers

125 A backup server is a type of server that enables the backup of data, files, applications and/or databases on a specialized in-house or remote server. It combines hardware and software technologies that provide backup storage and retrieval services to connected computers, servers or related devices. Backup Clients A backup client is the source computer or node within a backup process that contains the data to be backed up on a destination storage server/location. A backup client is generally the end user’s computer or server in a network enabled backup environment. Backup client can also be referred to the client-end backup software. The notion of a backup client is derived from the client/server architecture, where a client requests and is dependent on the server for any specific service. Similarly, the backup client communicates with a backup server to complete the backup process. Typically, a backup client can be a computer, server, networking hardware or a virtual machine. Usually, to initiate and execute a backup process, the backup client requires client- end backup software, which communicates with the backup server software or the backup server itself. The individual user/administrator can configure the backup client to select the type, location and schedule of data to be backed up. Media Servers A media server delivers video and audio content to clients who request it. The term is used to refer both to a software application that performs this function and a host that’s running the media server software. The most common use of media servers is probably to deliver video on demand (VOD), in which the media server retrieves pre- recorded video content from storage and delivers it across the Internet. In the simplest case, the video file is embedded in a web page and stored on the same host as the other components of the page. But perhaps the most common use case for VOD is subscription services like Netflix, Amazon, and Hulu, where media servers located all over the world deliver video to millions of customers from content delivery networks (CDNs). As discussed further below, there are several techniques for VOD, and a media server needs to support some or all of them depending on the kinds of video players it supports. Live streaming is another increasingly popular use of media- streaming servers. In this case, the media server delivers content as it is generated in real time (or with only a slight delay). Pay-per-view sporting events are examples of live streaming. In contrast to VOD, with live streaming the content provider determines when users view the video (as with broadcast television). Live streams can also be recorded for later access as VOD. Backup Destinations / Targets

126 Backup target is the destination where we put our backup files. In conjunction with backup server, backup target also an important part of backup system which have several forms: Tape Backups: This is the oldest form of backup target but have latest update on LTO-8. VTL: this is the hybrid approach between disks and tape, where we virtually simulate tape drive into a disks-based appliance. Disks: This is the latest approach of backup, where the earlier form have a versioning (LTO-8 for example) exclusivity. Benefits • Restore back up file’s capability • Make storage capacity of backup file 9.3 Different Type of Backups There are mainly three types of backups are there: Full backup, differential backup, and incremental backup. Let’s take a look at each type of backup and its respective pros and cons. Full Backup A full backup is the most complete type of backup where you clone all the selected data. This includes files, folders, SaaS applications, hard drives and more. The highlight of a full backup is the minimal time it requires to restore data. However, since as everything is backed up in one go, it takes longer to backup compared to other types of backups. The other common issue with running full backups is that it overloads storage space. That’s why most businesses tend to run a full backup and occasionally follow it up with differential or incremental backup. This reduces the burden on the storage space, increasing backup speed. Differential Backup A differential backup straddles the line between a full and an incremental backup. This type of backup involves backing up data that was created or changed since the last full backup. To put it simply, a full backup is done initially, and then subsequent backups are run to include all the changes made to the files and folders It lets you restore data faster than full backup since it requires only two backup components: an initial full backup and the latest differential backup. Let’s see how a differential backup works:

127 • Day 1 – Schedule a full backup • Day 2 – Schedule a differential backup. It will cover all the changes that took place between Day 1 and Day 2 • Day 3 – Schedule a differential backup. It will make a copy of all the data that has changed from Day 2 (this includes the full backup on Day 1 + differential backup) and Day 3. Incremental Backup The first backup in an incremental backup is a full backup. The succeeding backups will only store changes that were made to the previous backup. Businesses have more flexibility in spinning these types of backups as often as they want, with only the most recent changes stored. Incremental backup requires space to store only the changes (increments), which allows for lightning-fast backups.

128 Types of Backups

129 Difference Between Full, Differential and Incremental Backups Incremental Full Differential Storage Space High Medium to High Low Backup Speed Slowest Fast Fastest Restoration Fastest Fast Slowest Speed Media Required Most recent backup Most recent full Most recent full backup & most backup & all for Recovery only recent differential incremental backup backups since full backup Duplication Stores a lot of Stores duplicate No duplicate files duplicate files files 9.4 Different Type of Backup Tools Used in Dxc

130 9.5 Tools Used to Do Backup Monitoring Backup Monitoring can be defined as: A software is designed to collect all the alerts generated by backup applications and then compile those alerts into a meaningful report. That way, a backup admin can look at a single backup summary Following are some of the most common backup monitoring tools Backup Monitoring Tools 9.6 How to Run Different Commands in The Tools

131 9.7 Summary • Backup software are computer programs used to perform a backup; they create supplementary exact copies of files, databases or entire computers. • Backup software helps you to create copies of files, database, and hard drive that prevents your data loss. 9.8 Glossary • Primary Storage: This is data that is being protected. Primary storage typically includes entire data partitions, but may also include specific sub-directories or individual files. • Backup Volume: Data that is replicated from Primary Storage to an alternate location. • Backup System: A system that is responsible for coordinating the backup and restore processing and providing Secondary Storage for data. • Network Full: A type of Full Backup that copies Primary Storage on a target system over a network to Secondary Storage. 9.9 References • https://spanning.com/blog/types-of-backup-understanding-full-differential- incremental-backup/ • https://www.n-able.com/features/types-of-backup • https://www.paessler.com/backup_monitoring • https://www.techopedia.com/definition/4229/backup-software

132 UNIT -10: CLOUD BASICS Structure 10.0 Learning Objectives 10.1 Introduction 10.2 Cloud Concepts 10.3 Cloud Computing Models 10.4 What is Azure, AWS, GCP 10.5 Types of Clouds 10.6 Clouds in the market 10.7 Summary 10.8 Glossary 10.9 References 10.0 Learning Objectives After studying this unit, you will be able to • Define Cloud Computing • Identify Cloud Computing Models • Describe Azure, AWS, GCP • List the Types of Clouds • Explore Clouds in the market 10.1 Introduction The digital industry changes almost daily. Technology is growing and changing, and it can be tricky to keep on top of all the new developments and creations. And while cloud computing isn’t necessarily a new development, it’s only been in recent years that companies have started to turn to it. The impact that cloud computing has had on the data industry and end-users in general is difficult to overstate. Many aspects of everyday life have been altered and transformed by this innovative digital solution. From start-ups through to established businesses, cloud computing has helped optimise costs and increase offerings. This is because they no longer require extra hardware and software.

133 But for many, the world of cloud computing remains oblique and confusing. We’ll give you an overview of cloud computing, and show how it can be used in all sorts of domains, from developers through to the world of cyber security. 10.2 Cloud Concepts To put it very simply, cloud computing is the delivery of computing resources as a service. Moving to the cloud basically means that the resources are owned and managed by a third-party provider, instead of the end-user. This means that you don’t need to worry about hard drives, main-frames, or where any of this hardware and software is located. As far as you, the user, is concerned, it’s floating up there in a metaphorical ‘cloud’ which you’re able to access via the internet. This shift from software and hardware that was on-premises to a networked, remote resource has meant that companies no longer have to worry about investing in labour, expertise, or capital for the maintenance of these resources. It has spawned a plethora of cloud computing companies, including key players like AWS and Microsoft Azure. of cloud computing companies, including key players like AWS and Microsoft Azure. Cloud Concepts Cloud computing means that instead of all the computer hardware and software you're using sitting on your desktop, or somewhere inside your company's network, it's provided for you as a service by another company and accessed over the Internet, usually in a completely seamless way. Exactly where the hardware and software are

134 located and how it all works doesn't matter to you, the user it’s just somewhere up in the nebulous \"cloud\" that the Internet represents. Cloud computing is a buzzword that means different things to different people. For some, it's just another way of describing IT (information technology) \"outsourcing\"; others use it to mean any computing service provided over the Internet or a similar network; and some define it as any bought-in computer service you use that sits outside your firewall. Cloud computing means that instead of all the computer hardware and software you're using sitting on your desktop, or somewhere inside your company's network, it's provided for you as a service by another company and accessed over the Internet, usually in a completely seamless way. Exactly where the hardware and software are located and how it all works doesn't matter to you, the user it’s just somewhere up in the nebulous \"cloud\" that the Internet represents. Cloud computing is a buzzword that means different things to different people. For some, it's just another way of describing IT (information technology) \"outsourcing\"; others use it to mean any computing service provided over the Internet or a similar network; and some define it as any bought-in computer service you use that sits outside your firewall. What makes cloud computing different? • It's managed: Most importantly, the service you use is provided by someone else and managed on your behalf. If you're using Google Documents, you don't have to worry about buying umpteen licenses for word-processing software or keeping them up-to-date. Nor do you have to worry about viruses that might affect your computer or about backing up the files you create. Google does all that for you. One basic principle of cloud computing is that you no longer need to worry how the service you're buying is provided: with Web-based services, you simply concentrate on whatever your job is and leave the problem of providing dependable computing to someone else. • It's \"on-demand\": Cloud services are available on-demand and often bought on a \"pay-as-you go\" or subscription basis. So, you typically buy cloud computing the same way you'd buy electricity, telephone services, or Internet access from a utility company. Sometimes cloud computing is free or paid-for in other ways (Hotmail is subsidized by advertising, for example). Just like electricity, you can buy as much or as little of a cloud computing service as you need from one day to the next. That's great if your needs vary unpredictably: it means you don't have to buy your own gigantic computer system and risk have it sitting there doing nothing. • It's public or private: Now we all have PCs on our desks, we're used to having complete control over our computer systems—and complete responsibility for

135 them as well. Cloud computing changes all that. It comes in two basics flavours, public and private, which are the cloud equivalents of the Internet and Intranets. Web-based email and free services like the ones Google provides are the most familiar examples of public clouds. The world's biggest online retailer, Amazon, became the world's largest provider of public cloud computing in early 2006. When it found it was using only a fraction of its huge, global, computing power, it started renting out its spare capacity over the Net through a new entity called Amazon Web Services (AWS). Private cloud computing works in much the same way but you access the resources you use through secure network connections, much like an Intranet. Companies such as Amazon also let you use their publicly accessible cloud to make your own secure private cloud, known as a Virtual Private Cloud (VPC), using virtual private network (VPN) connections. Advantages: • Lower upfront costs and reduced infrastructure costs. • Easy to grow your applications. • Scale up or down at short notice. • Only pay for what you use. • Everything managed under SLAs. Disadvantages • Higher ongoing operating costs. • Greater dependency on service providers. 10.3 Cloud Computing Models There are the following three types of cloud service models - 1. Infrastructure as a Service (IaaS) 2. Platform as a Service (PaaS) 3. Software as a Service (SaaS)

136 Cloud Computing Models Infrastructure as a Service (IaaS) IaaS is also known as Hardware as a Service (HaaS). It is a computing infrastructure managed over the internet. The main advantage of using IaaS is that it helps users to avoid the cost and complexity of purchasing and managing the physical servers. traditional hosting services, IT infrastructure was rented out for a specific period of time, with pre-determined hardware configuration. The client paid for the configuration and time, regardless of the actual use. With the help of the IaaS cloud computing platform layer, clients can dynamically scale the configuration to meet changing requirements and are billed only for the services actually used. IaaS cloud computing platform layer eliminates the need for every organization to maintain the IT infrastructure. IaaS is offered in three models: public, private, and hybrid cloud. The private cloud implies that the infrastructure resides at the customer-premise. In the case of public cloud, it is located at the cloud computing platform vendor's data center, and the hybrid cloud is a combination of the two in which the customer selects the best of both public cloud or private cloud.

137 IaaS provider provides the following services - 1. Compute: Computing as a Service includes virtual central processing units and virtual main memory for the VMs that is provisioned to the end- users. 2. Storage: IaaS provider provides back-end storage for storing files. 3. Network: Network as a Service (NaaS) provides networking components such as routers, switches, and bridges for the VMs. 4. Load balancers: It provides load balancing capability at the infrastructure layer. IaaS services Characteristics of IaaS There are the following characteristics of IaaS - • Resources are available as a service • Services are highly scalable • Dynamic and flexible • GUI and API-based access • Automated administrative tasks Example: DigitalOcean, Linode, Amazon Web Services (AWS), Microsoft Azure, Google Compute Engine (GCE), Rackspace, and Cisco Metacloud.

138 IaaS Top IaaS Providers who are providing IaaS cloud computing platform IaaS Providers Platform as a Service (PaaS) Platform as a Service (PaaS) provides a runtime environment. It allows programmers to easily create, test, run, and deploy web applications. You can purchase these applications from a cloud service provider on a pay-as-per use basis and access them using the Internet connection. In PaaS, back-end scalability is managed by the cloud service provider, so end- users do not need to worry about managing the infrastructure. PaaS includes infrastructure (servers, storage, and networking) and

139 platform (middleware, development tools, database management systems, business intelligence, and more) to support the web application life cycle. Example: Google App Engine, Force.com, Joyent, Azure. PaaS providers provide the Programming languages, Application frameworks, Databases, and other tools: PaaS Services 1. Programming languages: PaaS providers provide various programming languages for the developers to develop the applications. Some popular programming languages provided by PaaS providers are Java, PHP, Ruby, Perl, and Go. 2. Application frameworks: PaaS providers provide application frameworks to easily understand the application development. Some popular application frameworks provided by PaaS providers are Node.js, Drupal, Joomla, WordPress, Spring, Play, Rack, and Zend. 3. Databases: PaaS providers provide various databases such as ClearDB, PostgreSQL, MongoDB, and Redis to communicate with the applications. Popular PaaS Providers

140 PaaS Providers Software as a Service (SaaS) SaaS is also known as \"On-Demand Software\". It is a software distribution model in which services are hosted by a cloud service provider. These services are available to end-users over the internet so, the end-users do not need to install any software on their devices to access these services. There are the following services provided by SaaS providers - • Business Services - SaaS Provider provides various business services to start- up the business. The SaaS business services include ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), billing, and sales. • Document Management - SaaS document management is a software application offered by a third party (SaaS providers) to create, manage, and track electronic documents. Example: Slack, Samepage, Box, and Zoho Forms. • Social Networks - As we all know, social networking sites are used by the general public, so social networking service providers use SaaS for their convenience and handle the general public's information. • Mail Services - To handle the unpredictable number of users and load on e-mail services, many e-mail providers offering their services using SaaS.

141 SaaS Services Popular SaaS Providers SaaS Providers Difference between IaaS, PaaS, and SaaS

142 The below table shows the difference between IaaS, PaaS, and SaaS - IaaS PaaS SaaS It provides a virtual data It provides virtual It provides web software center to store information platforms and tools to and apps to complete create, test, and deploy business tasks. and create platforms for app development, testing, apps. and deployment. It provides access to It provides runtime It provides software as a resources such as virtual environments and service to the end- machines, virtual storage, deployment tools for users. etc. applications. It is used by network It is used by developers. It is used by end users. architects. IaaS provides only PaaS provides SaaS provides Infrastructure. Infrastructure+Platform. Infrastructure+Platform +Software. 10.4 What Is Azure, AWS, GCP Azure :Azure is a cloud computing platform and an online portal that allows you to access and manage cloud services and resources provided by Microsoft. These services and resources include storing your data and transforming it, depending on your requirements. To get access to these resources and services, all you need to have been an active internet connection and the ability to connect to the Azure portal. Things that you should know about Azure: • It was launched on February 1, 2010, significantly later than its main competitor, AWS.

143 • It’s free to start and follows a pay-per-use model, which means you pay only for the services you opt for. • Interestingly, 80 percent of the Fortune 500 companies use Azure services for their cloud computing needs. • Azure supports multiple programming languages, including Java, Node Js, and C#. Another benefit of Azure is the number of data centers it has around the world. There are 42 Azure data centers spread around the globe, which is the highest number of data centers for any cloud platform. Also, Azure is planning to get 12 more data centers, which will increase the number of data centers to 54, shortly. Various Azure Services Azure provides more than 200 services, are divided into 18 categories. These categories include computing, networking, storage, IoT, migration, mobile, analytics, containers, artificial intelligence, and other machine learning, integration, management tools, developer tools, security, databases, DevOps, media identity, and web services. Let’s take a look at some of the major Azure services by category: Compute Services • Virtual Machine-This service enables you to create a virtual machine in Windows, Linux or any other configuration in seconds. • Cloud Service-This service lets you create scalable applications within the cloud. Once the application is deployed, everything, including provisioning, load balancing, and health monitoring, is taken care of by Azure. • Service Fabric-With service fabric, the process of developing a microservice is immensely simplified. Microservice is an application that contains other bundled smaller applications. • Functions-With functions, you can create applications in any programming language. The best part about this service is that you need not worry about hardware requirements while developing applications because Azure takes care of that. All you need to do is provide the code. Why Use Azure? Now that you know more about Azure and the services it provides, you might be interested in exploring the various uses of Azure. • Application development: You can create any web application in Azure. • Testing: After developing an application successfully on the platform, you can test it.

144 • Application hosting: Once the testing is done, Azure can help you host the application. • Create virtual machines: You can create virtual machines in any configuration you want with the help of Azure. Integrate and sync features: Azure lets you integrate and sync virtual devices and directories. Collect and store metrics: Azure lets you collect and store metrics, which can help you find what works. Virtual hard drives: These are extensions of the virtual machines; they provide a huge amount of data storage. AWS The full form of AWS is Amazon Web Services. It is a platform that offers flexible, reliable, scalable, easy-to-use and, cost-effective. AWS is a comprehensive, easy to use computing platform offered Amazon. The platform is developed with a combination of infrastructure as a service (IaaS), platform as a service (PaaS) and packaged software as a service (SaaS) offering. History of AWS • 2002- AWS services launched • 2006- Launched its cloud products • 2012- Holds first customer event • 2015- Reveals revenues achieved of $4.6 billion • 2016- Surpassed $10 billon revenue target • 2016- Release snowball and snowmobile • 2019- Offers nearly 100 cloud services • 2021- AWS comprises over 200 products and services Important AWS Services Amazon Web Services offers a wide range of different business purpose global cloud- based products. The products include storage, databases, analytics, networking, mobile, development tools, enterprise applications, with a pay-as-you-go pricing model.

145 Important AWS Services AWS Compute Services Here, are Cloud Compute Services offered by Amazon: • EC2(Elastic Compute Cloud)- EC2 is a virtual machine in the cloud on which you have OS level control. You can run this cloud server whenever you want. • LightSail- This cloud computing tool automatically deploys and manages the computer, storage, and networking capabilities required to run your applications. • Elastic Beanstalk- The tool offers automated deployment and provisioning of resources like a highly scalable production website. • EKS (Elastic Container Service for Kubernetes)- The tool allows you to Kubernetes on Amazon cloud environment without installation. • AWS Lambda- This AWS service allows you to run functions in the cloud. The tool is a big cost saver for you as you to pay only when your functions execute. Migration Migration services used to transfer data physically between your datacenter and AWS. • DMS (Database Migration Service)– DMS service can be used to migrate on- site databases to AWS. It helps you to migrate from one type of database to another for example, Oracle to MySQL. • SMS (Server Migration Service)– SMS migration services allows you to migrate on-site servers to AWS easily and quickly. • Snowball— Snowball is a small application which allows you to transfer terabytes of data inside and outside of AWS environment.

146 AWS Storage Service • Amazon Glacier- It is an extremely low-cost storage service. It offers secure and fast storage for data archiving and backup. • Amazon Elastic Block Store (EBS)- It provides block-level storage to use with Amazon EC2 instances. Amazon Elastic Block Store volumes are network- attached and remain independent from the life of an instance. • AWS Storage Gateway- This AWS service is connecting on-premises software applications with cloud-based storage. It offers secure integration between the company’s on-premises and AWS’s storage infrastructure. AWS Security Services • IAM (Identity and Access Management)— IAM is a secure cloud security service which helps you to manage users, assign policies, form groups to manage multiple users. • Inspector— It is an agent that you can install on your virtual machines, which reports any security vulnerabilities. • Certificate Manager— The service offers free SSL certificates for your domains that are managed by Route53. • WAF (Web Application Firewall)— WAF security service offers application-level protection and allows you to block SQL injection and helps you to block cross-site scripting attacks. • Cloud Directory— This service allows you to create flexible, cloud-native directories for managing hierarchies of data along multiple dimensions. • KMS (Key Management Service)— It is a managed service. This security service helps you to create and control the encryption keys which allows you to encrypt your data. • Organizations— You can create groups of AWS accounts using this service to manages security and automation settings. • Shield— Shield is managed DDoS (Distributed Denial of Service protection service). It offers safeguards against web applications running on AWS. • Macie— It offers a data visibility security service which helps classify and protect your sensitive critical content. • GuardDuty— It offers threat detection to protect your AWS accounts and workloads. GCP - Google Cloud Platform Google Cloud Platform is a set of cloud computing services that Google offers, which runs on the same infrastructure that Google uses for its end-user products, such as

147 YouTube, Gmail, and more. Google Cloud Platform offers a variety of services, including: • Compute • Network • Machine learning and AI • Big data processing Google Cloud Platform Components Several components and services are an important feature of Google Cloud Platform; let’s dive into each one individually and learn more about what they provide. 1. Compute-The compute service enables computing and hosting the cloud. The various services under this are as follows: • App Engine • Compute Engine • Kubernetes Engine • Cloud Functions • Cloud Run 2. Storage and Database-The storage and database service enables the application to store media files, backups, or other file-like objects. The services include: • Cloud Storage • Cloud SQL • Cloud Bigtable • Cloud Spanner • Cloud Datastore 3. Networking-The networking service enables us to load-balance traffic across resources, create DNS records, and much more. Some of the services include: • VPC • Cloud Load Balancing • Cloud Armor • Cloud CDN • Cloud Interconnect • Cloud DNS • Network Service Tiers

148 4. Big Data -The big data service enables us to process and query big data in the cloud. A few of the included services are the following: • BigQuery • Cloud Dataproc • Cloud Datalab • Cloud Data Studio 5. Developer Tools-The developer tools service includes tools that enable software and application development. • Artifact Registry (beta) • Cloud SDK • Cloud Code • CloudBuild • Cloud Scheduler • Cloud Tasks 6. Identity and Security-This service deals with security and authentication: • Cloud Identity • Cloud IAM • Cloud Data Loss Prevention API • Security Key Enforcement 7. Internet of Things (IoT)-You can leverage GCP to create IoT environments with the following tools: • Cloud IoT Core • Edge TPU • Cloud IoT 8. Cloud AI-Cloud AI comprises services related to machine learning, which also encompasses: • Cloud AutoML • Cloud Natural Language • Cloud Speech-to-Text • Cloud Text-to-Speech • Cloud Translation API • Cloud Vision API • Cloud Video Intelligence 9. Management Tools


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook