Posts
Microservices vs. Monolithic Architectures
- Get link
- X
- Other Apps
Microservices vs. Monolithic Architectures Architecture plays a vital role in scaling, maintaining, and efficiency of software applications. Two paradigms in this space are microservices and monolithic architectures, which are two completely separate approaches that come with strengths and weaknesses. Monolithic Architectures This is an application that is built and fleshed out as a singular unit, with all components unified together. These involve the UI, the business logic, the data, all connected and deployed with each other together. The advantages of this infrastructure is that it is simple, allowing for deployment and testing to be straightforward considering it is one working codebase. Second is performance, since the calls between components are in memory this means that the communication between them is typically faster. Lastly since all components are unified in one place, debugging and tracing issues is typically easier. The...
Containerization: Docker and Kubernetes
- Get link
- X
- Other Apps
Containers have allowed for rapid deployment, scalability, and consistency of software. Traditional deployment has struggled with issues such as environment mismatching and dependency conflicts. Two major technologies that have addressed these factors are Docker and Kubernetes. Containerization What containerization has allowed for is the process of packing applications and dependencies into portable containers that are lightweight. The containers are able to encapsulate all things that applications need to run which include things like libraries and configuration files. They also share the host system’s kernel which makes them faster and more resource efficient. These key characteristics are that they are lightweight so they do not need many resources compared to virtual machines, since these virtual machines run their own operating systems and get allocated resources, it makes them less efficient compared to containers. Second is that these containers are portable which means th...
Diving into Machine Learning
- Get link
- X
- Other Apps
Machine learning has revolutionized industries, and will continue to drastically over the next few years as advancements are made. Systems being able to learn from data to make informed decisions allows for huge flexibility and customization. Image Recommendation System My goal for creating this application was to simulate algorithms commonly seen in social media platforms to enhance user engagement. This is done by recommending relevant images based on user preferences and interactions. Technical details: Collected user interaction data, including likes, comments, and hover times. Preprocessed 5,000+ images using Python and OpenCV for consistent input dimensions, while also normalizing pixel values. The model architecture utilized was a pretrained ResNet50 for feature extraction of the images. This convolutional neural network (CNN) was important for embedding generation. I implemented this custom recommendation model using K-Nearest Neighbors, which I felt was best t...
Cloud Computing: AWS, Azure, Google Cloud
- Get link
- X
- Other Apps
Cloud Computing: AWS, Azure, Google Cloud Cloud computing allows for a cost effective solution to data storage and application hosting. Cloud computing has revolutionized the ability to scale business operations in a flexible manner. Three main providers of cloud services are: Amazon Web Services (AWS), Microsoft Azure, and Google Cloud Platform (GCP). Cloud computing is the delivery of architecture over the internet for computing services which include: servers, storage, databases, networking, software, and analytics. This solution allows for the elimination of owning and maintaining physical on site datacenters and servers, which can instead be accessed on demand over the cloud for the businesses paying for what they use. Cloud computing has three different primary service models. -Infrastructure as a Service (IaaS): Provides fundamental infrastructure such as virtual machines, storage, and networking. Examples of such from the big three companies are AWS’s EC2...
Recommendation Systems
- Get link
- X
- Other Apps
Recommendation Systems Recommendation engines play an important role in software to enhance user experiences and application usage. User preferences and behavior is analyzed by systems in order to build personalized suggestions. These personalized suggestions assist in finding content, products, or services that may closely match the users preferences. There are prime examples of recommendation engines in our daily lives, such as Amazon product recommendations, Netflix content recommendations, and many more. How Recommendation Engines Work Recommendation engines utilize specialized algorithms in order to predict the users preferences and what they find valuable. There are many different recommendation systems: 1. Collaborative Filtering: This system relies on learning from users and interactions. This can be utilized in social media or online stores in order to track user preferences for products along with for different users. There is item based filtering which tracks a user's p...