So what I’d like to do today is to share our experience with open sourcing EECOM working with the community explained a bit about the challenges that we face on a daily basis and offer you the mitigations that we find that works best just before we start a short introduction just so you’ll better understand the perspective that I have.
So as I was introduced I’m director of research and technology management in 18 TSR in the center in Israel and.
In my group we’re managing various applications for AT&T software-defined Network two of them are belong to ecomp hence they belong to ona those two are SDC the service design and creation platform and the other one is vid which is the ops bottle for vnf lifecycle management we maintain the PTL the project tech lead position in both applications we’ve just recently contributed the the first layer to the air to the.
Acronym ed stock and we are doing our first steps contributing to awesome now it’s not a secret that network is a TNT’s core business it has been like that in the past few decades decades we provide the connectivity both wireless and wireline and we provide the services on top of that connectivity just ready to name a few internet access VPN sd1 5g and many other many more now.
Around to two years ago 18t made the conscious decision to open source ecomp and it had many good reasons for example AT&T wanted to set up a telco grade platform where ecomp is its basis we wanted to increase the platform evolution by adding and the future velocity by adding.
Additional developer from the community we wanted to promote the common common vnf requirements through a working reference implementation we wanted to establish something which we called the unab certification so if a vnf go through the entire pipeline of own up you can declare it as as as an own up certified and in the spirit of bell labs we also wanted to assist the academic research in the relevant areas.
Control of our network we we determined what goes in when and.
How but once open-sourcing the platform now we have many more stakeholders to.
Our network those stakeholders are coming from the different areas of.
The of the industry some of them are service providers like us some of them are service integration integrators some of them vienna vendors and some of them OMS you have the list here it’s not obviously it’s not a complete list of who is a stakeholder in own up you you all know the logos behind me the reason I put them here.
Just went over the companies that contributed code in the last three months these are the the ones from the top of that list so you can see that we have many stakeholders so how do you remain in control of your network once you have so many so many stakeholders so I’m gonna offer the mitigations we face those challenges some of them by by changing processes and some of them by using technology best practices so let’s go over the challenges the.
First challenge so the roadmap and the feature set of the platform are no longer determined by AT&T obviously there’s a community and they’re determined in in a democratic fashion now the challenge here is that it’s not always not always relevant not always top priority it’s not even sometimes it’s not even relevant to a TMT so what do you do in order to mitigate that challenge there are.
A few things you should do the first is influenced by involvement it has a few aspects to that first you should contribute code I mentioned a minute ago I mentioned the list of code contributions so on the top of that list you’ll find AT&T so 30% of the code contributions in the last three.
Months were originated from AT&T the other way to influence is you should attend meetings there are a lot of meetings architecture meetings project meetings DAC meetings you should be there and you should you should speak your mind in those meetings and the last aspect of that is there are there are elections every once in a while in in in on up and you.
Should vote another way to mitigate is to send your best it’s managing communities is a skill set.
Not everybody not everyone can actually do that you have to send the people that know how to manage communities how to influence and basically know.
Know how to explain why they want they know how to insist basically the best people that know how to convey your message another way another aspect of another mitigation to that challenge is you’ll have to choose your battles ok not everything is super critical but when it does insist in order to make.
Things happen the way you think they should the next challenge is that we we cannot control what interests the other stakeholders and we definitely don’t know their level of commitments and.
The level of code contribution so the mitigation here is actually pretty straightforward you have to collaborate I’ve mentioned earlier although all those meetings you have to attend you have to.
Collaborate you have to reach mutual understandings with all the other stakeholders once you do that you can plan your resources in in you can.
Plant them accordingly and realistically in.
Order to match the plans of the other stakeholders the next challenge that we have is as you know on up was a merger of two.
Two big projects one of them was a TNT Z comp and the other one was open o but now we have many components coming from different.
Vendors and there is a real potential of the platform becoming a Tower of Babel so in.
Order to avoid that you really have to have one single solid information model and the data model which is derived.
From that information model once you have that model you having a great way to convey data between.
The applications between the platform components you can establish clear roles and responsibilities between the platform components and and and this data model obviously need to and the information and data model obviously need to support the future growth of the platform the its capabilities and its its.
Flows the next challenge and hopefully nobody would kill me by saying.
That it’s a challenge to follow the standards and the standardization organizations mainly when we speak about for own up Etsy’s is.
Relevant why this is relevant but what makes it challenging so the first the first aspect of these challenges that the cadence of those organizations doesn’t always necessarily is in line with the pace which is needed for.
The industry which is needed for this kind of a.
Platform and the other aspect is is that the agendas they don’t always align so in order to mitigate those challenges have a couple of things you need to do first in if you can then please do follow these standards but it is very important that you maintain those standards on the boundaries.
Of your platform on the interfaces with the outer world because for example if we go to use cases like Vento to vendor or on up to I don’t know to OSM then you need to maintain those standards on the boundaries but you have to do what’s best for.
Your platform and maintain your flexibility within the platform the next challenge and this is really a daily battle and we are struggling with.
Is a battle to maintain one single code base for the internal code which gets deployed into the.
AT&T network and the external code that gets into own up now there are we would like to avoid painful upstream and downstream code mergers and I just I would like to.
Explain why it’s why isn’t it straightforward so there are a couple of reasons why do we even have this challenge so the first reason is what we call in AT&T we call it the AT&T secret sauce so there are functions business logics features which we would like to have internally in our network but we do not want to expose them to the community I think it’s I mean it’s.
It’s only fair the second aspect here is that our sometimes niggle security issues more aspects.
That prevents you from uploading your code to the community to the.
Linux foundation repositories there’s something we.
Call technology divergence it’s mainly around the toolset mainly around CI CD pipelines and testing automation frameworks so the toolset which is being used.
In own up by and dictated by the Linux Foundation are not always the same as what we use internally in AT&T.
And the last aspect here is that again what we call cherry-picking so things get developed in on up not necessarily don’t necessarily need everything so this process is called cherry-picking so all of these makes it really hard to maintain one single codebase but luckily.
There are ways to mitigate that so the first mitigation you would want your code or you you would want to your architecture to be pluggable and decoupled so it would enable both the community contributions and and the code which is being developed internally examples for these architecture patterns first of all the micro services you’ll know them small deployable pieces of dedicated business logic there are other design.
Patterns and sorry for being.
Maybe being too technical but UI resource bundles facade adapters dynamic loading of libraries which contain the business logic and feature toggles those little flags that control which cope gets executed in which environment another way to mitigate this challenge is you really want your code to be 100%.
Covered with automatic tests because you really want your developers to be sure that no functionality got broken after such a downstream process this is what we call the safety net really super important another mitigation again what we call the own up first so there are some libraries or some features or some pieces of code that we developed in an owned up first fashion which means that.
We develop them directly to the Linux Foundation rebels without going first through the a tnt’s repositories.
Again this is not something we can do for.
For many features but we do that and once you have such a library then internally we treat it as as if it was a third-party library although it was developed.
By AT&T and the last mitigation here is obviously whenever you can and whenever it’s reasonable then you should adopt the the community tool set the last.
Challenge here is that you would want to preserve the software architecture and coding best practices that you believe in and that you promote at least in the components.
In order to do that first you would like we would like and we do maintain leadership in those areas where we care most two examples for this for this.
Leadership one I’ve mentioned earlier the ptl’s the project project tech lead so the project tech lead is is basically an all-around player he is the team leader of the component is the architect.
Is the product owner is the project manager and he is responsible for the well-being of the component so I mentioned earlier we do maintain two ptl’s one in SDC and one invading it for us it.
Is very important the other way of maintaining this leadership there are many subcommittees and wherever whenever it’s it’s important you should be the chair of that subcommittee another way to mitigate this challenge is to have thorough review processes one is upfront the design reviews before code even gets developed and the other one is the implementation review and that’s before code.
Linux Foundation repositories and the last the last bullet here is you should really practice what you preach you should lead by example if.
You won’t preserve yourself those standards that you’ve said easily know what nobody else would do that for you and with that I thank you and if.
Any questions I’m willing to answer thank you.