Category Archives: Cloud Architecture

Cloud architecture encompasses the design styles, development patterns, and run-time components that maximize Cloud characteristics and decrease team effort and special skills.

Collaborative

ALM PaaS Bridges the Dev Gap

ALM PaaS bridges the development gap between corporate IT and distributed outsourced development activities.  The traditional gap impedes system integration, user acceptance testing, visibility into project progress, and corporate governance. Stephen Withers describes an often true, and ineffective current ALM state:

” the CIO does not have visibility of the overall project: this is a major problem.”

A top CIO desire is to obtain portfolio-wide visibility into development velocity, operational efficiency, and application usage.

What solution or best practices do you see solving balkanized, silo development tooling, governance, workflow, and status reporting across distributed outsourced teams?  Does your desired solution integrate with tools a CIO’s outsourced organizations  are using?

Continue reading

Reducing Cloud Computing Cost

Warning: Cloud projects may cost more than terrestrial projects. Cloud projects may not reduce IT cost.    Unless, you carefully consider appropriate Cloud usage scenarios, build Cloud-aware solutions, and choose Cloud-native platforms.

Jared Wray (@jaredwray) has obviously been thinking about Cloud’s value proposition, market awareness, and end-user adoption scenarios. Jared has penned an excellent post on Cloud computings hidden costs that delivers in-depth analysis on Cloud computing dynamics.

Many news writers have documented cloud’s hidden cost, for example Beth Pariseau (@pariseauTT) at SeachCloudCOmputing documenting cloud sticker shock.    Beth outlines a key areas to watch:

  • Server instance performance
  • Provisioning cost
  • Data storage cost
  • Distaster recovery,  monitoring, and network bandwidth

Why Be Concerned About Cloud Cost?

Archana Venkatraman (@archanatweets) posts in ComputerWeekly that a

global survey of CIOs into attitudes and concerns relating to cloud computing has revealed that almost 80% are concerned about the hidden costs associated with cloud computing.

Adding to the conversation, Joe Mckendrick (@joemckendrick) details specific points of concern:

  • Poor end user experience due to performance bottlenecks (64 percent). This goes right to the customer end-user experience as well, since e-commerce is the leading cloud application area, the survey finds  – 78 percent of respondents are already using cloud resources to support e-commerce.
  • The impact of poor performance on brand perception and customer loyalty (51 percent).
  • Loss of revenue due to poor availability, performance, or troubleshooting cloud services (44 percent).
  • Increased costs of resolving problems in a more complex environment (35 percent).
  • Increased effort required to manage vendors and service level agreements (23 percent).

Correlating hidden cost fears,  IBM’s recent admission that  Cloud Foundry demand is “in its infancy” (reported by Joe Curtis  @JoeCurtis_CBR), and a 2013 summer story of lagging Enterprise PaaS adoption, many  IT professionals may predict that

PaaS may be poised to enter the trough of disillusionment.

The Smart Cloud Path Forward

Fortunately, smart tech leaders are presenting a viable path forward.  A path that jumps over the disillusionment gulf.  I especially appreciate Jared’s statement,

most savings come when users take advantage of the platform to optimize their workloads. 

When workloads and the platform may become Cloud-aware, Cloud solutions can live up to the hype.  Successful teams optimize code, configuration, and policy to capitalize on Cloud-native architecture and capabilities.   Rather than a ‘Bigger in Texas’ design mentality, a frugal, just-enough at the right time, design must pervade the Cloud solution.   I would like to see the industry move towards benchmarking how multi-tenant design effects ‘tenant density’ (tenant count divided by granularity), scaling time lag, and solution cost.

Reducing Cloud Computing Cost: Recommended Reading

PaaS TCO and PaaS ROI: hared multi-tenant container PaaS 

Building Multi-Tenant SaaS Applications 

Cloud-Native PaaS Architecture

Hidden Cost of Cloud Computing  (Joe Mckendrick)

Where is the Rub: Cloud Computings Hidden Costs (Jared Wray)

 

Reshape Reference Architecture: Why, What, How

The reference architectures of the past (i.e. client-server, web application, SOA services) are not adequately addressing current business demand, use cases, and expectations.  IT must update  reference architecture models to remain relevant and effective.

Often outdated processes, tools, and skills inhibit IT’s ability to be a strategic enabler and gain an IT business edge.  By adopting a new, Responsive IT delivery model based on an updated reference architecture, teams can foster effective business collaboration, responsive iterations, streamlined processes, and no wait states; enabling business to operate at the speed of now.

What reference architecture goal-state is required to meet business demands and expectations?

A reference architecture should enable internal and external business service consumers, address future IT strategies, and transition current IT infrastructure and team skill sets.   Do you have a seven step plan describing how to reshape your reference architecture?

A three part slideshare series outlines why reshape reference architecture, what reference architecture models make sense today, and how to reshape reference architecture.

Continue reading

Gartner recognizes Cloud Architecture as a trend

Do you have a distinct architecture for Cloud?   Gartner recently announced Cloud Architecture as a top 10 technology trend for 2014.     My blog has a section devoted to Cloud Architecture, where  you can learn about the architectural difference between:

and how Cloud Characteristics, Cloud Dimensions, and New IT drivers influence your PaaS form factor evaluation, change application server requirements, and drive a new cloud architecture reference model.   Developers may choose to  build SaaS applications based on innovative multi-tenant frameworks.

Cloud Architecture Next Steps

  1. Take a look at the 30+ posts to better understand the domain space
  2. Define your Cloud Architecture goals and challenges
  3. Perform a gap analysis between your current, terrestrial architecture , and the cloud components required to reduce challenges and meet your goals
  4. Evaluate vendor options
  5. Perform a Cloud Architecture proof of concept (POC)
  6. and let me know how you are defining Cloud Architecture.

 

 

 

public cloud, private cloud, and fuzzy cloud demarcation

Public/private and internal/external are two separate dimensions.  Public, private, or community attributes specify how widely the cloud service is shared; a sharing dimension.  Internal or external denote the consumer’s view of the Cloud’s service interface.  The view is associated with a consumer’s responsibility for service development, operations, and management; a responsibility dimension.  A third dimension, on-premise or outsourced, describes where the service assets are located; a location dimension.  Many architects conflate the three dimensions. NIST has recently published a Cloud Computing Reference Architecture which spends considerable prose disentangling the concepts.  According to NIST:

A private cloud gives a single Cloud Consumer organization the exclusive access to and usage of the infrastructure and computational resources. It may be managed either by the Cloud Consumer organization or by a third party, and may be hosted on the organization’s premises (i.e. on-site private clouds) or outsourced to a hosting company (i.e. outsourced private clouds).

 

Let’s run through three quick use cases describing public, private, and community:

Continue reading

PaaS Frameworks, PaaS Middleware, and DevOps PaaS

A teams review PaaS Framework and PaaS middleware offerings, understanding goals, benefits, and capabilities will influence PaaS project success.   Johan over at Mendix has recently defined a consistent and coherent taxonomy, and  I have been comparing his PaaS view with how WSO2 differentiates our Private Enterprise PaaS offerings.

Continue reading

Creating a SaaS App with the Multi-Tenant Carbon Framework – Step 1

When using traditional application servers and integration middleware, developing a multi-tenant SaaS application that meets SaaS requirements (i.e. personalization, tenant dimensions, self-service, resource optimization, and data aggregation) is a non-trivial exercise.  The prior blog post in this SaaS series describes the requirements and constraints for SaaS applications.

Because WSO2 Carbon based middleware servers contain a tenancy framework, development teams may rapidly migrate single-tenant web applications into multi-tenant SaaS applications.  WSO2 Carbon creates a multi-tenant environment inside the middleware servers (i.e. application server, integration server, Enterprise Service Bus) and delivers unparalleled tenant density.   For more information on the cost and effort savings, read the multi-tenant, shared container PaaS white paper.

The WSO2 Carbon framework creates tenant partitions, registers tenant specific applications, provides tenant administration tools, and holds run-time tenant context.

In this blog post series, we will deploy a tenant-aware SaaS application on the WSO2 Application Server 5.1, illustrate how to acquire the Carbon Context object, and demonstrate multi-tenancy in action.  The WSO2 Application Server is based on Apache Tomcat, and extends Tomcat with enterprise security, logging, management, clustering, and multi-tenancy; turning the open source Apache Tomcat project into Enterprise, Cloud-Native Tomcat++

 

 Step 1 – Deploy Carbon and Acquire Carbon Context

The SaaS application demonstrates tenant-specific framework objects, illustrates tenancy isolation, and reviews the Java Tenancy API within WSO2 Carbon.   The application code is available from GitHub at https://github.com/karux/CarbonSaaSTest.git

The Carbon Context object holds registry, cache, queue, user realm, and role based access control (RBAC) information for each tenant run-time context. Each SaaS application can use a Carbon platform API to access context details and personalize the application experience.

 

This blog tutorial and example code demonstrates the following getting started concepts and steps:

  • Getting Started #1 – Defining a Tenancy Dimension Model
    • Step 0: Deploy the WSO2 Application Server and start server
    • Step 1:  Log into the Carbon administration console as the super-administrator
  • Getting Started #2 – Provisioning SaaS Applications
    • Step 0: Compile the CarbonSaaSTest Application
    • Step 1: Provision a Global Tenant Scope SaaS Application
  • Getting Started #3 – Acquire Tenant Context

Continue reading

Building Multi-tenant SaaS Applications

Multi-tenant SaaS applications deliver a personalized client experience while maximizing performance and efficiency.   Many teams are challenged by the specialized knowledge required to create a SaaS application on a legacy Java platform.  Creating SaaS applications requires detailed knowledge of multi-tenancy, contextual personalization, declarative programming, and infrastructure scaling.  The WSO2 Carbon platform contains unique Cloud-Native frameworks that decrease development challenges when building multi-tenant SaaS applications.

Continue reading

Stratos Cloud Native PaaS Reloaded

WSO2 Stratos 2.0 reloads the definition of Cloud Native PaaS.   With Stratos 2.0, IT teams can:

  1. Move all their applications to the Cloud by plugging non-Cloud-aware servers and frameworks onto a PaaS Cloud-enablement framework. The fully extensible cartridge model allows new services, languages and frameworks, and runtime containers to be plugged in to the PaaS framework.
  2. Achieve Cloud scale for PHP applications, MySQL databases, and Tomcat hosted web applications.
  3. Deliver a single PaaS deployment over multiple IaaS environment (hybrid cloud).  WSO2 Stratos supports popular IaaS providers (vmWare, EC2, OpenStack, CloudStack, Rackspace, Eucalyptus) via the Apache jclouds project and Puppet based deployers.
  4. Improve TCO by lowering and optimizing run-time cost by moving applications to VM-based IaaS or choosing a lightweight Linux Container (LXC) deployment model that optimizes resource consumption and minimizes application infrastructure footprint.

 

Additionally,  the Stratos bits have been officially accepted as an Apache incubator project.

Cloud Native Paas Recommended Reading

Cloud Native PaaS is for Real – Available Today

 

Cloud-aware applications and PaaS architecture

Apache Stratos Brings Cloud Native PaaS to Apache

PaaS Outlook for 2013

 

 

 

 

Cloud Native Private PaaS is for real – Available Today!

quote of the day from #Gartner’s Eric Knipp about Cloud Native Private PaaS:

“Do you wait around until 2015 (or later) for Java EE 8 to bring you the cloudy features you’re looking for, now that we know for sure that Java EE 7 won’t have any? Or, do you just wait for your preferred IT megavendor to get around to offering you a for-real, multitenant, cloud native Private PaaS that goes beyond simply slapping a pre-built middleware stack onto a virtual machine? ”

The tongue in cheek statements imply that a best-of-breed IT vendor can offer you a Cloud Native Private PaaS alternative today.   Check out the Cloud Native Private PaaS architecture underlying WSO2 Stratos – available today.

Cloud Native Private PaaS

 

Recommended Reading for Cloud Native Private PaaS

Cloud Native Private PaaS Architecture

Cloud aware applications and PaaS Architecture

Cloud Native PaaS or Cloud Washed PaaS