Showing posts with label SaaS. Show all posts
Showing posts with label SaaS. Show all posts

Friday, June 10, 2011

A very good example of a Cloud Computing product from Dublin's JLizard

Logentries is an interesting product from Dublin start up JLizard. This product is a brilliant example of SaaS. Users run software hosted in the cloud; they don’t worry about complex set up; they use the software via a thin client; they pay only for what they agree to use. Now, since JLizard have a Dublin connection (it is a spin out company from the Performance Engineering Lab at UCD) we gotta fill you in!

Help me understand my logs?

We all know log files can get verbose very quickly making it difficult to spot patterns and identify what’s important. The Logentries product solves this problem by allowing you define tags for your logfile to identify parts (for example the exceptions). It also allows you to generate a pictorial view of your logfile which highlight your tags. Not only is this a very good way to provide a summary of a logfile, it makes it much easier to spot patterns.

In addition the logentries product allows searching and filtering to make it easier to identify the important parts of the logfile quickly. It also makes it easy to check on-line resources. For example, let’s say you get a DB2 exception with a DB2 error code. Just highlight it, and immediately you can check what Google and Google code can tell you about that obscure error code. All clever stuff. The UI is also very user friendly. A demo is available here.

So what’s the relevance of the Cloud to all this?

Where Logentries gets really interesting is that it is architected in a Cloud as a Saas. So what difference does this make to a tool that can make an ugly logfile look pretty? Well quite a lot really.

Suppose you have customers in disparate places all running your software and generating logfiles on their systems. When problems inevitably happen, you will need to see the logs. This requires co-ordination and some ftp’ing which all mean time. Logentries solves this problem. It provides instant access by using an agent which is deployed in the system listening to what is being logged. Effectively, the agent is a like a smart log4J appender - listening to what is being logged but unobservable to the system which does the logging. The logged information is sent to the Cloud securely in real-time. This means you can view it instantly.

But if my customers are already in the cloud (or I can access their VPN) what difference does this all make?

The point here is that the customer does not have to move to the cloud. Many organisations are reticent about moving their architectures to public cloud or many just don’t have the need. Virtualization suffices. The Logentries agent means the load balancer, the AppServer, byte code and the database data stay where they are because it handles the communication – securely. All that ends up in the cloud is the logfile.

Any more?

Of course. The Logentries product is a very good example of the usefulness of the elasticity provided by a Cloud architecture. If more logs are generated than you anticipated and you need more disk space and upload bandwidth, it’s no problem because the Cloud means if you need more resources you can get them – quickly.

Don’t forget it’s a SaaS!

Logentries is a brilliant example of a SaaS. You pay to use the software, it resides in the cloud, set up and ready to go. You only pay for what you use. It is a brilliant example of the type of products we can expect as the computer industry moves to generation Cloud.

References:

1. http://twitter.com/logentries

2. https://logentries.com/

3. https://logentries.com/blog/

4. http://www.linkedin.com/company/jlizard%27s-logentries

5. http://www.siliconrepublic.com/start-ups/item/21146-jlizard-secures-50-000-inv

Saturday, June 4, 2011

Cloudspeak

Let's have a look at some of the technology lexicon associated with Cloud Architectures.

BigTable
Cloud database offered by Google. It is non-relational and highly scalable.

Cloud computing
There are five principles of cloud computing
1. Resources are pooled
2. Machines are virtualised (achieves maximum utilisation)
3. Elasticity. Users can scale up or down very easily.
4. Virtual machines can be created or deleted automatically
5. Billing is by resource usage rather than by a flat fee

CloudBursting
Cloudbursting concerns hybrid architectures where a classical enterprise architecture can make use of a cloud on demand. This means that part of the architecture can be behind a private firewall and be kept away from the cloud completely but the elastic benefits of the cloud are still possible should periodic or unexpected traffic occur. In the cloud bursting model, the load balancer is not in the cloud. The load balancer decides when to use the cloud based on demand and traffic.

Commodity computers
Commodity computers are cheaper computers used in architectures which do not require the hardware to be highly reliable. This is usually possible when the software has a high degree of failover incorporated. Google's MapReduce framework uses commodity computers and then reassigns tasks if any of the commodity computers fail and do not finish allocated tasks.

Data centre
The physical home which stores all computational resources
Facebook has various data centres in the US see:
http://www.datacenterknowledge.com/the-facebook-data-center-faq/

Infrastructure as a Service (IaaS)
This is the lowest level of service available from a Cloud. In this case, the Cloud provider simple provides virtual machine images with an operating system. Amazon's EC2 is an example of IaaS.

Hypervisor (also called virtual machine manager)
A thin layer of software that allocates hardware resources dynamically and transparently to virtual machines. The term hypervisor was coined as an evolution of the term "supervisor," the software that provided control on earlier hardware.

Platform as a service (PaaS)
Allows users to create their own application using the Cloud provider's platform and tools. This allows rapid development but also means there is a risk of vendor lock-in.

Example: Google's AppEngine, Microsoft's Azure, force.com

SimpleDB
Cloud database offered by Amazon. It is non-relational and highly scalable.

Sharding
Sharding is based on the "shared-nothing" principle. There are no dependencies between different portions of data. To achieve this usually involves denormalising data so that dependent data is stored together. The result is parallel processing of independent data is possible and hence higher concurrency is possible.

Data can also then be partitioned very easily. This is usually done horizontally - splitting up rows into separate partitions. Each individual partition is referred to as a shard or database shard. Partitioning data means the total number of rows in each table is reduced. This reduces index size, which generally improves search performance.

Software as a service (SaaS)
Allows users to run existing online applications.

Example: Salesforce.com, pixlr.com, jaycut.com

Private Cloud
In this model there are no subscribing customers, the computing resources are controlled by a single organisation. But, the resources are still pooled and shared; machines are still virtualised. The difference between the private cloud and standard virtualisation is that in the private cloud model, the virtual machine creation and deletion can be automated and can achieved very quickly and thus elastic scaling characteristics that are associated with cloud computing that can't be with standard virtualisation can be achieved.

References:
1. Google AppEngine http://en.wikipedia.org/wiki/Appengine
2. Google's map reduce http://en.wikipedia.org/wiki/Mapreduce
3. The Cloud at your Service, Jothy Rosenbery, Arthur Mateos (Manning).