Submitted by Sonia on
Service Provider companies, and particularly Telecom Operators (Telecoms), struggle daily to deliver innovative and appealing services to their customers to keep or increase margin, conquer more customers, reduce churn, etc. Telecoms, in particular, with their legacy systems distributed and many subject to the merges and acquisitions that have characterised the sector for some years, are in many areas playing catch-up with the so called Over-The-Top (OTT) Service Providers. These OTTs were born outside the strict regulatory environment that characterises the Telecom sector and, therefore, are more agile in many of the technologies they have adopted. Software Defined Networks (SDN) and Network Functions Virtualisation (NFV) technologies are helping a lot Telecoms to push forward, but there's something else they need to change significantly: the speed of introducing new services is still too low for a very dynamic market such as the Telecom market.
Therefore they look at the DevOps approach [1], also called Site Reliability Engineering elsewhere [2].
But merging the two teams is not enough: delivering often and in an evolutionary way (i.e., feature by feature) is crucial for this kind of teams to gain trust in what is being deployed, so delivery is considered to be continuous (note: this means that the system is continuously ready to be deployed, but this deployment becomes a business decision, and not a technical one). Both, newly delivered features and previously delivered features, have to be tested, which is impossible (or at least not cost effective, by the enormous number of people that would be needed) to do at such a high rate. So, automated tests (i.e., code that tests code) must be in place to catch the introduced bugs as soon as possible. By delivering features in small changes to the existing system, integrating these gradual changes become almost continuous, and therefore there's also a continuous integration process associated with DevOps.
SONATA supports DevOps by allowing Developers to:
1. Submit new services and functions to the Service Platform;
2. Receive and analyse monitoring data from their service and function instances;
3. Update services and functions to improve its performance and resource consumption.
This is the full cycle of developing, deploying (taking advantage of NFV and SDN) and operating Network Services and Virtual Network Functions, by monitoring data generated while the service and its functions are running. By having this kind of Service Platform available, developers can quickly launch and evolve new services and, therefore, anticipate trends in services consumption that may be the edge needed by the Service Provider owning the platform.
References:
[1] Agile Infrastructure, Patrick Debois and Andrew Clay Shafer, http://www.jedi.be/presentations/agile-infrastructure-agile-2008.pdf
[2] What is ‘Site Reliability Engineering’?, Niall Murphy and Ben Treynor, https://landing.google.com/sre/interview/ben-treynor.
[3] Agile Alliance, https://www.agilealliance.org
