September 6, 2017

DevOps and Cloud make a perfect match

Juha Jossas

Senior Product Owner, Tieto

The era of digitalization is making organisations everywhere realise that software is an essential part of the products and services they deliver. Organisations are also reshaping themselves to include elements that used to belong to software business, such as connectivity, data gathering and mobility. Today, this kind of features and working processes familiar within software business, are applied in all organisations. Eventually, software is everywhere.

Today and even more so in the future, software development has become a crucial part of product and service development. Competitive differentiators are fast time-to-market with new features, bundled services, interfaces as well as generated data and refined outcomes. Product development cycles and methods are changing both for manufactured products and services as well.

What makes the difference is the speed of development and increased efficiency; the paramount objective is to have faster development cycles for feature rich releases while maintaining high quality during the process. Efficiency relates directly to the cost basis of a project because we all are following a “more with less” principle. We need to get more lines of code done with less errors and less time - saving money for ourselves and our customer.

However, cost management is an interesting subject; it doesn’t just mean less funds spent on infrastructure and services but it also includes implementing different ways of working as well as objective evaluation of the results and effectiveness on a continuous basis. Agile methods put the focus on most important features and cut down idle time within the development cycle. There aren’t “releases” any more but rather “commits” where the continuous development cycle is providing purpose driven increments into the application, and often also immediately into real life use, for the benefit of an end-user.

So what’s the point here? It is no news that software development has implemented agile methods with kanban tables and scrum approach about a decade ago already. Those practices have made the whole application development process faster and more efficient, improved the quality of outcomes, shortened idle time and lowered costs. Right? So why do we still experience cost concerns regarding software development? 

A bit of DevOps history and hidden costs 

Historically developers are expecting the environments to be setup and configured for them by internal IT departments. Later on they would let themselves go wild with public clouds, usually doing this manually and in an experimental manner. Quite often, direct results can only be seen in a credit card invoice instead of anywhere else. There are two reasons for this: first when a developer has a need and an idea, he doesn’t want to wait - no reason to wait. Secondly, he wants to do experimental things like set up and configure servers somewhere in the deeps of public cloud; it is like an expedition challenge to somewhere not so familiar to them. We should not blame them; isn´t this just something we all would like to do?

But there is a price tag for this behaviour, and not only in the credit payment list. These methods create idle time and therefore costs into the project, sometimes in vast amounts and not necessarily seen that clearly. They are hidden costs - visible all the time if you know where to look for them.

Conceptually DevOps was implemented to address the responsibility gap between developers and sysadmins. Before, it was thought best to make each of them focus only on work they are experts in and also, to create a solid work stream between the deliverables. Practically speaking, this meant that a systems administrator was brought into an agile team to act as a channel towards services, servers, databases, networks, development and automation tools to help installing and configuring every environment needed within a certain project (and actually taking all the experimental fun out from developers). Automation replaces repetitive tasks especially in systems administration, as continuous integration tools do in development. 

DevOps practice relies on flexibility and automation since requirements, needs and situations change rapidly. It is not uncommon that a set of application servers are needed to evaluate a feature or functionality, and when this is done they are not needed anymore. Where DevOps model is counting on several continuous disciplines, these environments need monitoring, user management, patching, configuring and automated installation and setup pretty much all the time. From a company’s point of view, there may be several projects ongoing simultaneously but using different platforms.

DevOps needs cloud

Cloud services are not that much of a “Dev” thing as they are “Ops”. Not necessarily though, as there are lots of tools available as SaaS service, being “cloudified” already. Cloud services under DevOps model offer a practical solution to sort out some of the infrastructure obstacles. Some implementations need in-house facilitation due to integration issues, some can benefit more of the public clouds and their elastic approach and sometimes an implementation is a mix of many. Today it is rather challenging to be very efficient if one or another is missing, DevOps culture or cloud services. 

It is important to notice that DevOps – sometimes “Biz” prefacing it - is a change in mindset and culture, with a varying level of commitment, and the role of tools is just to make the change easier. DevOps is an integrated development model fully operational for both internal and external purposes, meaning that the structure of a DevOps team can be, and often is, a blend of experts from different disciplines. Cloud services are a core element in DevOps model, bringing flexibility and responsiveness into the everyday working practices. 

As the requirements regarding purposes, tools and environments will vary case by case, the different clouds need to be managed and monitored as effortlessly as possible. This is exactly what Tieto offers with our Tieto OneCloud solution working hand in hand with Tieto DevOps Space in supporting your DevOps teams. – We´ve made a perfect match between DevOps and cloud. 

Download our whitepaper and see more about Tieto OneCloud!

Welcome to meet with us at Mindtrek 2017 on Sept 20th in Tampere!

Stay up-to-date

Get all the latest blogs sent you now!