Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

Don’t Let Your Architecture Become the New Hardware

DZone's Guide to

Don’t Let Your Architecture Become the New Hardware

Arnon Rotem-gal-oz explains the importance of being agile about your architecture - viewed no differently than anything else.

Free Resource

Discover how Microservices are a type of software architecture where large applications are made up of small, self-contained units working together through APIs that are not dependent on a specific language. Brought to you in partnership with AppDynamics.

Yesterday I presented “Big data in the cloud – Welcome to cost-oriented design” @ BDX2016 (slides are available here, and I think the video would be available soon).

One of the points I made that was that you need to continuously optimize the solution to handle costs (of course there can be and there are other drivers to that like performance, security etc.) – these optimizations may result in the need to change the architecture either by replacing a technology or redesigning parts of the solutions. I demonstrated this with a couple of such transformations we did (and doing, and will be doing in the future) @ AppsFlyer.

Ripping out a technology and implanting another in a running system sounds like a scary and risky move, but truly – architectures should be as agile and evolvable as any other part of your system. If you can be agile about adding features you should also be agile about your architecture. This is something we must be able to do.

*Rant On*

Hardware vs. Software -the mere names tell you the difference. Hardware is rigid, fixed, Software is flexible, easy to change, soft … software.  lots of years ago when I worked on a system that developed both hardware and software components – the hardware guys always said they had to finalize designs before they start “cutting down the iron” – after that,  changes get expensive , hard...hardware.

Along came virtualization and then the cloud, the hardware is probably  still rigid but for all intents and purposes, it is as flexible as you want it to be. You can change instance type to a bigger, stronger machine without effort, you can customize the VM sand you can add as many  more machines as you’d like – flexible, easy, soft… er… hardware

The software cannot be the bottleneck to change – I don’t want to sound too much like Trump but it is time to make software soft again!

*Rant Off*

By the way, this is not just a rant – I actually wrote about evolving architectures in the past (2010). You might want to read these posts to learn more:

Discover the six challenges and best practices in managing microservice performance, brought to you in partnership with AppDynamics.

Topics:
development ,architecture ,architecture & design ,agile adoption ,devops ,integration

Published at DZone with permission of Arnon Rotem-gal-oz, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}