Microservices Expo Authors: Liz McMillan, Elizabeth White, Yeshim Deniz, Ian Khan, Jason Bloomberg

Related Topics: @CloudExpo, Java IoT, Microservices Expo, Linux Containers, @BigDataExpo, SDN Journal

@CloudExpo: Blog Post

How Are You Architecting for the Cloud – Science, Art or by Accident?

Good architecture is a successful combination of science and art

When was the last time you had a technology conversation that did not include the word ‘cloud' in it? Gartner predicts that by 2016 the bulk of IT spend will be for the cloud. Gartner also believes that ‘nearly half of large enterprises will have hybrid cloud deployments by the end of 2017.' Cloud technology continues to evolve at breakneck speeds and business wants to move to the cloud equally as fast. This presents significant challenges for technologists who need ensure the business doesn't go crashing into a brick wall while moving at these speeds.

Don't Let It Be by Accident
I will lead with a personal bias. I have been brought into too many clients over the years to help solve problems, only to discover that the root cause was accidental architecture. You may ask, how does one create an architecture by accident? In Beware the Accidental Cloud Architecture, Bruce Tierney (a director for Oracle's SOA Suite), describes it quite well. He discusses how many lines-of-business (LOB) will outsource applications and installations to a variety of SaaS vendors. This is frequently done bypassing the IT organization entirely.

The net result is the "evolution of an architecture that was not planned but grew ad-hoc by incrementally adding one new connection after another to a cloud vendor into a new ‘accidental cloud architecture.'" The challenge becomes trying to integrate these ‘siloed' applications from different vendors with different environments and tools. The integration becomes ad-hoc. The costs inherent in dealing with the results of an accidental architecture far outweigh any perceived benefits.

The perception for many LOB is that by going to the cloud they no longer need IT or architecture. In an earlier blog, Why do I need an architect? I discussed the on-again / off-again viewpoints on the need for architecture. The client I mentioned in that blog was among those that suffered from an accidental architecture. As many have heard me say before, no technology negates the need for proper planning and design. Someone must always be looking at the bigger picture, or failure will surely follow.

If we can agree we don't want our architectures to be accidental, we can now discuss a long-standing debate: Is architecture a science or an art?

The Argument for Science
At this point, you may be saying ‘of course architecture is a science, it's technology.' First, I would argue that architecture is more than just technology. Technology is a key component that architecture addresses, but architecture's key driver is the business, and includes process, management and discipline as well as just technology. At the risk of sounding clichéd, whether it's a science or not also depends on how you define science. Tom Graves recently wrote a blog discussing this subject, The Science of Enterprise Architecture. In it he puts forth a very compelling argument of ‘science as portrayed' vs ‘science as practiced,' the inherent differences, and how they apply to architecture.

For those expecting architecture to be ‘science as portrayed,' there is an implied absolute certainty and control that is not realistically achievable. ‘Science as practiced' is more real-world and applicable in architecture. Every solution and architecture is always a series of trade-offs. There are no perfect solutions that you can be absolutely certain about. You can achieve a level of effective certainty and control. These are the tradeoffs that are made during design. By treating architecture as a ‘science as practiced,' you will achieve much higher levels of control and certainty than from the accidental architectures.

One must be sure to set the proper expectations. Absolute certainty will not be achieved. Effective certainty can be achieved. It provides significant benefits over accidental architectures where there will be no certainty of outcomes.

The Argument for Art
I will admit another personal bias here. There is a part of me that views architecture (and technology in general) as a form of creativity and art. How many of us, when explaining or working on an architecture with a group, gravitate to a white board and start drawing? Recently I was having this discussion on Twitter with several folks. One of them, Ruth Malan pointed me to an interesting article in the NY Times, Architecture and the lost art of drawing. The article is about building architecture, but I found it very relevant to technology architecture as well.

There was one quote in particular that struck me, ‘Drawings are not just end products: they are part of the thought process of architectural design. Drawings express the interaction of our minds, eyes and hands.' I find that statement true of technology architecture as well. Architecting systems is a science, it is a discipline, and it is a process. That process is a creative one. This may sound counter to it being a science and discipline, but I think it's part of the balance that helps produce quality systems. When trying to solve complex problems, how often have you been encouraged ‘to think outside the box,' or to be creative? That to me is asking for the artist in you to emerge.

Are Your Architectures Science, Art or Accidental?
I sincerely hope we can all agree - no one wants accidental architectures. As you can tell, I view good architecture as a successful combination of science and art. In the ever-growing and expanding cloud universe, I find the balance even more critical. Science as practiced gives us the level of effective certainty needed to provide robust and stable systems. Creativity enables us to think outside the box, providing us with the opportunity to make leaps in leveraging technology to the benefit of the business that might not have been achieved otherwise.

More Stories By Ed Featherston

Ed Featherston is a director/senior enterprise architect at Collaborative Consulting. He brings 35 years of technology experience in designing, building, and implementing large complex solutions. He has significant expertise in systems integration, Internet/intranet, and cloud technologies. He has delivered projects in various industries, including financial services, pharmacy, government and retail.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.

@MicroservicesExpo Stories
Without lifecycle traceability and visibility across the tool chain, stakeholders from Planning-to-Ops have limited insight and answers to who, what, when, why and how across the DevOps lifecycle. This impacts the ability to deliver high quality software at the needed velocity to drive positive business outcomes. In his general session at @DevOpsSummit at 19th Cloud Expo, Eric Robertson, General Manager at CollabNet, will discuss how customers are able to achieve a level of transparency that e...
@DevOpsSummit has been named the ‘Top DevOps Influencer' by iTrend. iTrend processes millions of conversations, tweets, interactions, news articles, press releases, blog posts - and extract meaning form them and analyzes mobile and desktop software platforms used to communicate, various metadata (such as geo location), and automation tools. In overall placement, @DevOpsSummit ranked as the number one ‘DevOps Influencer' followed by @CloudExpo at third, and @MicroservicesE at 24th.
24Notion is full-service global creative digital marketing, technology and lifestyle agency that combines strategic ideas with customized tactical execution. With a broad understand of the art of traditional marketing, new media, communications and social influence, 24Notion uniquely understands how to connect your brand strategy with the right consumer. 24Notion ranked #12 on Corporate Social Responsibility - Book of List.
In his keynote at 19th Cloud Expo, Sheng Liang, co-founder and CEO of Rancher Labs, will discuss the technological advances and new business opportunities created by the rapid adoption of containers. With the success of Amazon Web Services (AWS) and various open source technologies used to build private clouds, cloud computing has become an essential component of IT strategy. However, users continue to face challenges in implementing clouds, as older technologies evolve and newer ones like Docke...
The reason I believe digital transformation is not only more than a fad, but is actually a life-or-death imperative for every business and IT executive on the planet is simple: there will be no place for an “industrial enterprise” in a digital world. Transformation, by definition, is a metamorphosis from one state to another, wholly new state. As such, a true digital transformation must be the act of transforming an industrial-era organization into something wholly different – the Digital Enter...
Just over a week ago I received a long and loud sustained applause for a presentation I delivered at this year’s Cloud Expo in Santa Clara. I was extremely pleased with the turnout and had some very good conversations with many of the attendees. Over the next few days I had many more meaningful conversations and was not only happy with the results but also learned a few new things. Here is everything I learned in those three days distilled into three short points.
In his session at 19th Cloud Expo, Claude Remillard, Principal Program Manager in Developer Division at Microsoft, will contrast how his team used config as code and immutable patterns for continuous delivery of microservices and apps to the cloud. He will show the immutable patterns helps developers do away with most of the complexity of config as code-enabling scenarios such as rollback, zero downtime upgrades with far greater simplicity. He will also have live demos of building immutable pipe...
Application transformation and DevOps practices are two sides of the same coin. Enterprises that want to capture value faster, need to deliver value faster – time value of money principle. To do that enterprises need to build cloud-native apps as microservices by empowering teams to build, ship, and run in production. In his session at @DevOpsSummit at 19th Cloud Expo, Neil Gehani, senior product manager at HPE, will discuss what every business should plan for how to structure their teams to d...
When we talk about the impact of BYOD and BYOA and the Internet of Things, we often focus on the impact on data center architectures. That's because there will be an increasing need for authentication, for access control, for security, for application delivery as the number of potential endpoints (clients, devices, things) increases. That means scale in the data center. What we gloss over, what we skip, is that before any of these "things" ever makes a request to access an application it had to...
SYS-CON Events announced today that Transparent Cloud Computing (T-Cloud) Consortium will exhibit at the 19th International Cloud Expo®, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. The Transparent Cloud Computing Consortium (T-Cloud Consortium) will conduct research activities into changes in the computing model as a result of collaboration between "device" and "cloud" and the creation of new value and markets through organic data proces...
In many organizations governance is still practiced by phase or stage gate peer review, and Agile projects are forced to accommodate, which leads to WaterScrumFall or worse. But governance criteria and policies are often very weak anyway, out of date or non-existent. Consequently governance is frequently a matter of opinion and experience, highly dependent upon the experience of individual reviewers. As we all know, a basic principle of Agile methods is delegation of responsibility, and ideally ...
The evolution of JavaScript and HTML 5 to support a genuine component based framework (Web Components) with the necessary tools to deliver something close to a native experience including genuine realtime networking (UDP using WebRTC). HTML5 is evolving to offer built in templating support, the ability to watch objects (which will speed up Angular) and Web Components (which offer Angular Directives). The native level support will offer a massive performance boost to frameworks having to fake all...
Today every business relies on software to drive the innovation necessary for a competitive edge in the Application Economy. This is why collaboration between development and operations, or DevOps, has become IT’s number one priority. Whether you are in Dev or Ops, understanding how to implement a DevOps strategy can deliver faster development cycles, improved software quality, reduced deployment times and overall better experiences for your customers.
Apache Hadoop is a key technology for gaining business insights from your Big Data, but the penetration into enterprises is shockingly low. In fact, Apache Hadoop and Big Data proponents recognize that this technology has not yet achieved its game-changing business potential. In his session at 19th Cloud Expo, John Mertic, director of program management for ODPi at The Linux Foundation, will explain why this is, how we can work together as an open data community to increase adoption, and the i...
All clouds are not equal. To succeed in a DevOps context, organizations should plan to develop/deploy apps across a choice of on-premise and public clouds simultaneously depending on the business needs. This is where the concept of the Lean Cloud comes in - resting on the idea that you often need to relocate your app modules over their life cycles for both innovation and operational efficiency in the cloud. In his session at @DevOpsSummit at19th Cloud Expo, Valentin (Val) Bercovici, CTO of So...
JetBlue Airways uses virtual environments to reduce software development costs, centralize performance testing, and create a climate for continuous integration and real-time monitoring of mobile applications. The next BriefingsDirect Voice of the Customer performance engineering case study discussion examines how JetBlue Airways in New York uses virtual environments to reduce software development costs, centralize performance testing, and create a climate for continuous integration and real-tim...
Virgil consists of an open-source encryption library, which implements Cryptographic Message Syntax (CMS) and Elliptic Curve Integrated Encryption Scheme (ECIES) (including RSA schema), a Key Management API, and a cloud-based Key Management Service (Virgil Keys). The Virgil Keys Service consists of a public key service and a private key escrow service. 

SYS-CON Events announced today that eCube Systems, the leading provider of modern development tools and best practices for Continuous Integration on OpenVMS, will exhibit at SYS-CON's @DevOpsSummit at Cloud Expo New York, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. eCube Systems offers a family of middleware products and development tools that maximize return on technology investment by leveraging existing technical equity to meet evolving business needs. ...

Let's just nip the conflation of these terms in the bud, shall we?

"MIcro" is big these days. Both microservices and microsegmentation are having and will continue to have an impact on data center architecture, but not necessarily for the same reasons. There's a growing trend in which folks - particularly those with a network background - conflate the two and use them to mean the same thing.

They are not.

One is about the application. The other, the network. T...

This is a no-hype, pragmatic post about why I think you should consider architecting your next project the way SOA and/or microservices suggest. No matter if it’s a greenfield approach or if you’re in dire need of refactoring. Please note: considering still keeps open the option of not taking that approach. After reading this, you will have a better idea about whether building multiple small components instead of a single, large component makes sense for your project. This post assumes that you...