<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Muhammad Antar</title>
    <description>The latest articles on DEV Community by Muhammad Antar (@muhammadantar).</description>
    <link>https://dev.to/muhammadantar</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F860015%2Fe08d1e04-fa58-4c4f-9c93-7f47179b3a1a.jpeg</url>
      <title>DEV Community: Muhammad Antar</title>
      <link>https://dev.to/muhammadantar</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/muhammadantar"/>
    <language>en</language>
    <item>
      <title>TelcoCloud 101</title>
      <dc:creator>Muhammad Antar</dc:creator>
      <pubDate>Sun, 14 Jul 2024 16:57:03 +0000</pubDate>
      <link>https://dev.to/muhammadantar/telcocloud-101-5d02</link>
      <guid>https://dev.to/muhammadantar/telcocloud-101-5d02</guid>
      <description>&lt;p&gt;&lt;strong&gt;- What's TelcoCloud ?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It's a Cloud infrastructure that telecos can deploy its services and applications " IMS , RAN , Core " within cloud infra resources .&lt;/p&gt;

&lt;p&gt;let's go back a little bit , Telcocloud was based on Virtualization technology and in the Era of 5G , Telcocloud is mainly depend on Hyprid Cloud Arch , VNF Tchnology , SD-WAN .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- TelcoCloud benefits :-&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With high data rates through Mobile generations and continuous increase in Applications and for sure the demand of Automations , Telcocloud became a mendatory to cope with the data high rates and Telco Applications , similar to Cloud IT needs but with different Applications , Architecture and for sure Business Case .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- NFVI Architecture :&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1- First Layer is the " physical layer " : Servers , Network and Storage .&lt;/p&gt;

&lt;p&gt;2- Second Layer is " Virtual Layer " : converting the physical resources to Virtual Rsources using the Hypervisor .&lt;/p&gt;

&lt;p&gt;3- Third Layer is the " VNFs " that host the Telco Apps ,  machines on top of the hardware networking infrastructure. VNFs include routers, switches, SD-WAN, firewalls&lt;/p&gt;

&lt;p&gt;4- Fourth Layer is " MANO Orchestration " : NFV management and network , it's a Framework that provides the core operation functionality in TelcoCloud Network .&lt;/p&gt;

&lt;p&gt;5- Last Layer is " OSS/BSS " (Operation Support System/Business Support System) : OSS deals with network management, fault management, configuration management and service management. BSS deals with customer management, product management and order management .&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;- MANO Orchestration Arhcitecture :-&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;1- NFV Orchestrator : it's a componenet which you can do onboarding for VNFs and operate it's Life cycle management and Validate NFVI resource requests .&lt;/p&gt;

&lt;p&gt;2- VNF Manager : Control Life cycle management for VNF instance even if setting up or maintainning , we can describe it as " VNFs Controller " .&lt;/p&gt;

&lt;p&gt;3- Virtual Infrastructure Manager : We can manage NFVI Compute, Storage , Network  throug it .&lt;/p&gt;

</description>
      <category>telcocloud</category>
      <category>openstack</category>
      <category>opensource</category>
      <category>cloud</category>
    </item>
    <item>
      <title>Super-Duper Docker</title>
      <dc:creator>Muhammad Antar</dc:creator>
      <pubDate>Tue, 24 May 2022 21:06:57 +0000</pubDate>
      <link>https://dev.to/muhammadantar/super-duper-docker-c7j</link>
      <guid>https://dev.to/muhammadantar/super-duper-docker-c7j</guid>
      <description>&lt;p&gt;1-  What’s Docker?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Docker is an open platform for developing, shipping, and running applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This definition will take us to an important definition called Containerization: Containerization is the packaging together of software code with all it’s necessary components like libraries, frameworks, and other dependencies so that they are isolated in their own  “ Container “ .&lt;/p&gt;

&lt;p&gt;Now we will move into an important question, what’s the difference between Containers and Virtualization? &lt;/p&gt;

&lt;p&gt;2-  What’s the difference between Containers and Virtual Machines? &lt;/p&gt;

&lt;p&gt;If we checked the photo attached we will see that &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Containers:  Containers create lightweight, isolated logical namespaces on the underlying operating system, usually within the Linux kernel. Popular Container runtimes commonly used in software engineering are Docker and LXC. Every container has its specific network stack and its own process space, including all of the underlying dependencies required to run the application or service.&lt;br&gt;
The contents of a container are held in a binary file. Containers run independently from the operating system and other containers running on the system. Since they don’t contain the entire operating system, containers are very lightweight. Containers are a small computing unit, allowing a single operating system to run hundreds or even thousands of containers.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Virtual Machines: A Virtual Machine (VM) contains and runs a complete operating system on the underlying virtualized hardware resource. Popular Virtual Machine providers or Hypervisors are Citrix, VMWare, and Hyper-V.&lt;br&gt;
These virtualized hardware resources are created and managed by the Hypervisor. Type 1 Hypervisors run directly on the host machine hardware, while Type 2 Hypervisors run on top of the host machine’s operating system. Each Virtual Machine is an image of a complete operating system, so it tends to be a much larger computing unit, usually a couple of gigabytes.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;3-  Docker Architecture: &lt;/p&gt;

&lt;p&gt;Docker uses a client-server architecture. The Docker client  talks to the Docker daemon, which does the heavy lifting of building, running, and distributing your Docker containers. The Docker client and daemon can run on the same system, or you can connect a Docker client to a remote Docker daemon. The Docker client and daemon communicate using a REST API, over UNIX sockets or a network interface. Another Docker client is Docker Compose that lets you work with applications consisting of a set of containers.&lt;br&gt;
A-  The Docker daemon: The Docker daemon (dockerd) listens for Docker API requests and manages Docker objects such as images, containers, networks, and volumes.&lt;/p&gt;

&lt;p&gt;B-  The Docker client: The Docker client (docker) is the primary way that many Docker users interact with Docker.&lt;/p&gt;

&lt;p&gt;C-  Docker Desktop: Docker Desktop is an easy-to-install application for your Mac or Windows environment that enables you to build and share containerized applications and micro services.&lt;/p&gt;

&lt;p&gt;D-  Docker registries: A Docker registry stores Docker images. Docker Hub is a public registry that anyone can use, and Docker is configured to look for images on Docker Hub by default.&lt;/p&gt;

&lt;p&gt;4-  NameSpaces: &lt;/p&gt;

&lt;p&gt;Docker uses a technology called namespaces to provide the isolated workspace called the container. When you run a container, Docker creates a set of namespaces for that container.&lt;br&gt;
These namespaces provide a layer of isolation. Each aspect of a container runs in a separate namespace and its access is limited to that namespace.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>cloud</category>
      <category>docker</category>
      <category>openstack</category>
    </item>
    <item>
      <title>Neutron Service in OpenStack</title>
      <dc:creator>Muhammad Antar</dc:creator>
      <pubDate>Wed, 11 May 2022 17:40:25 +0000</pubDate>
      <link>https://dev.to/muhammadantar/neutron-service-in-openstack-3b1g</link>
      <guid>https://dev.to/muhammadantar/neutron-service-in-openstack-3b1g</guid>
      <description>&lt;p&gt;Last Article we talked about storage in cloud and the difference between block, object and file storage. We will talk about network service in openstack that called Neutron.&lt;/p&gt;

&lt;p&gt;1-  What’s Neutron?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Like openstack  said , Neutron allows you to create and attach interface devices managed by other OpenStack services to networks.
Plug-ins can be implemented to accommodate different networking equipment and software, providing flexibility to OpenStack architecture and deployment.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;2-  Neutron Components : &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  There are 3 main components in Neutron Service &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A-  Neutron-Server : Routes API requests to the appropriate OpenStack Networking plug-in&lt;br&gt;
B-  OpenStack Networking plug-ins and agents: Plug and unplug ports, create networks or subnets, and provide IP addressing. The common agents are L3 (layer 3).&lt;br&gt;
C-  Messaging queue: Used by most OpenStack Networking installations to route information between the neutron-server and various agents. Also acts as a database to store networking state for particular plug-ins.&lt;/p&gt;

&lt;p&gt;3-  Difference between L2 Agent and L3 Agent :&lt;/p&gt;

&lt;p&gt;A-  L2 Agent : The L2 agent runs on the hypervisor (compute nodes),and its function is simply to wire new devices, which means it provides connections to new servers in appropriate network segments and also provides notifications when a device is attached or removed. In our install, we will use the OVS agent.&lt;/p&gt;

&lt;p&gt;B-  L3 Agent : The L3 agents run on the network node and are responsible for static routing,&lt;br&gt;
IP forwarding, and other L3 features, such as DHCP.&lt;/p&gt;

&lt;p&gt;4-  Basic Neutron process : When a new Vm try to booted with neutron , that’s what happen in the back ground &lt;br&gt;
A-  Boot VM start.&lt;br&gt;
B-  Create a port and notify the DHCP of the new port.&lt;br&gt;
C-  Create a new device (virtualization library – libvirt).&lt;br&gt;
D-  Wire port (connect the VM to the new port).&lt;br&gt;
E-  Complete boot.&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>openstack</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>KeyStone in OpenStack</title>
      <dc:creator>Muhammad Antar</dc:creator>
      <pubDate>Mon, 09 May 2022 18:04:22 +0000</pubDate>
      <link>https://dev.to/muhammadantar/keystone-in-openstack-2188</link>
      <guid>https://dev.to/muhammadantar/keystone-in-openstack-2188</guid>
      <description>&lt;p&gt;1- Keystone :&lt;/p&gt;

&lt;p&gt;Keystone is the identity service in openstack , verifies the user’s identity and provides information about which resources the user has access to.The Keystone project provides authentication, authorization , Provides authentication for other services as we found in last article like authentication for : Nova-Compute , Swift Object Storage , Neutron Networking , Glance Image , Cinder Block Storage and Horizon Dashboard .&lt;/p&gt;

&lt;p&gt;2- Keystone Identity Flow :&lt;/p&gt;

&lt;p&gt;Requests to the Identity service are made via an API call , Keystone Provides service catalog “Service API URL” which means any service will be added on openstack should be registered on keystone . Keystone saves info of roles , groups , users and these info could be from external identity like LDAP .Keystone also includes WSGI middelware to provide authentication support for Nova and Swift. Keystone has DB .&lt;/p&gt;

&lt;p&gt;Flow :&lt;/p&gt;

&lt;p&gt;A- User send credentials to the keystone .&lt;br&gt;
B- User gets token from Keystone .&lt;br&gt;
C- User send request + token to openstack services .&lt;br&gt;
D- Keystone check the tokens with openstack services .&lt;br&gt;
E- User recieves response from openstack service .&lt;br&gt;
3- Keystone Architecture Concepts :&lt;/p&gt;

&lt;p&gt;A- Services : Keystone is organized as a group of internal services exposed on one or many endpoints .&lt;/p&gt;

&lt;p&gt;B- Identity : The Identity service provides auth credential validation and data about users and groups .&lt;/p&gt;

&lt;p&gt;C- Users : represent an individual API consumer. A user itself must be owned by a specific domain .&lt;/p&gt;

&lt;p&gt;D- Groups : are a container representing a collection of users .&lt;/p&gt;

&lt;p&gt;E- Projects : represent the base unit of ownership in OpenStack, in that all resources in OpenStack should be owned by a specific project. A project itself must be owned by a specific domain&lt;/p&gt;

&lt;p&gt;F- Domains : are a high-level container for projects, users and groups. Each is owned by exactly one domain. Each domain defines a namespace where an API-visible name attribute exists. Keystone provides a default domain .&lt;/p&gt;

&lt;p&gt;G- Roles : dictate the level of authorization the end user can obtain. Roles can be granted at either the domain or project level .&lt;/p&gt;

&lt;p&gt;H- Token : Token service validates and manages tokens used for authenticating requests once a user’s credentials have already been verified.&lt;/p&gt;

&lt;p&gt;J- Catalog : provides an endpoint registry used for endpoint discovery.&lt;/p&gt;

&lt;p&gt;4- Keystone Role in Vm Creation :&lt;/p&gt;

&lt;p&gt;A- The identity service (Keystone) authenticate the user with the user credentials and then generates and send back an auth-token, that auth-token which will be used for sending the request to other components through REST-Call .&lt;/p&gt;

&lt;p&gt;B- Keystone verifies the user has the correct permissions for the request based on its own policies&lt;/p&gt;

&lt;p&gt;C- Keystone replies with the temporary token and the list of tenants the user has access to .&lt;/p&gt;

&lt;p&gt;D- Glance-api validates the auth-token with keystone and after that nova-compute gets the image metadata .&lt;/p&gt;

&lt;p&gt;E- cinder-api validates the auth-token with keystone and then nova-compute gets the block storage information .&lt;/p&gt;

</description>
      <category>cloud</category>
      <category>devops</category>
      <category>openstack</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
