Welcome to "This is My Architecture."
My name is Ran, and with me today is Cedric from Amdocs.
- Hi, Cedric. - Hi, how are you?
Great, thank you. Tell us a bit about Amdocs.
So Amdocs is a software and service provider
which provides solutions for communication, telcos,
or media companies over the world.
We have more than 300 customers among 80 countries.
Okay, great. So tell us what we're looking at here.
So what we're looking at here is actually MS360,
Microservices360 environment.
This framework, okay,
is actually dealing with all the infrastructure
in order to have environment for production,
for testing, for development
and in different kind of configurations.
Okay, so what are the different components here?
So you have here on top that is a layer
which we deliver actually creates environments
and provisions software inside it.
So we have all the functional components
which are implementing the business logic
deploying a Kubernetes environment or an EC2,
depending if they are microservices or actually less modular architecture.
And below you have what we call the backing services layer
when you have also persistence aspect.
So NoSQL, SQL, messaging with Kafka,
and then you have logging and monitoring items below.
Okay, so what is the flow like when a developer
or a dev team wants to get an environment
in order to test a new version of their application,
let's say, CRM or something like that?
So actually, the kind of application we're deploying is CRM,
is billing, invoicing, anything like that, right?
So the first thing is that you
as the operator will have to create an environment,
either for developers or for the production environment.
Obviously, the difference would be the size
because for production,
we can deal with 100 million subscribers,
for instance.
And for testing, we will deal with much less workload
in terms of usage of the platform.
So the thing is here is that
the operator will actually create the environment using CloudFormation,
and we'll use the Jenkins
to actually provision all the software like containers
or VMs on EC2 instance.
And this is the CD part and all the containers,
all the software that was built by Amdocs before
will be actually delivered to the Jenkins instance here
using repository such as Nexus or Artifactory or i3.
- Okay, okay.
So the operator actually deploys the CloudFormation template
and then that deploys Jenkins and deploys the environment itself.
Right, so CloudFormation will create
this kind of environment here, all right?
- Yeah.
Plus, the backing services as we mentioned here.
We can have multiple environments like this,
and then Jenkins will provision the software like this.
- Okay.
So microservices, deploying applications,
developers being able to test their applications in a really agile way,
this is quite an evolution
from how software used to be delivered
to telco companies and organizations like that.
- Tell us a bit about that. - Yeah, exactly.
It's a revolution because now we have something
which is much more modular.
We can actually use managed services that already are there,
already replicated, and resilient, et cetera.
We also have different kind of workloads we can have,
business logic as there are microservices on it.
And we can create multiple environments on the fly,
on demand, according to the need of the telco, for instance, right.
So, also what is interesting here
is that we are using Kubernetes
and we are using tools which are open source tools
such as Prometheus or Elasticsearch, and Kafka.
And then actually, Prometheus will help us
to have all the monitoring metrics from the different workload
and to actually send this workload to a tool
such as CloudWatch which will give you
a complete view of all the DevOps ecosystem.
Okay, so then each team or each dev team
actually uses the same kind of open source tools.
For example, if they need to do event-driven work,
they will use Kafka.
If they need to use other stuff like relational database,
they'll use RDS.
So you're standardizing on the way
that developers use the platform and deliver their software.
Exactly.
We are standardizing also the DevOps ecosystem
from Devs to Ops, right?
But also more than that,
we are actually providing clear interfaces for the telcos
to actually interface and the use the environment.
Great.
So once the environment is deployed at the telco,
for example, a production environment,
the subscribers actually go in and start using those applications.
- How does that look? - Yeah, exactly.
So these guys are actually the subscribers, end users,
and think about having maybe 10 or 100 million of them, right?
And here we have a business critical platform
that will deal with all the mobile subscriptions of these guys.
And you can scale according to your need
in an automated fashion.
Great.
I really like the robustness
and the way that this architecture is modular,
seems like you really made a great evolution
in how we deliver software into telco companies.
Right, exactly.
And I think what is good as well
is that as you can see it with AWS,
we can use standard tools,
we can have a platform which can be deployed on premise on AWS,
but with AWS, we leverage from the tools
that are already there,
open source tools with the standard APIs.
Yeah.
So if the customer or your dev environments
are running on AWS,
you can use managed services
and even cut down the deployment time further.
- Yeah, exactly. - Great.
Thanks a lot for sharing.
- Thank you, Ran. - Thank you.
And thank you for watching "This is My Architecture."