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.

Infrastructure Services Model Layers

Infrastructure Cloud Services Model

Cloud API popularity is fueling interest in creating service ecosystems across organizations, teams, and applications.  By externalizing software platform functions from containers, operating systems, and on-premise data center environments, new business opportunities emerge, and development teams gain faster time to market when building scalable business solutions. Is the time right for you to build a cloud ecosystem architecture  based on APIs and supporting rapid application development?

Continue reading

managed cloud

The Flight to Managed Cloud

 

Teams adopting Cloud strive for a perfect balance between high control, easy adoption, and economies of scale.  Both private and public cloud options often do not overcome significant adoption barriers, and hybrid cloud today represents a fatalistic acceptance of sophisticated environment heterogeneity, increased integration burden, and fractured policy enforcement.   Project owners desire a cloud flight path that does not require retraining team members, fulfills complex enterprise requirements, and delivers DevOps best practice with minimal investment. Managed clouds provide a straightforward transition path, cost effective adoption model, and expert implementation assistance.

 

A managed cloud delivers a private, off-premise, bespoke Cloud managed by a third-party service provider.  By blending DevOps practices, policy-driven configuration, expert management, and Cloud infrastructure, a managed cloud environment exhibits high on-demand scalability, flexible self-service, and affordable pay-as-you go pricing.

Continue reading

Apache Stratos

Why Apache Stratos

Apache Stratos  is an Open Platform as a Service (PaaS) framework project supported by the Apache community.  Apache Stratos brings enterprise-ready quality of service, governance, security, and performance to internal private clouds, externally managed clouds, and public clouds. Enterprise organizations, Cloud infrastructure vendors, and Cloud service providers may freely modify, distribute, and deploy Apache Stratos without any intellectual property restrictions, royalties, or fees.

Continue reading

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

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