As described in an earlier post, another concept for cloud computing architectures is the concept of roles. But what exactly is a role? A role is something that shares common functionality. If we talk about a web shop, this web shop might consist of different roles such as:

  • Product presentation role
  • Shopping cart role
  • Order processing workflow role

The initial question of this is: isn’t this called SOA (Service oriented architectures)? The answer is: no. It is very similar to SOA and basically derives a lot of it’s concepts from SOA but it is rather a “SOA of SOA”. A role might contain one or more services, but a service is covered by exactly one role. Let us think about the shopping cart: an architecture for the shopping cart might hold different services. The role itself would be the shopping cart role with services for:

  • Shopping Cart modification Service
  • Checkout Service
  • Payment Service

A role collects different services and makes it easier for us to understand the way how an application is built. With SOA, we can go more into detail and give a better overview for those that have to implement the platform at the end. Different roles should be able to be scaled independently from each other to achieve great elasticity in the cloud. Furthermore, a role should only be in charge of similar tasks. If we think about the shopping cart again, we can definitely say that services in that role are somewhat similar. The illustration below shows how different roles can be built.

Application Role Separation in the cloud

Application Role Separation in the cloud


With the separation of different roles, it gives us more flexibility to built our platform more reliable. If the platform experiences an outage, less important roles might not receive any compute but the business critical roles will still receive the available resources. Therefore, it is possible to built a matrix on how important each role is and adjust scaling/elasticity to this matrix.
Different Roles are more important for others. In the web shop sample, an important role is the shopping cart since it is the place where the platform generates revenue. Not so important (in the case of an outage) is the comment functionality. If there is a shortage of resources or some serious issues with our platform, the platform can select to disable the comment role and use the now free resources for the shopping cart. However, this approach requires a smart system that can deal with the prioritisation of roles.
Picture Copyright by Moyan Brenn

As described in our previous post on cloud computing architectures, I would like to continue with the architectural approach given with Archimate. Archimate comes with two more layers, the application and the technology layer. The Application layer has some core concepts we can use for cloud computing architectures:

  • Services. Services are provided by our platform and expose and endpoint for other applications or services. This is often implemented by a web service. With a service, data is usually exposed to consumers or operations are made available. A typical service could be a customer service, that exposes customer data.
  • Interfaces. Interfaces are built for interoperability between different services or applications. A service typically provides an interface to the consumers. Consumers use the Interface but the implementation is done at the service side.
  • Application Component. An application component is a software application, that provides some way of interaction, maybe via a service. We could use an application component to retrieve data or so.
  • Data Object. This basically describes an object that contains data. This is typically a row in a database.

Of course, this list is not complete. For a more detailed description please refer to the Archimate Documentation. In the following sample, we will model a very simple application layer case.

Archimate application layer concepts

Archimate application layer concepts


In the above sample, I modelled a very abstract customer service. This service is used by a shopping system. The service itself queries Salesforce.com to retrieve the data via the Salesforce API. Salesforce.com is represented as a application component in our architectural sample. The customer service itself uses some data, which is contained in the customer data object.
The lowest layer for Cloud architectures is the technology layer. In this layer, we can model different instances – or let’s say roles (I will describe the concept of roles later on). This is basically useful when using Infrastructure as a Service (IaaS) or Platform as a Service (PaaS). With the technology layer we model the overall components used by our platform in an infrastructural way. Core concepts are:

  • Nodes. A node is normally an instance in Archimate, e.g. a single server. However, we use the node for a complete role. Imagine Netflix would model each of their servers with an individual node – they might end up having such a complex model that nobody would understand the model. A individual role (such as the front ends) are represented by a Node.
  • System Software. A system software is a software that fulfils elementary tasks. A sample for a system software is the apache web server or PHP, MySQL, … System software usually runs on a node. It is also possible to have more system software installed on a node.
  • Network. Individual Roles communicate with each other – either within the Role or with other roles. Therefore, some type of transportation must be available. This is represented by the network.
  • Communication Path. The communication path is another way of communication. This is not the network itself but it is a more abstract way of communication. Normally, the communication path could be represented by a message queue.

In the following sample, I tried to model a very basic architecture for an IaaS-Platform based on the concepts introduced above.

Archimate technology layer concepts for cloud computing architectures

Archimate technology layer concepts for cloud computing architectures


In the sample above, we have three major roles for our cloud platform architecture: front-ends, database and backend. The Front-end is one or more (if load balanced) virtual instances running Linux. On each instance, there is Apache and PHP installed. This is also called a stack, the shortcut for this stack is “LAP”. Normally, we would also use MySQL, which would be named “LAMP” (Linux, Apache, Mysql, Php). However, since our architecture should be scalable, I decided to outsource the database to another role. This gives us the possibility to scale the front-end and database independently. On the database role, we instal MySQL and some sort of reporting services for business intelligence. These two roles are connected via a LAN. The third role is a backend role. On this role, there is a custom application with OpenXML installed. This backend role basically processes data and returns documents. The communication isn’t done directly but it is done via a message queue. I will also explain this in a later post why I don’t communicate directly.
Picture Copyright by Moyan Brenn

There is the chance to win a ticket for the Big Data Innovation Summit in San Francisco.
How can you win this ticket? Simply register for the Newsletter here and/or like CloudVane on Facebook. Once this is done, send an E-Mail with your name and E-Mail adress to mario.mh@cloudvane.com.
 
[widgets_on_pages id=”sb”]
To be considered, you must not be from a consultancy, vendor or solution providing organisation.
You can read more about the Big Data Innovation Summit here or go to the website.

There is always the question what are the business cases for Big Data applications. People keep on asking me when it makes sense to use Big Data applications. The answer is that there are many business cases for Big Data applications. I’ve tried to categorise Big Data applications based on their major fields. I found 5 fields that are relevant to Big Data applications: Social Media and Big Data, Big Data and Business applications, Smart Applications using Big Data, Big Data in the public sector and Big Data in Healthcare. This categorisation might not be complete at all and I ask you to send me feedback either by posting a comment here or on other media such as Facebook, …

Big Data business cases

Big Data business cases


Let’s first start with Big Data in Healthcare applications. The illustration below shows some typical use-cases for Big Data Healthcare applications.
[widgets_on_pages id=”sb”]
Big Data in Healthcare

Big Data in Healthcare


Big Data is helpful for insurance companies, since they can improve the premium. Insurance companies can analyse data and potential risks and adjust the premium to individuals. However, this is dangerous since it will definitely lead to discussions if this is ok to do or not (and I am not going to answer or discuss this in this blog post). Another huge field is the medical analysis.We already saw the human genome being solved by using large amount of data and distributed algorithms. With Big Data, it is also possible to figure out the problems individuals might get in touch with during their live. Risk management is another sector for Big Data applications. This focuses on regions or governments and not on individuals. This is useful when there are diseases in a specific region.
Now let’s focus on Big Data in public sector applications:
Big Data in Government and public sector

Big Data in Government and public sector


There are already some use-cases available in public sector. A very interesting Big Data case occurred during the 2008 and 2012 US Presidential elections. Nate Silver, a political analyst from the New York Times predicted each state correct (in 2012) on how people will vote. This showed us the importance of Big Data and Analytics in political campaigns. Politicians can optimise their campaign to figure out where they should go in order to win an election. Another use-case is the case of governmental services. There is a high number of data services offered by the US Government providing various datasets. These datasets typically cover various topics such as crime stats and many more. However, this requires Big Data technologies. Something that is well-known and useful for each and everyone is the weather forecast. All of us want to know when it will start to rain, how warm it will get and so on. With a lot of data we can improve this predictions significantly. There is also the possibility to work with environmental analysis and to see how the overall climate changed and how we can expect it to change in the future. Another important use-case for Big Data is about transports. Governments and Administrations can better plan transportation systems based on various datasets. It also gives us the chance to build intelligent traffic systems that react to higher load and starts to redirect traffic to lower utilised roads.
 
Big Data in social media applications

Big Data in social media applications


Another important Big Data field is Social Media. Large companies such as Facebook, Twitter or Linkedin use NoSQL-Databases and the create enormous amounts of data every day. The different sections where Big Data is important for Social Media is Messaging, Sharing, Likes and Interests and Advertising. Messaging was described by Facebook with their Inbox being done with Cassandra (and later on HBase). Users message each other a lot and this data needs to be persisted somewhere. But it is not only done by Facebook. Twitter and other Social Media platforms use messaging. Another field is sharing. This basically indicates tweets and shares on Facebook. Hash-Tags in Tweets can be considered as “interests”. On Facebook, this would represent likes. Social Media platforms also need to make some revenue at some point, which is basically achieved via advertising. Therefore, it is necessary to scan the data and find out what the user is interested in and how to target the user best.
Big Data business applications

Big Data business applications


There are also a lot of traditional fields where Big Data comes into play. We can basically call this “business”. Big Data can be done in financing. By scanning large amounts of financial data, it is possible to adjust financial strategies or improve them. I wrote about “Social Media marketing” earlier in this post. However, there are also a lot of possibilities with traditional marketing and Big Data. By analysing data, marketers can get better insights and possibilities with their buyers. CRM and ERP applications store a lot of data as well and e-commerce systems also require a lot of data. If companies have a lot of data available, they can also introduce a yield management. This would enable companies to better sell their products even on weak shopping days.
Smart Big Data applications

Smart Big Data applications


Last (but not least) I want to draw your attention to another field: the field of Smart Applications. Big Data is not only relevant to traditional applications but there are a number of applications that make our lives smarter. Whenever we talk about Big Data, velocity is mentioned as one of the “V’s” for Big Data. Real-Time Data and applications fulfil this approach. We get a lot of data from sensors and somehow this data needs to be processed. Another use-case for Big Data is fraud protection and transaction monitoring. A lot of business is handled via the internet nowadays and this needs to be checked if there is any fraud going on. Banks offer e-banking systems and transactions have to be monitored before they get processed. Location Services also deal with a lot of data – I recently had a chat with a researcher on location based services and he told me that each device or individual in a location has a cubic complexity – this leads to enormous data! Smart applications can also be used for disaster analysis or even prevention.
This categorisation is far away from being complete. Please leave your comment below to add your thougths and I would be happy to add them. I will also cite your thought. You can also mail me your thought or discuss it on LinkedIn/Twitter/Facebook. If you want to read more about Big Data, please make sure to subscribe to this blog!

I am happy to announce that CloudVane.com is now a Media Partner for the IE Big Data Innovation Summit! The summit takes place in London (30th April and 1st May) and in San Francisco (11th and 12th April).

Big Data Innovation Summit

Driving Business Success Through Big Data Science

  • 80+ industry expert keynote presentations
  • 1000+ Big Data &  Leaders attending
  • Interactive workshops with industry leaders
  • Over 25 hours of networking opportunities included
  • Access to online presentations on-demand post-summit
  • 50+ case studies presented from Fortune 500 companies

Speakers are from companies such as:

  • Nasa
  • Twitter
  • Facebook
  • eBay

You can get more informations about the event on the event website:

Plus, there is the chance of winning a ticket for each of the events. I will post more about this next week. So stay tuned and make sure to subscribe to blog updates 🙂
[widgets_on_pages id=”sb”]