With a
fast-growing number of new technologies, disruptive startups and young teams of
tech-savvy geniuses established enterprises face the uncomfortable truth -
their business must evolve and their teams have to adapt the latest solutions -
both regarding used technologies and company culture -- if they want to keep
once owned market shares, customer volumes, and revenue streams. Digital
transformation seems to be the proper response to the fast-changing business
landscape, and cloud-native technologies are the way to go.
When you manage a company that operates at a huge scale, you
can lose agility that once has helped you built a tremendous company. For many
years it was obvious, acceptable, and treated as a part of the process of
growing up in business -- from an extremely flexible team that provides
something new to an established company, that couldn't change its strategy
overnight but wins because of its power and resources.
But things have changed. Technology and innovative work
culture give new companies an enormous boost to compete with business moguls. A
lot of companies now known as huge technology brands (Facebook, Amazon, Tesla),
started modestly but have become powerful and have changed the business
landscapes far behind their fields. Digital disruption generated by startups is
good for technology development, competitiveness and economy in general, but
people who manage traditional companies also want to compete and secure their
place in the business. And while old-fashion manners seem irrelevant, even the
most conservative organizations see a chance in technology adoption.
And when the world's leading enterprises are constantly
searching for new ways to retain once gained market shares, the answers to
their needs may be at hand.
Why cloud native?
Cloud native is a philosophy of building digital businesses
and an approach to designing and running applications that take advantages of
cloud computing, open source tools, microservices, orchestrations, and
containers. Cloud native experts put an emphasis on the fact that
‘cloud-native' is more about how software is created and deployed than where.
Let's compare the two companies. The first one provides a
legacy software, with a long history of updates, developed by many teams, used
various technologies (some of them not used now) through the years, built as a
monolith with a lot of internal dependencies that could not be broken up. Every
release needs approval from many people involved in the process of developing
the app. Once in 2 months, they send their customers a message like this: You may experience some problems with our
services due to the planned maintenance. We apologize for all the
inconveniences. It often means that your service provider is deploying new
release but uses monolithic architecture and can't do it smoothly.
The second company uses open source tools to develop its app
in a containerized, packaged parts which can be easily managed and orchestrated
separately. When the company grows, and new teams are involved in application development,
they can focus on particular parts of the app, and software can be improved
independently. Every new feature can be built and tested with flexibility, fast
enough to get user feedback.
When these two companies compete, the first one can use a
bigger amount of resources - money for promotion, people to support users,
relationships in the industry and years of experience on the market. The second
one comes with the agility to provide new features in days instead of months
and flexibility to deploy new improvements even multiple times a day. In
practice, it means a fast response to user needs and trends. In the new area of
competitive markets, customer-centric services, and fast-changing business
perspective, a model that allows companies to quickly adjust to the change
wins.
But there is hope for enterprises with traditional
architecture and conservative ways of developing software, they can rebuild and
migrate their applications to the cloud and become cloud-native. And when
becoming a cloud-native expert may be a demanding process, it's worth to take
into account the advantages of transforming
applications with external help.
Cloud-native technologies
supported by the DevOps approach
Moving from legacy software to cloud-native applications is
an impressive shift, and probably one of the most demanding changes some
enterprises may face over the years. It's not an easy process especially for employees
who have been doing a particular job for years and now have to adjust to the
new reality. This is why companies that migrate to the cloud support their
teams with the cultural transformation -- DevOps approach.
DevOps combines philosophy, practices, and tools that
improve the company's ability to provide services at high velocity. DevOps
changes the way teams involved in project works -- there is no longer a visible
breakdown to silos responsible for development and operations, teams are merged
and work together throughout the application lifecycle.
And while it may seem the next major distraction and
complication to adopt cloud-native technologies, these two changes can
accelerate digital transformation and allows enterprises to rebuild both -- company
culture and technology stack used to deliver products and services.
The proper
response to digital disruption
We often read about how the enterprise companies hold down
technology development, using their resources to reduce the impact of the new
coming startups. And while some of those stories may seem true, the business
impact of new technologies is too powerful so anyone could shut down to the
process of change. The only way to compete with companies using them is to try
to adopt the latest solutions and change own business. Cloud-native
technologies and DevOps approach are too valuable for enterprises to ignore
them, as a company that can combine startup agility and enterprise capacity may
be unstoppable.
Digital disruption may be presented as the destroying force
that changes the enterprise landscape, but for established companies willing to
find new ways to grow it may be a trigger to adopt DevOps and become
cloud-native.
##
About the Author
Szymon Kozak writes about digital transformation,
cloud-native technologies, open source and DevOps on g-blog, published by Grape
Up, a technology consulting company
helping enterprises with building cloud-native products, transforming legacy
software into cloud-native applications, and implementing a DevOps approach.