Kubernetes Introduction
Monolithic Architecture
Micro Services Architecture
Monolithic Vs. Micro Services Architecture
Containers Overview
Container Orchestration Engines
Managed Kubernetes Services
Kubernetes Architecture
Kubernetes Cluster Setup
POD Management
Replication Controller
ReplicaSet Controller
Deployment Controller
Kubernetes Services
Configure aws-provider on kubernetes cluster
Load Balancer service on Kubernetes
116 Followers
Advantages
Easy Development – Large scale of IDEs are supporting for Monolithic model of code development hence it is easy for developers to develop the code for application.
Easy to Test – Testing the application becomes easy as all service components are integrated and working as single piece of software.
Easy Deployment – Since the entire application services are build and created as single artifact like .war, it is easy to deploy single .war file in application server.
Easy to scale resources – Since it is single unit of deployment, we can easily create horizontal servers and deploy war on new server and add to the Load balancer to balance & distribute the load.
Disadvantages:
Maintenance - Monolithic code base is very large and makes complicated to understand for any code changes. For every small change in code of specific component needs to deploy entire code.
Performance - Application can slows down as initial load time is high to load large scale of code.
Reliability — Small bug in one component cause failure of whole application.
Software Upgrade Strategy - Monolithic applications have difficulty to upgrade to latest versions or adopting new technologies as that might conflict to other components in the application.
Challenges with Monolithic Architecture
Scalability: It is easy to scale computing resources on Monolithic Architecture, but different components might require different capacity of resources hence challenging to provisioning resources satisfying all different components in the single large applications.
Flexibility: Monolithic Architecture is not flexible for frequent deployments, frequent code changes or releases as every time the whole application needs to be reviewed as its single application code base for all service components.