19
Gearman: a technology for distributed computing Giuseppe Maxia MySQL Community Team Lead Sun Microsystems Wednesday, 07 October 2009 This is a quick talk that introduces technologies in the age of cloud computing

Quick Introduction to Gearman

Embed Size (px)

DESCRIPTION

A lightning talk on Gearman

Citation preview

Page 1: Quick Introduction to Gearman

Gearman: a technology for distributed

computingGiuseppe Maxia

MySQL Community Team Lead Sun Microsystems

Wednesday, 07 October 2009

This is a quick talk that introduces technologies in the age of cloud computing

Page 2: Quick Introduction to Gearman

about me -Giuseppe Maxia a.k.a. The Data Charmer MySQL Community Team Lead Long time hacking with MySQL features Formerly, database consultant, designer, coder. A passion for QA An even greater passion for open source ... and community Passionate blogger

http://datacharmer.blogspot.com Wednesday, 07 October 2009

Page 3: Quick Introduction to Gearman

Mainframe

Mainframe

operating system

hardware

application

terminal

client

USER FRIENDLINESS

0 100

terminal

terminal

terminal

Wednesday, 07 October 2009

We start with a big of history of computing.In the age of mainframes, users could only choose the whole system, or nothing. Hardware, operating system, and software came from the same company. The only priority was towards getting the job done with the minimal expenses. Users needs were negligible

Page 4: Quick Introduction to Gearman

Mini computers

Mainframe

operating system

hardware

application

client

USER FRIENDLINESS

0 100

Mini terminal

terminal

terminal

terminal

Mini

Wednesday, 07 October 2009

Minicomputers added some level of flexibility to the user's experience, although the information system was still (with little exceptions) a matter of choosing a company. The user experience improved a bit, but only for very power users.

Page 5: Quick Introduction to Gearman

Networks

server

hardware

application

client

USER FRIENDLINESS

0 100

personal computer

personal computer

personal computer

personal computer

hardware

operating system

operating system

hardware

Wednesday, 07 October 2009

Networks made a giant leap towards a better user experience. Users were relatively free of choosing their hardware, possibly different operating systems, although there was still only one application for the main business. Yes, users could run their local applications (solitaire started being popular these days :-) ) but still the system was a bit stiff

Page 6: Quick Introduction to Gearman

Web applications

web server

hardware

application

client

USER FRIENDLINESS

0 100

browser

browser

browser

browser

operating system

hardware

operating system

operating system

hardware

operating system

INT

ERN

ET

Wednesday, 07 October 2009

More flexibility came with the adoption of web infrastructures. The most important being freedom from close location. Web applications run quite well regardless of the location of the servers, thanks also to the availability of better hardware and bandwidth. Applications for the main business, though, remain stiff. Mainly, the business data is only accessible through one set of applications, written in one language, and often tied to a specific operating system.

Page 7: Quick Introduction to Gearman

Cloud applications

web server

hardware

application

client

USER FRIENDLINESS

0 100

browser

browser

browser

browser

operating system

hardware

operating system

operating system

hardware

service provider

applicationapplication

service providerservice

providerservice provider IN

TER

NET

Wednesday, 07 October 2009

With cloud computing, the possibilities grow. Not only the clients are free of choosing hardware and operating systems, but they can also share and choose different applications that are available through providers, independently from the operating system and language used by the clients.

Page 8: Quick Introduction to Gearman

Some actors

• memcached

• gearman

Used in production by Facebook and Digg

Wednesday, 07 October 2009

In this quick introduction, we will only mention a few popular systems that are used in popular web sites. Memcached is a distributed cache environment that helps scaling the performance of demanding web sites. Gearman is described in the next slides

Page 9: Quick Introduction to Gearman

MAG A NE R

Wednesday, 07 October 2009

What is it? Pay attention to the spelling

Page 10: Quick Introduction to Gearman

MG A NER!=

Wednesday, 07 October 2009

Not "german"! It is not a language. It's a system, where a server accepts requests from clients, sends the requests to workers and dispatches the answers back.

Page 11: Quick Introduction to Gearman

MAG A NE R ?

Wednesday, 07 October 2009

And what exactly is it? Think about it. It's an anagram. Do you know of somebody who doesn't do anything except telling the workers what to do and then getting a "thank you" from clients?

Page 12: Quick Introduction to Gearman

M A GA N E R

Wednesday, 07 October 2009

of course! it's a MANAGER.

Page 13: Quick Introduction to Gearman

server worker client

taskjob

request

http://gearman.orgWednesday, 07 October 2009

Anyway, in Gearman, there are several concepts.A worker will register with the server the list of tasks that it can perform.A client will request jobs from the server. The server gives tasks to the workers, collects the results, and passed them back to the clients.

Page 14: Quick Introduction to Gearman

Distributed

Wednesday, 07 October 2009

The beauty of Gearman is that everything can be on a different host.

Page 15: Quick Introduction to Gearman

Multiple operating systems

Wednesday, 07 October 2009

There is no difference if one of the actors is using one operating system rather than the same one used by the server. Actually, clients can get specific advantage of this architecture, by requesting tasks that are not available in their operating system but can be easily performed in the OS of one of the workers.

Page 16: Quick Introduction to Gearman

multiple languages

Wednesday, 07 October 2009

Language, the greatest divider in the recent technology, is not an obstacle anymore. Clients can keep coding in the language they are most familiar with, and the workers will use libraries and classes that are only available to specific languages, without need for the clients to be involved with the nitpicks of such complex systems.

Page 17: Quick Introduction to Gearman

freedom of choice

Wednesday, 07 October 2009

Clients can really use several languages, and request tasks that are performed remotely in any language.

Page 18: Quick Introduction to Gearman

redundancy

Wednesday, 07 October 2009

Gearman can be a robust system. It allows redundant servers for high availability. Each worker can register its tasks to several servers, and every client can request a job from more than one server.

Page 19: Quick Introduction to Gearman

More on similar matters

• Italian Perl Workshop, Pisa, 22-Oct-2009

• FOSS.MY, Kuala Lumpur, Malaysia, 25-Oct-2009

• CodeBits, Lisbon, Portugal, 3-4-5-Dec-2009

http://datacharmer.blogspot.com

http://gearman.orgWednesday, 07 October 2009