Wikipedia

Search results

Wednesday, April 24, 2019

Advantages and Disadvantages Of Cloud Computing

What is Cloud Computing?

Cloud computing is a term referred to storing and accessing data over the internet. It doesn't store any data on the hard disk of your personal computer. In cloud computing, you can access data from a remote server.

Advantages of Cloud Computing

Here, are important benefits for using Cloud computing in your organization:
Cloud Computing

Cost Savings

Cost saving is the biggest benefit of cloud computing. It helps you to save substantial capital cost as it does not need any physical hardware investments. Also, you do not need trained personnel to maintain the hardware. The buying and managing of equipment is done by the cloud service provider.

Strategic edge

Cloud computing offers a competitive edge over your competitors. It helps you to access the latest and applications any time without spending your time and money on installations.

High Speed

Cloud computing allows you to deploy your service quickly in fewer clicks. This faster deployment allows you to get the resources required for your system within fewer minutes.

Back-up and restore data

Once the data is stored in a Cloud, it is easier to get the back-up and recovery of that, which is otherwise very time taking process on-premise.

Automatic Software Integration

In the cloud, software integration is something that occurs automatically. Therefore, you don't need to take additional efforts to customize and integrate your applications as per your preferences.

Reliability

Reliability is one of the biggest pluses of cloud computing. You can always get instantly updated about the changes.

Mobility

Employees who are working on the premises or at the remote locations can easily access all the could services. All they need is an Internet connectivity.

Unlimited storage capacity

The cloud offers almost limitless storage capacity. At any time you can quickly expand your storage capacity with very nominal monthly fees.

Collaboration

The cloud computing platform helps employees who are located in different geographies to collaborate in a highly convenient and secure manner.

Quick Deployment

Last but not least, cloud computing gives you the advantage of rapid deployment. So, when you decide to use the cloud, your entire system can be fully functional in very few minutes. Although, the amount of time taken depends on what kind of technologies are used in your business.

Other Important Benefits

Apart from the above, some other advantages of cloud computing are:
  • On-Demand Self-service
  • Multi-tenancy
  • Offers Resilient Computing
  • Fast and effective virtualization
  • Provide you low-cost software
  • Offers advanced online security
  • Location and Device Independence
  • Always available, and scales automatically to adjust to the increase in demand
  • Allows pay-per-use
  • Web-based control & interfaces
  • API Access available.

Disadvantages of Cloud Computing

Here, are significant challenges of using Cloud Computing:

Performance Can Vary

When you are working in a cloud environment, your application is running on the server which simultaneously provides resources to other businesses. Any greedy behavior or DDOS attack on your tenant could affect the performance of your shared resource.

Technical Issues

Cloud technology is always prone to an outage and other technical issues. Even, the best cloud service provider companies may face this type of trouble despite maintaining high standards of maintenance.

Security Threat in the Cloud

Another drawback while working with cloud computing services is security risk. Before adopting cloud technology, you should be well aware of the fact that you will be sharing all your company's sensitive information to a third-party cloud computing service provider. Hackers might access this information.

Downtime

Downtime should also be considered while working with cloud computing. That's because your cloud provider may face power loss, low internet connectivity, service maintenance, etc.

Internet Connectivity

Good Internet connectivity is a must in cloud computing. You can't access cloud without an internet connection. Moreover, you don't have any other way to gather data from the cloud.

Lower Bandwidth

Many cloud storage service providers limit bandwidth usage of their users. So, in case if your organization surpasses the given allowance, the additional charges could be significantly costly

Lacks of Support

Cloud Computing companies fail to provide proper support to the customers. Moreover, they want their user to depend on FAQs or online help, which can be a tedious job for non-technical persons.

Conclusion:

Despite all the pro and cons, we can't deny the fact that Cloud Computing is the fastest growing part of network-based computing. It offers a great advantage to customers of all sizes: simple users, developers, enterprises and all types of organizations. So, this technology here to stay for a long 

Sunday, April 21, 2019

Basics of Cloud Computing


What is Cloud Computing?

Cloud Computing can be defined as delivering computing power( CPU, RAM, Network Speeds, Storage OS software) a service over a network (usually on the internet) rather than physically having the computing resources at the customer location.
Example: AWS, Azure, Google Cloud
 Cloud Computing for Beginners
Let’s learn Cloud computing with an example -
Whenever you travel through a bus or train, you take a ticket for your destination and hold back to your seat till you reach your destination. Likewise other passengers also takes ticket and travel in the same bus with you and it hardly bothers you where they go. When your stop comes you get off the bus thanking the driver. Cloud computing is just like that bus, carrying data and information for different users and allows to use its service with minimal cost.
In this tutorial, you will learn

Why the Name Cloud?

The term “Cloud” came from a network design that was used by network engineers to represent the location of various network devices and there inter-connection.  The shape of this network design was like a cloud.
 Cloud Computing for Beginners

Why Cloud Computing?

With increase in computer and Mobile user’s, data storage has become a priority in all fields. Large and small scale businesses today thrive on their data & they spent a huge amount of money to maintain this data. It requires a strong IT support and a storage hub. Not all businesses can afford high cost of in-house IT infrastructure and back up support services. For them Cloud Computing is a cheaper solution. Perhaps its efficiency in storing data, computation and less maintenance cost has succeeded to attract even bigger businesses as well.
Cloud computing decreases the hardware and software demand from the user’s side. The only thing that user must be able to run is the cloud computing systems interface software, which can be as simple as Web browser, and the Cloud network takes care of the rest. We all have experienced cloud computing at some instant of time, some of the popular cloud services we have used or we are still using are mail services like gmail, hotmail or yahoo etc.
While accessing e-mail service our data is stored on cloud server and not on our computer. The technology and infrastructure behind the cloud is invisible. It is less important whether cloud services are based on HTTP, XML, Ruby, PHP or other specific technologies as far as it is user friendly and functional. An individual user can connect to cloud system from his/her own devices like desktop, laptop or mobile.
Cloud computing harnesses small business effectively having limited resources, it gives small businesses access to the technologies that previously were out of their reach.  Cloud computing helps small businesses to convert their maintenance cost into profit. Let’s see how?
In an in-house IT server, you have to pay a lot of attention and ensure that there are no flaws into the system so that it runs smoothly. And in case of any technical glitch you are completely responsible; it will seek a lot of attention, time and money for repair. Whereas, in cloud computing, the service provider takes the complete responsibility of the complication and the technical faults.

Benefits of Cloud Computing

The potential for cost saving is the major reason of cloud services adoption by many organizations.  Cloud computing gives the freedom to use services as per the requirement and pay only for what you use. Due to cloud computing it has become possible to run IT operations as a outsourced unit without much in-house resources.
Following are the benefits of cloud computing:
  1. Lower IT infrastructure and computer costs for users
  2. Improved performance
  3. Fewer Maintenance issues
  4. Instant software updates
  5. Improved compatibility between Operating systems
  6. Backup and recovery
  7. Performance and Scalability
  8. Increased storage capacity
  9. Increase data safety

Types of Clouds

There are four different cloud models that you can subscribe according to business needs:
 Cloud Computing for Beginners
  1. Private Cloud: Herecomputing resources are deployed for one particular organization.  This method is more used for intra-business interactions.  Where the computing resources can be governed, owned and operated by the same organization.
  2. Community Cloud: Herecomputing resources are provided for a community and organizations. 
  3. Public Cloud: This type of cloud is used usually for B2C (Business to Consumer) type interactions.  Here the computing resource is owned, governed and operated by government, an academic or business organization. 
  4. Hybrid Cloud: This type of cloud can be used for both type of interactions -  B2B (Business to Business) or B2C ( Business to Consumer). This deployment method is called hybrid cloud as the computing resources are bound together by different clouds.

Cloud Computing Services

The three major Cloud Computing Offerings are
  • Software as a Service (SaaS)
  • Platform as a Service (PaaS)
  • Infrastructure as a Service (IaaS)
Different business use some or all of these components according to their requirement.
 Cloud Computing for Beginners

SaaS (Software as a Service)

SaaS or software as a service is a software distribution model in which applications are hosted by a vendor or service provider and made available to customers over a network (internet). SaaS is becoming an increasingly prevalent delivery model as underlying technologies that supports Service Oriented Architecture (SOA) or Web Services. Through internet this service is available to users anywhere in the world. 
 Cloud Computing for Beginners
Traditionaly, software application needed to be purchased upfront &then installed it onto your computer. SaaS users on the other hand, instead of purchasing the software subscribes to it, usually on monthly basisvia internet.
Anyone who needs an access to a particular piece of software can be subscribe as a user, whether it is one or two people or every thousands of employees in a corporation. SaaS is compatible with all internet enabled devices.
Many important tasks like accounting, sales, invoicing and planning all can be performed using SaaS.

PaaS (Platform as a Service)

Platform as a service, is referred as PaaS, it provides a platform and environment to allow developers to build applications and services. This service is hosted in the cloud and accessed by the users via internet.
To understand in a simple terms, let compare this with painting a picture, where you are provided with paint colors, different paint brushes and paper by your school teacher and you just have to draw a beautiful picture using those tools. 
 Cloud Computing for Beginners
PaaS services are constantly updated & new features added. Software developers, web developers and business can benefit from PaaS. It provides platform to support application development. It includes software support and management services, storage, networking, deploying, testing, collaborating, hosting and maintaining applications.

IaaS (Infrastructure as a Service)

IaaS (Infrastructure As A Service) is one of the fundamental service model of cloud computing alongside PaaS( Platform as a Service). It provides access to computing resources in a virtualized environment “the cloud” on internet.  It provides computing infrastructure like virtual server space, network connections, bandwidth, load balancers and IP addresses. The pool of hardware resource is extracted from multiple servers and networks usually distributed across numerous data centers.  This provides redundancy and reliability to IaaS.
 Cloud Computing for Beginners
IaaS(Infrastructure as a service) is a complete package for computing. For small scale businesses who are looking for cutting cost on IT infrastructure, IaaS is one of the solutions. Annually a lot of money is spent in maintenance and buying new components like hard-drives, network connections, external storage device etc. which a business owner could have saved for other expenses by using IaaS.

What is Cloud Computing Architecture?

Let’s have a look into Cloud Computing and see what Cloud Computing is made of. Cloud computing comprises of two components front end and back end.  Front end consist client part of cloud computing system. It comprise of interfaces and applications that are required to access the cloud computing platform.
 Cloud Computing for Beginners
While back end refers to the cloud itself, it comprises of the resources that are required for cloud computing services. It consists of virtual machines, servers, data storage, security mechanism etc. It is under providers control.
Cloud computing distributes the file system that spreads over multiple hard disks and machines. Data is never stored in one place only and in case one unit fails the other will take over automatically. The user disk space is allocated on the distributed file system, while another important component is algorithm for resource allocation. Cloud computing is a strong distributed environment and it heavily depends upon strong algorithm. 

Virtualization and Cloud Computing

The main enabling technology for Cloud Computing is Virtualization. Virtualization is a partitioning of single physical server into multiple logical servers.  Once the physical server is divided, each logical server behaves like a physical server and can run an operating system and applications independently.  Many popular companies’s like VmWare and Microsoft provide virtualization services, where instead of using your personal PC for storage and computation, you use their virtual server. They are fast, cost-effective and less time consuming.
For software developers and testers virtualization comes very handy, as it allows developer to write code that runs in many different environments and more importantly to test that code.
Virtualization is mainly used for three main purposes 1) Network Virtualization 2) Server Virtualization  3) Storage Virtualization
Network Virtualization:  It is a method of combining the available resources in a network by splitting up the available bandwidth into channels, each of which is independent from the others and each channel is independent of others and can be assigned to a specific server or device in real time.
Storage Virtualization: It is the pooling of physical storage from multiple network storage devices into what appears to be a single storage device that is managed from a central console. Storage virtualization is commonly used in storage area networks (SANs).
Server Virtualization: Server virtualization is the masking of server resources like processors, RAM, operating system etc, from server users. The intention of server virtualization is to increase the resource sharing and reduce the burden and complexity of computation from users.
Virtualization is the key to unlock the Cloud system, what makes virtualization so important for the cloud is that it decouples the software from the hardware. For example, PC’s can use virtual memory to borrow extra memory from the hard disk. Usually hard disk has a lot more space than memory. Although virtual disks are slower than real memory, if managed properly the substitution works perfectly. Likewise, there is software which can imitate an entire computer, which means 1 computer can perform the functions equals to 20 computers.

Grid Computing Vs Cloud Computing

When we switch on the fan or any electric device, we are less concern about the power supply from where it comes and how it is generated. The power supply or electricity that we receives at our home travels through a chain of network, which includes power stations, transformers, power lines and transmission stations. These components together make a ‘Power Grid’. Likewise, ‘Grid Computing’ is an infrastructure that links computing resources such as PCs, servers, workstations and storage elements and provides the mechanism required to access them.
 Cloud Computing for Beginners
Grid Computing is a middle ware to co-ordinate disparate IT resources across a network, allowing them to function as whole. It is more often used in scientific research and in universities for educational purpose. For example, a group of architect students working on a different project requires a specific designing tool and a software for designing purpose but only couple of them got access to this designing tool, the problem is how they can make this tool available to rest of the students. To make available for other students they will put this designing tool on campus network, now the grid will connect all these computers in campus network and allow student to use designing tool required for their project from anywhere.
Cloud computing and Grid computing is often confused, though there functions are almost similar there approach for their functionality is different.  Let see how they operate-
                      Cloud Computing
                           Grid Computing
  • Cloud computing works more as a service provider for utilizing computer resource
  • Grid computing uses the available resource and interconnected computer systems to accomplish a common goal
  • Cloud computing is a centralized model
  • Grid computing is a decentralized model, where the computation could occur over many administrative model
  • Cloud is a collection of computers usually owned by a single party.
  •  
  • A grid is a collection of computers which is owned by a multiple parties in multiple locations and connected together so that users can share the combined power of resources
  • Cloud offers more services all most all the services like web hosting, DB (Data Base) support and much more
  • Grid provides limited services
  • Cloud computing is typically provided within a single organization (eg : Amazon)
  • Grid computing federates the resources located within different organization.

Utility Computing Vs Cloud Computing

In our previous conversation in “Grid Computing” we have seen how electricity is supplied to our house, also we do know that to keep electricity supply we have to pay the bill. Utility Computing is just like that, we use electricity at home as per our requirement and pay the bill accordingly likewise you will use the services for the computing and pay as per the use this is known as ‘Utility computing’. Utility computing is a good source for small scale usage, it can be done in any server environment and requires Cloud Computing.
 Cloud Computing for Beginners
Utility computing is the process of providing service through an on-demand, pay per use billing method.  The customer or client has access to a virtually unlimited supply of computing solutions over a virtual private network or over the internet, which can be sourced and used whenever it’s required.  Based on the concept of utility computing , grid computing, cloud computing and managed IT services are based.
Through utility computing small businesses with limited budget can easily use software like CRM (Customer Relationship Management) without investing heavily on infrastructure to maintain their clientele base.
                       Utility Computing
                         Cloud Computing
  • Utility computing refers to the ability to charge the offered services, and charge customers for exact usage
  • Cloud Computing also works like utility computing, you pay only for what you use but Cloud Computing might be cheaper, as such, Cloud based app can be up and running in days or weeks.
  • Utility computing users want to be in control of the geographical location of the infrastructure
  • In cloud computing, provider is in complete control of cloud computing services and infrastructure
  • Utility computing is more favorable when performance and selection infrastructure is critical
  • Cloud computing is great and easy to use when the selection infrastructure and performance is not critical
  • Utility computing is a good choice for less resource demanding
  • Cloud computing is a good choice for high resource demanding
  • Utility computing refers to a business model
  • Cloud computing refers to the underlying IT architecture

Security concerns for Cloud Computing

While using cloud computing, the major issue that concerns the users is about its security. 
One concern is that cloud providers themselves may have access to customer’s unencrypted data- whether it’s on disk, in memory or transmitted over the network. 
 Cloud Computing for Beginners
Some countries government may decide to search through data without necessarily notifying the data owner, depending on where the data resides, which is not appreciated and is considered as a privacy breach (Example Prism Program by USA).
To provide security for systems, networks and data cloud computing service providers have joined hands with TCG ( Trusted Computing Group) which is non-profit organization which regularly releases a set of specifications to secure hardware, create self-encrypting drives and improve network security.  It protects the data from root kits and malware. 
As computing has expanded to different devices like hard disk drives and mobile phones, TCG has extended the security measures to include these devices. It provides ability to create a unified data protection policy across all clouds.
Some of the trusted cloud services are Amazon, Box.net, Gmail and many others.

Privacy Concern & Cloud Computing

Privacy present a strong barrier for users to adapt into Cloud Computing systems
There are certain measures which can improve privacy in cloud computing.
  1. The administrative staff of the cloud computing service could theoretically monitor the data moving in memory before it is stored in disk.To keep the confidentiality of a data, administrative and legal controls should prevent this from happening.
  2. The other way for increasing the privacy is to keep the data encrypted at the cloud storage site, preventing unauthorized access through the internet; even cloud vendor can’t access the data either.
Reference URL:

Friday, April 19, 2019

MySQL Workbench Tutorial & MySQL Introduction

What is MySQL?

MySQL is an open source relational database.
MySQL is cross platform which means it runs on a number of different platforms such as Windows, Linux, and Mac OS etc. 
In this tutorial, you will learn-
  • What is MySQL?
  • Why use MySQL?
  • Introducing MySQL Workbench
  • MySQL workbench- Modeling and Design tool
  • MySQL workbench - SQL development tool
  • MySQL workbench - Administration tool
  • Install MySQL workbench Guide

Why use MySQL?

There are a number of relational database management systems on the market.
Examples of relational databases include Microsoft SQL Server, Microsoft Access, Oracle, DB2 etc.
One may ask why we would choose MySQL over the other database management systems.
The answer to this question depends on a number of factors. 
Let's look at the strengths of MySQL compared to over relational databases such as SQL Server-
  • MySQL supports multiple storage engines each with its own specifications while other systems like SQL server only support a single storage engine. In order to appreciate this statement, let's look at two of the storage engines supported by MySQL.
  • InnoDB: - its default storage engine provided with MySQL as of version 5.5. InnoDB supports foreign keys for referential integrity and also supports ACID-standard transactions.
  • MyISAM: - it was the default storage engine for MySQL prior to version 5.5. MyISAM lacks support for transactions. Its advantages over InnoDB include simplicity and high performance.
  • MySQL has high performance compared to other relation database systems. This is due to its simplicity in design and support for multiple-storage engines.
  • Cost effective, it's relatively cheaper in terms of cost when compared to other relational databases. In fact, the community edition is free. The commercial edition has a licensing fee which is also cost effective compared to licensing fees for products such as Microsoft SQL Server.
  • Cross platform - MySQL works on many platforms which means it can be deployed on most machines. Other systems such as MS SQL Server only run on the windows platform.
In order to interact with MySQL, you will need a server access tool that can communicate with MySQL server. MySQL supports multiple user connections.

 

Introducing MySQL Workbench

MySQL Workbench Tutorial & MySQL Introduction
MySQLWorkbench is a Visual database designing and modeling access tool for MySQL server relational database. It facilitates creation of new physical data models and modification of existing MySQL databases with reverse/forward engineering and change management functions.

Getting Started MySQL workbench- Modeling and Design tool

  • Models are at the core of most valid and high performance databases. MySQLworkbench has tools that allow developers and database administrators visually create physical database design models that can be easily translated into MySQL databases using forward engineering.
  • MySQL workbench supports creation of multiple models in the same environment.
  • It supports all objects such as tables, views, stored procedures, triggers,  etc. that make up a database.
  • MySQL workbench has a built in model validating utility that reports any issues that might be found to the data modeler.
  • It also allows for different modeling notations and can be extended by using LUA a scripting language.
The figure shown below shows the modeling window for MySQLWorkbench.
MySQL Workbench Tutorial & MySQL Introduction

MySQL workbench - SQL development tool

Structured Query Language (SQL) allows us to manipulate our relational databases. SQL is at the heart of all relational databases.
  • MySQLworkbench, has built in SQL visual editor.
  • The Visual SQL editor allows developers to build, edit and run queries against MySQL server databases. It has utilities for viewing data and exporting it.
  • Its syntax color highlighters help developers easily write and debug SQL statements.
  • Multiple queries can be run and results automatically displayed in different tabs.
  • The queries are also saved in the history panel for later retrieval and running.
The figure shown below shows the SQL development window for MySQL Workbench.
MySQL Workbench Tutorial & MySQL Introduction

MySQL workbench - Administration tool

Server administration plays a critical role in securing the data of the company. The major issues concerning server administration are users' management, server configuration, server logs and many more. Workbench MySQL has the following features that simplify the process of MySQL server administration;
  • User administration - visual utility for managing users that lets database administrators easily add new and remove existing users if need arises, grant and drop privileges and view user profiles.
  • Server configuration - allows for advanced configuration of the server and fine tuning for optimal performance.
  • Database backup and restorations - visual tool for exporting/importing MySQL dump files. MySQL dump files contain SQL scripts for creating databases, tables, views, stored procedures and insertion of data.
  • Server logs - visual tool for viewing MySQL server logs. The logs include error logs, binary logs and InnodDB logs. These logs come in handy when performing diagnosis on the server. The figure shown below shows the modeling window for MySQL Workbench.
The figure shown below shows  the Admin panel for Workbench MySQL .
MySQL Workbench Tutorial & MySQL Introduction

Install MySQL workbench Guide(for Windows)

This is a 2 step process
1)      Install MySQL Community Server
2)      Install MySQL workbench. - You can install the workbench using a zip file or an msi installer (recommended)
Note: You will require Administrator or Power User Privileges to perform installation.
Getting Started
Once you have finished installing above you need to set up MySQL Workbench as shown below -
1.    First step is launching the Workbench MySQL . What you see is called Home Window
MySQL Workbench Tutorial & MySQL Introduction

2. Next you need to create your MySQL Server Connection which contains details about target database server including how to connect to it. Click " +  " in MySQL Workbench Home Window. This will open Setup New Connection . Wizard
MySQL Workbench Tutorial & MySQL Introduction

3. As a beginner you can create a connection for a locally installed server. Click Configure Server Management button in  Setup New Connection window to check the cofiguration of the MySQL server.
MySQL Workbench Tutorial & MySQL Introduction
4. A new window opens named Configure Local Management . Click Next button to continue.
MySQL Workbench Tutorial & MySQL Introduction
5. Next the Wizard will test connections to database. If test fails, go back and correct database connection parameters.5. Next it will open a pop up window asking your root password to test your connection with the local mysql server instance. The password is the one you set during installation of MySQL Workbench. Enter your password and press OK
MySQL Workbench Tutorial & MySQL Introduction
6. Next the Wizard will test connections to database. If test fails, go back and correct database connection parameters. Else if all tests are sucessful click Next to continue.
MySQL Workbench Tutorial & MySQL Introduction
7. After that a new wizard will open about Local Service Management - It lets you switch between multiple mysql severs installed on one machines. As a beginner you can bypass this and click Next to continue.
MySQL Workbench Tutorial & MySQL Introduction
8. The Wizard will then check ability to access MySQL Server Configuration File, and test start/stop commands.
MySQL Workbench Tutorial & MySQL Introduction
9. Next you can review current configurations. After reviewing the configurations, Click Finish to finsh server cofiguration
MySQL Workbench Tutorial & MySQL Introduction
10. Next Step is to setup a connection, which can be used to connect to server. If you have not created a connection already, you can use the default values given. Click on Test Connection [ 2 ] after entering the Connection Name [ 1 ].
MySQL Workbench Tutorial & MySQL Introduction
11. A new dialog box will open asking you password to root/selected user. If your MySQL root user has a password, you can enter that using Store in Vault feature. Click OK.
MySQL Workbench Tutorial & MySQL Introduction
If the entered password for the user is correct then the following screen will show. Click on both OKbuttons and you will be good to go.
MySQL Workbench Tutorial & MySQL Introduction
A new instance is shown in the homepage
MySQL Workbench Tutorial & MySQL Introduction
Double click and start querying.

Summary

  • MySQL is an open source relational database that is cross platform.
  • MySQL supports multiple storage engines which greatly improve the server performance tuning and flexibility. Prior to version 5.5, the default storage engine was MyISAM which lacked support for transactions, as of version 5.5; the default storage engine is InnoDB which supports transactions and foreign keys.
  • MySQL server can be administered using a number of server access mysql tools which include both commercial and open source products. Popular examples include;
  • phpMyAdmin - cross platform web based open source server access tool
  • SQLYog - targeted at the windows platform, desktop commercial server access tool
  • MySQL workbench - cross platform open source server access tool.
  • MySQL workbench is an integrated development environment for MySQL server. It has utilities for database modeling and designing, SQL development and server administration. 
References: