Apr
13
Posted on 13-04-2011
Filed Under (Cloud Computing) by Pravin Ganore

This week I accompanied some discussions in the forum of the  .NET Architects. Among several issues, one in particular caught my attention: Mission Critical projects.

What do you mean by a Mission Critical Project ?

From Wikipedia we have the term Mission Critical refers to any factors ( equipment, process, procedure, software , etc.). it is crucial to the success or completion of an activity or project. It can also refer to a project whose success is vital to the mission of the organization or company’s business.

Speaking of projects, a few examples that I consider as Critical Mission:

  • A system of controlling and collecting data from a project in experimental physics for creating the plasma state, running on Debian OS / Linux, with processes in C using TCP, can be considered mission critical to the lab, because restrictions and risks involved in monitoring and control equipment;
  • A core of negotiations for the financial market, dealing with millions of transactions per day, involving messaging in the database, distributed cache management, memory resources, etc.., With strict requirements for low latency, is also an example of mission-critical projects.
  • A DCS – Distributed Control System Digital – for monitoring and operation of oil burners in boilers to generate steam in a plant, is also a fine example. Steam is a key element in many industrial processes of the petrochemical processing of canned tuna.
  • A high-performance transactional monitor, applying concepts such as ACID, MUTEX, CRITICAL SESSIONS, TRAFFIC LIGHT, fault trees, etc., is another example.
  • A SaaS system  – Software as a Service – on a cloud providers to multi-tenant with Web interfaces, responsible for core billing business is mission critical, with the requirements of availability, responsiveness and performance.
  • An automation system to control via margin boxes, for example, to determine the presence of underground trains and wagons in stretches of the road, opening doors, diversion of extension, motion, etc.. The carousel control itself towards compositions is also critical. What is the safest train? A train stopped a train at the workshop or off-street?
  • A system for accounting and billing of calls on mobile phones, is also critical;
  • In many scenarios, even a system of mail is a mission critical system for the company. Some corporations lose business or simply stop in case of failure in their mailboxes, for most commodities that may seem. Financial impact of the view!;
  • A control system for medical equipment such as scanners, CT scanners, ultrasound devices, readers dopplers in real time (oops!) and more sophisticated medical, are extremely critical in their results.

I believe all the above examples as systems of Mission Critical projects are at different levels and involve risks for the company’s business.

So we can highlight three types of risks involved:

  • Risk Materials;
  • Financial Risks;
  • Risks involving human lives;
  • Some systems may involve Mission Critical requirements for Real Time , ie, windows of performance and response times well defined, which must be respected. In such cases, the number of processes involved, the volume or the number of calls shot should not interfere in the system response.

What is the response time involved in real time (in milliseconds, for example)? Depend on the scenario we are dealing with, is a channel of feeders with news about politics or filter messages for opening safes security systems in banking.

Typically, conditions of real time are involved in mission critical scenarios, but are not mandatory.

My point here is that we cannot consider as Mission Critical project only on the aspect of performance and response time involved. For some industries, other attributes are just as important as the financial impact, availability and other risks.

How critical is the system you’re working today? It involves financial risks, human risks or material risks?

In short, what is the impact of a failure in your system for running the business of your company? Aspects such as disaster recovery, exception handling, fault tree, etc.., Become important in many cases.

Once identified the mission-critical scenario, how to conduct the project?

Some questions are recurring now as:

  • What is the best operating system for each scenario?
  • What is the best programming language for each scenario?
  • What is the best approach patterns for each scenario?
  • What are the restrictions of memory and disk to the OS? Scarce resources? Desktops? Servers?
  • What are the needs of communication with various peripheral devices and mission-critical in this environment?
  • What are the drivers available for OS of choice? We will have to implement these drivers? Are there vendors in the market?
  • What are the latency and network transport stacks supported? TCP is enough? IPv6? Will we need to adopt protocols for Real Time (RTP – Real Time Transport Protocol)? Will we implement custom bindings for message delivery with low latency? Transportation customized?
  • What is the need for real time, parallelism of processes, high performance computing, cluster computing or grid computing?

Not to mention even on issues surrounding it such as:

  • What will the necessary support for the solution?
  • How will the evolution of the software stack over time?
  • What is the profile of trained professionals required for the project?
  • What are the patterns and development guides available?
  • What are the tools for building software, methodologies, documentation, etc..

There are several resources that address these scenarios, either on the platform .NET or even on unmanaged code, with processes in C + + on Windows Server. In the managed environment, resources and service interfaces in WCF – Windows Communication Foundation, messaging with MSMQ, parallelism, synchronization and integration systems with low latency are examples. In all cases, the impact to the company’s business is present.

Soon, we will need new resources available on the Microsoft platform, such as Dublin (for dedicated hosting services and processes on Windows Server), Velocity (for distributed caching and high performance applications)..

Finally, try to identify which scenarios of Mission Critical Projects you are personally involved and how will these develop in the coming time. You will notice that your IT has a direct impact on the success of your company!

(0) Comments    Read More   
Mar
17
Posted on 17-03-2011
Filed Under (Cloud Computing) by Pravin Ganore

Much has been said about Cloud Computing in the IT market, and we can see countless articles and comments about Cloud Computing. It is the theme of trend. But some settings are wrong.

I will present some definitions, terms and key points about this technology, basing myself in books and articles read beyond the day to day in my work. This article is based on a presentation that I use at work as Cloud Computing and the series of data from the Internet.

Cloud Computing is a term that defines the practice via the Internet to access a shared set of computing resources and configurable (e.g., networks, servers, storage, applications and services) that can be quickly configured with minimal preparation, support or interaction with a service provider.

Cloud Computing promotes availability, is composed of five essential characteristics, four models of implementation and a range of service models.

The five key characteristics of cloud computing are:

  • On-demand services – Immediate availability of resources.
  • You are at the same time everywhere.
  • Feature Set
  • Regardless of the location
  • Uniformity

(The example of storage, processing, memory, network bandwidth, and virtual machines)

  1. Fast resizing.
  2. Paid by the exact use of the resource.

The four deployment models of Cloud Services commonly used in the market:

Private Cloud – Cloud Private

  • Company owns property on the cloud.

Community Cloud – Cloud Shared

  • Infrastructure shared to a group / company specific.

Public cloud – Cloud Public

  • Sold to the public in general has a great infrastructure.

Hybrid Cloud – Cloud Hybrid

  • Composed of one or more models cloud

Service Models based on Cloud Computing that are currently offered in the IT market:

  1. Storage-as-a-service
  2. Backup-as-a-service
  3. Database-as-a-service
  4. Information-as-a-service
  5. Process-as-a-service
  6. Application-as-a-service
  7. Platform-as-a-service
  8. Integration-as-a-service
  9. BPM-as-a-service
  10. Security-as-a-service
  11. Anti-virus-as-a-service
  12. Software-as-a-service
  13. Management / governance-as-a-service
  14. Testing-as-a-service
  15. Infrastructure-as-a-service

The three models of service in Cloud Computing Provided further in the World Market:

Cloud Software as a Service (SaaS)

  • Software/Application Sold in the Cloud

Cloud Platform as a Service (PaaS)

  • Application of customer-implemented in the Cloud

Cloud Infrastructure as a Service (IaaS)

  • Sales processing, storage, networking, memory, virtual machines and computing resources in the cloud.
  • To be a service cloud, it must be implemented on top of the cloud infrastructure that has the key characteristics.
(0) Comments    Read More   
Mar
08
Posted on 08-03-2011
Filed Under (Cloud Computing) by Pravin Ganore

Talks about cloud computing and cloud hosting are the trend. Through virtualization, these conversations are becoming a reality in many companies (private clouds) and service providers (public cloud). These patterns formalize certain rules and consider the problems and solutions that arise in the process of reflection on various aspects of cloud infrastructure.

Something very interesting:

Template virtual machine: The easiest way to standardize the deployment of virtual machines in a virtual infrastructure that meets certain levels of security and contains the necessary application. Here we consider the problem of the hierarchy of templates as an enterprise application typically being implemented on a set of virtual machines that must be maintained at a certain level of security and timely patching.

The approach is as follows:

We select the repeat function for applications and centralize them in a cloud on the basis of the standard services – logging, database, messaging, etc. For such services, there should be separate systems that work, of course, in your virtual machines or public clouds.

Pools of virtual machines:

What is now implemented in the VMware View is that, we have a pool of deployed virtual machines that users can retrieve and return to the pool on demand (Check out – Check in). This approach allows access to the requested service or data from maximum speed users.

The factory of virtual machines:

Here we propose a standardized approach for  deploying services in virtual machines – something that VMware is now making vCloud Director and the Request Manager. The user should have a frontend, where it sets the basic required parameters to it, and let the rest be configured automatically or by the IT staff of the company (e.g. cloud services providers).

Of course, there should be an API for unification process between heterogeneous clouds.

Virtual machines that implement the PaaS (VM App). Why would you use someone else’s platform-as-service (PaaS), if you can deploy it yourself in virtual machines based on your IaaS (Infrastructure as a Service)? These are the machines for PaaS and proposes to deploy in the inner cloud. They have a very good scalability and can assist you in building the infrastructure on top of applications.

Virtual Service Machines:

Scaled cloud infrastructure using templates and VM is good, but also follow the concept of centralization of common services (e.g. directory service, or machines that provide storage resources). Here also, an opportunity to simply scale such virtual machines should be given, and they must have the highest availability, since they depend on other machines (workhorses).

The flow of services in virtual machines:

In the cloud infrastructure, where the modular nature of the applications is of great importance,the virtual environment provides much more flexibility than the physical. Therefore, it is good to build cloud services based on already existing services in order to not to carry out work on the deployment and configuration again, especially as templates and snapshots of virtual machines is easy.

Cloud broker:

If you are not able to trade on the exchange, then you hire a broker, who plays on your behalf (and at your expense), but if you plan to use the services of several service providers, you will need a software that can provide connectivity to third-party services and interaction with them in your “virtual” infrastructure (here the word virtual is in quotes because it is the second level of virtuality – that is the union of virtual resources from different providers). For example, a broker can do vMotion from one provider to another based on available resources, quality of service or even a rental value of virtual machines or applications.

By this I mean a service that will provide you information about your global cloud infrastructure. It will monitor vital functions of information systems to provide a comprehensive information about configurations and will be interacting with services on standardized interfaces.

(0) Comments    Read More