| Prakash's profilePrakash's - Online Repos...PhotosBlogLists | Help |
|
September 16 SaaS: CapEx, OpEx...If you are dealing something related to SaaS or Cloud computing, then you must have heard these terms very frequently. I wanted to understand it better and found useful information in Wikipedia
Capital expenditures (CAPEX) are expenditures creating future benefits. A capital expenditure is incurred when a business spends money either to buy fixed assets or to add to the value of an existing fixed asset with a useful life that extends beyond the taxable year. Capex are used by a company to acquire or upgrade physical assets such as equipment, property, or industrial buildings. Via: http://en.wikipedia.org/wiki/Capital_expenditure
An Operating expense, operating expenditure, operational expense, operational expenditure or OPEX is an on-going cost for running a product, business, or system. Its counterpart, a capital expenditure (CAPEX), is the cost of developing or providing non-consumable parts for the product or system. For example, the purchase of a photocopier is the CAPEX, and the annual paper and toner cost is the OPEX. For larger systems like businesses, OPEX may also include the cost of workers and facility expenses such as rent and utilities. Via: http://en.wikipedia.org/wiki/Operating_expense
Some useful links CAPEX/OPEX from Project's Manager point of view CAPEX vs OPEX: What is the difference? SaaS decisions: Cap Ex vs Op Ex Accounting for Clouds: Stop Saying CapEx Vs. OpEx
Is Multi-Tenancy a prerequisite for SaaS?I was attending a conference on cloud computing and one of the speakers said, if your application is not multi-tenant, then your application is not SaaS.
Let us look at the SaaS system Characteristics 1. Availability via Web Browser 2. On-demand availability 3. Pay-per usage 4. Minimal or zero IT Demands.
Let us look at what a multi tenant application is all about It’s a model where multiple clients can be supported in one single software instance. This will help the SaaS Provider to support more clients on fewer hardware components; rollouts/updates will be easier. Read this post on Multi Tenant Architecture from MSDN to know more about Multi Tenancy.
My point here is, it depends on the service offerings and the customizations required. Also, it’s about the way you manage your deployments. I am not disagreeing that this may provide the SaaS Provider some cost benefits, which may result in the form of lower services fees to the end users. It’s based on what is really needed.
I was searching in web and found a post on similar lines If you buy SaaS, don't get lured into multi-tenancy marketo-munjo-jumbo and concentrate on features, SLA, integration options and cost. If you are a service provider, then, yes, multi-tenancy is a (potentially very important) internal secret sauce that you can use to augment your economy of scale (at the expense of other aspects) but it is by no means a prerequisite, the right trade-off between multi-tenancy and isolation will depend on a myriad of factors and is often unique to the situation. As mentioned in this blog in the past and in Phil's post today, virtualization can be a very successful way of achieving interesting levels of economy of scale without architecting the application for full multi-tenancy. A high level model that served me well in the past in helping company understand whether they should go multi-tenant or not is the "cost per feature" vs. "cost per tenant" model.
Some useful links http://blogs.zdnet.com/SAAS/?p=251 http://www.saasblogs.com/2009/04/24/is-multi-tenancy-more-important-than-just-cost-savings/ http://blogs.atlassian.com/news/2009/04/when_it_comes_t.html Cloud Application Architectures: Building Applications and Infrastructure in the Cloud
Happy Reading!!! September 15 Cloud Computing: SaaS/PaaS/IaaS;Hybrid/Private/Public... etc... etc..Sendhil forced me to read this book Cloud Application Architectures: Building Applications and Infrastructure in the Cloud 2 months back, which has helped me to understand the term Cloud computing. OK, so what’s Cloud Computing? If you don’t have the time to read and understand, then watch these videos from Youtube.com ü Cloud Computing Plain and Simple
If you like reading, then start it from the Wikipedia page on Cloud Computing Cloud computing is a paradigm of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them.
The concept generally incorporates combinations of the following: ü Infrastructure as a Service (IaaS) ü Platform as a Service (PaaS) ü Software as a Service (SaaS)
Infrastructure as a Service - Traditional computing resources such as servers, storage, and other forms of low level network and hardware resources offered in a virtual, on demand fashion over the Internet. IaaS in a general sense, provides the ability to ’summon’ resources in specific configurations at will and delivers value similar to what one might find in a traditional datacenter. IaaS’ power lies in its massive on-the-fly flexibility and configurability. It can be equated to owning a magic wand that could conjure up a variety of network and server resources in zero time and occupying zero space. Examples include services like GoGrid, Amazon’s EC2 and even S3 (as a storage infrastructure play)
Platform as a Service - A runtime-system and application framework that presents itself as an execution environment and computing platform available over the Internet with the sole purpose of acting as a host to application software. Generally, PaaS focuses on enabling SaaS applications, so many well-expected core concepts, such as abstracting away multi-tenancy issues, are expected of any reasonable PaaS offering. Another key concept for PaaS is that it needs to run semi-arbitrary instructions. If it ain’t runnin’ code, it ain’t a platform! (Now, I’m using ‘code’ loosely here. For example, a drag and drop business process editor could be considered as living on the edge of a platform definition, but a set of marketing tools and human drive services is most definitely not a ‘SaaS Platform’) This beyond the definitions offered in some of the aforementioned articles that PaaS deals with scale issues. Examples include SaaSGrid and Google AppEngine. There are also some higher level PaaS offerings with non-traditional IDEs and coding paradigms like Bungee or Force.com that require (IMHO, unnecessarily) new knowledge, skills, and component frameworks.
Software as a Service - Specialized software functionality delivered over the Internet to users who intend to use the set of delivered functionality to augment or replace real world processes. Generally speaking, users within the SaaS space are aggregated into ‘tenants’, or bodies of 1 or more categorically related users. Think Salesforce.com CRM, or SugarCRM. Via:
Interesting links on SaaS, PaaS and IaaS http://www.wikinvest.com/concept/Cloud_Computing http://www.webguild.org/2008/07/cloud-computing-basics.php http://cloudfeed.net/2008/06/03/defining-saas-paas-iaas-etc/ http://www.zhen.org/zen20/2008/06/03/defining-saas-paas-iaas-etc/
Types of Clouds: Public, Private and Hybrid Public Cloud Public cloud or external cloud describes cloud computing in the traditional mainstream sense, whereby resources are dynamically provisioned on a fine-grained, self-service basis over the Internet, via web applications/web services, from an off-site third-party provider who shares resources and bills on a fine-grained utility computing basis. Hybrid cloud A hybrid cloud environment consisting of multiple internal and/or external providers"will be typical for most enterprises". Private cloud Private cloud and internal cloud are neologisms that some vendors have recently used to describe offerings that emulate cloud computing on private networks. These (typically virtualization automation) products claim to "deliver some benefits of cloud computing without the pitfalls", capitalizing on data security, corporate governance, and reliability concerns. They have been criticized on the basis that users "still have to buy, build, and manage them" and as such do not benefit from lower up-front capital costs and less hands-on management, essentially "[lacking] the economic model that makes cloud computing such an intriguing concept". Via: http://www.circleid.com/posts/20090306_cloud_computing_types_public_hybrid_private/
Interesting links on Public and Private Clouds http://blogs.msdn.com/hanuk/archive/2009/06/15/public-versus-private-clouds.aspx http://natishalom.typepad.com/nati_shaloms_blog/2008/11/private-on-premmis-public-cloud.html
Interoperability and Cloud Computing http://blogs.computerworld.com/cloud_computing_interoperability http://news.cnet.com/8301-13846_3-10344713-62.html
Challenges with Cloud Computing http://java.dzone.com/articles/20-real-life-challenges-cloud-
Azure Services Platform http://download.microsoft.com/download/Azure_Services_Platform.pdf
Happy Reading!!! September 03 Learning Organizations? Introduction
My collection of notes on Learning Organization: Gathered from Various Sources in the Web.
"Organizations where people continually expand their capacity to create the results they truly desire, where new and expansive patterns of thinking are nurtured, where collective aspiration is set free, and where people are continually learning to learn together" (Peter Senge, 1990)
Learning organizations are those that have in place systems, mechanisms and processes, that are used to continually enhance their capabilities and those who work with it or for it, to achieve sustainable objectives - for themselves and the communities in which they participate.
The important points to note about this definition are that learning organizations: · Are adaptive to their external environment · Continually enhance their capability to change/adapt · Develop collective as well as individual learning · Use the results of learning to achieve better results
All organizations learn to one degree or another. It is simply a case of whether the learning is improving the organization or damaging the organization. In some organizations, the spiral of learning is negative: people learn how to avoid nasty managers, how to keep their jobs and how to avoid blame.
Software development abounds with examples of negative learning, whether it is program code that should not be touched or time estimates that are padded – or reduced – to make them more acceptable regardless of the work required. Negative learning can be considered sub-optimal because it creates other problems.
Positive learning occurs when people and teams are learning to improve the way in which they work in an optimal fashion. One example is the points-based work estimates used by agile teams. Over time, teams converge on an understanding of the work value of a point without any rigid definition of what a point is.
Both positive and negative learning can be self-reinforcing. We can think of them as spirals.
Negative learning tends to lead to more negative learning – problems multiply because our solutions create more problems. In a negative spiral, each badly solved problem is not completely solved. Problems are stored up for the future and, most probably, people lose motivation. Future problems come from existing solutions.
Positive learning, on the other hand, leads us a greater understanding and reveals further opportunities for learning and improvement. Problems are solved regularly and people learn more. New problems are uncovered and existing solutions revisited. However, with each improvement overall performance increases and people are more motivated.
A Learning Culture · Future, external orientation these organizations develop understanding of their environment; senior teams take time out to think about the future. Widespread use of external sources and advisors e.g. customers on planning teams. · Free exchange and flow of information - systems are in place to ensure that expertise is available where it is needed; individuals network extensively, crossing organizational boundaries to develop their knowledge and expertise. · Commitment to learning, personal development - support from top management; people at all levels encouraged learning regularly; learning is rewarded. Time to think and learn (understanding, exploring, reflecting, developing) · Valuing people - ideas, creativity and "imaginative capabilities" are stimulated, made use of and developed. Diversity is recognized as strength. Views can be challenged. · Climate of openness and trust - individuals are encouraged to develop ideas, to speak out, to challenge actions. · Learning from experience - learning from mistakes is often more powerful than learning from success. Failure is tolerated, provided lessons are learnt ("learning from fast failure" - Peters).
References: September 02 Dan Pink on the surprising science of motivationSendhil shared this interesting link with me on Motivation. Excellent Presentation.
I liked 2 things in this Video.
1. The Presentation Content. Which talked about the intrinsic motivational factors
2. The Presenter. The way he presented and kept the audience's interest.
Its a short video for 18 minutes. Do not miss it.
Thanks Sendhil for sharing.
Hiring the right people and scalabilityWe all know the importance of having the right people in the projects. We also know that it’s always a challenge to get the right people in the right time.
Tom Demarco, in his famous book Peopleware has given the example of hiring a juggler. It would be ludicrous to think of hiring a juggler without first seeing him perform. That's just common sense.
The truth about interviews is that they are only as good as the person conducting them.
As a hiring manager, look for self-sufficiency. People may write code, but also ensure whether they are self-sufficient. If they are not, you may solve the current problem of hiring people, but eventually after 6 months you will have problems raised by your customers.
Self-sufficiency is a subjective word. Only you as a hiring manager can decide what the scale against you is are going to evaluate this. Can we generalize this? IMHO NO.
What if I do not look for this? I am sure; we all know what it means by drag factor and how it affects the flow of others. Eventually you will have problems with delivery. Delivery directly relates to Customer Satisfaction. Customer Satisfaction directly relates to the Business Growth (Most of the times, if they have money).
When you have people who are not only good at what they do, but like it, productivity soars. Carefully filling a position with the right person also improves employee retention.
Every Organization wants to be a High Performing Organization. You need High Performing Teams to become a High Performing Organization. To build High Performing Teams, you need High Performing Individuals
HIGH-PERFORMING ORGANIZATIONS · Are very clear on where they want to be and the measures of success · Know where they have come from and respect their past · Understand where they are now and where they stand against their competitors HIGH-PERFORMING TEAMS · Have clear and realistic objectives · Share a sense of purpose · Create an open atmosphere · Regularly and objectively review progress · Build on their experiences · Work through difficult times together HIGH-PERFORMING PEOPLE · Feel valued and respected · Know what is required of them at work · Have the tools and resources to do their jobs well · Know how what they do helps the organization to be successful · Are nurtured and developed Reference: Achieving High Performance (Essential Managers Series)
Now, if you look at the root of everything, you need good people. IT REQUIRES A VERY HIGH LEVEL OF ENERGY AND DETERMINATION TO DO THIS.
Some suggestions on building the right hiring process 1. Assess the vacancy/Position what you are looking for 2. Translate the information and get the right Job Description. 3. Be realistic about the skills and attributes you seek 4. Interview at least 3 times and include at least 3-5 people for interviews 5. Focus on the future. 6. Implement a follow-up success measurement 7. Evaluate the process once in 6 months Reference: Best HR Practices in 2008
Now lets us look at the scalability part. We all know that how difficult it is to get good/right people in the right time (War for Talent). We may agree to all this, but in reality we also need business. If we do not have people to fill our billable positions we are losing the business. It’s a very competitive environment and an organization cannot scale.
How to bridge this? Some of my thoughts
There are no shortcuts to any place worth going. J
Happy Reading!!!
|
|
|