In this series of articles, we will explore the convergence happening between the IT and Telecom industries, which is referred to as “Telco Softwarisation”.
Nowadays numerous companies are shipping software in minutes following a DevOps concept, called Continuous Integration and
Continuous Delivery (CI/CD).
It uses automation for building, testing and delivering software components to development and production environments with swiftness, safety and reliability, validating in a continuous way the value streams of an organization. A list of common tools and use cases will be discussed along the way of these articles.
The DevOps Mentality
Building a software project requires good coordination and communication within teams. However, there is a big probability for human errors, which is exactly the reason a lot of focus has been given to the automation as a concept in the last fifteen years.
A well-known concept is DevOps, which comes from the convergence of Development and Operations. It is a term coined in 2009 by Patrick Debois, who also became one of its gurus.
DevOps is an IT mindset that encourages communication, collaboration, integration and automation among software developers and IT operations, in order to improve the speed and quality of delivering software.
The DevOps mindset can result to a few benefits. Some of them are the following:
- Agility: accelerates the pace of releasing new functionality and products, delivering more often the value to the customer.
- Customer satisfaction: adjusts to the customers’ needs based on the quick feedback loops.
- Work fun: the software development work is more enjoyable due to many tasks being automated.
Now, how would I know if my organisation is ready to adopt the DevOps model? This is a valid question, which is asked very often.
CALMS framework is the answer. It is used as a maturity model, helping managers to evaluate whether or not their organization is ready for DevOps; and if not, what needs to change.
The acronym CALMS is credited to Jez Humble, co-author of “The DevOps Handbook”.
CALMS stands for:
Working in silos has been identified as a non-efficient practice. Nowadays the focus is collaborating with external teams and delivering small and fast chunks of the product i.e. software. The knowledge across teams should be shared through communication channels in a clear way in order to
bridge these silos.
Automation starts from the code generation in the developer’s machine until the code is pushed to the production environment, as well as monitoring the entire software stack in an automated way. The relevant concepts here are CI/CD, Dashboards e.g. Kibana, Grafana and Infrastructure as Code (IaC) e.g. Hashicorp Terraform.
Lean is a production method created by Toyota, which specifies the value
provided by a product to a customer. The lean thinking is increasing this customer value, eliminate waste, focus on long-term goals, use wisely all the resources and continuously improve.
How do we achieve our goals and how do we make sure we have provided value to our customers? Error and performance monitoring platforms exist to surface problems in all environments. It is the way, not only to spot issues in our system, but also to get a full understanding of how the
customers behave and react to the product. For example, what user journey is followed mostly, which button is never used, what feature can be removed as it does not add value to the customer.
Internally, within the team, there are also measurement tools that show the progress of the development teams, according to the feature roadmaps of the company. Both the above types of tools are very good examples of measuring the work.
Bridging the gaps between development and operation teams is a great benefit of DevOps. This process is to ensure the shared responsibility, which means members of different teams can sit together to identify and fix any issue. Shared responsibility naturally becomes easier as communication lines are cleared and not fogged with incorrect or irrelevant data. The outcome is again working in a more efficient way.
In summary, the DevOps mentality will result to:
- Avoiding manual errors
- Empowerment of team members
- Avoiding dependency from humans
- Reduced latency
- Increase of delivery number, aiming to small chunks of software
- Lead time reduction
- Increase of release frequencyFaster feedback
- Speed, reliability, and consistency
The DevOps infinity loop shows the continuity in the software development process and also the eviction of the barriers between development and operations teams.
In the next blog we will see how a feedback loop looks like in reality. More specifically I will deploy a Java web application using a Continuous Integration/ Continuous Delivery (CI/CD) pipeline. I will use technologies such as AWS Elastic Beanstalk, S3, Gitlab CI.
If you enjoyed reading this article and would like me to write on any
other relevant topics, please let me know in the comments or email me directly. Also, don’t forget to clap and provide feedback! 🙂
I’m a Senior Consultant at Net Reply in the Future Networks team. Our team consists of consultants, software developers, technology enthusiasts specialising in Telecommunications and technological concepts such as Software Defined Networks (SDN) and Network Function Virtualisation (NFV). Our mission is to build the Next Generation Networks leveraging the art of software and latest technological trends. If you would like more information on these, please contact me on [email protected] or my LinkedIn / Twitter.
Also published at https://smosgr.medium.com/devops-and-telco-softwarisation-a43c23bd671b
Create your free account to unlock your custom reading experience.