- DE
- Services
- Our service portfolio
We bring your digital product vision to life, from crafting real-world testable prototypes to delivering comprehensive product solutions.
- Collaboration models
Explore collaboration models customized to your specific needs: Complete nearshoring teams, Local heroes from partners with the nearshoring team, or Mixed tech teams with partners.
- Way of working
Through close collaboration with your business, we create customized solutions aligned with your specific requirements, resulting in sustainable outcomes.
- Our service portfolio
- About Us
- Who we are
We are a full-service nearshoring provider for digital software products, uniquely positioned as a high-quality partner with native-speaking local experts, perfectly aligned with your business needs.
- Meet our team
ProductDock’s experienced team proficient in modern technologies and tools, boasts 15 years of successful projects, collaborating with prominent companies.
- Our locations
We are ProductDocic, a full-service nearshoring provider for digital software products, headquartered in Berlin, with engineering hubs in Lisbon, Novi Sad, Banja Luka, and Doboj.
- Why nearshoring
Elevate your business efficiently with our premium full-service software development services that blend nearshore and local expertise to support you throughout your digital product journey.
- Who we are
- Our work
- Career
- Life at ProductDock
We’re all about fostering teamwork, creativity, and empowerment within our team of over 120 incredibly talented experts in modern technologies.
- Open positions
Do you enjoy working on exciting projects and feel rewarded when those efforts are successful? If so, we’d like you to join our team.
- Candidate info guide
How we choose our crew members? We think of you as a member of our crew. We are happy to share our process with you!
- Life at ProductDock
- Newsroom
- News
Stay engaged with our most recent updates and releases, ensuring you are always up-to-date with the latest developments in the dynamic world of ProductDock.
- Events
Expand your expertise through networking with like-minded individuals and engaging in knowledge-sharing sessions at our upcoming events.
- News
- Blog
- Get in touch
27. Feb 2023 •3 minutes read
Why you should postpone your Kubernetes journey
Jovica Zorić
Chief Technology Officer
It looks like containers are here to stay. They are everywhere, from personal laptops to public cloud and private data centers. And these days, when talking about containers, it’s difficult or almost impossible, not to mention Kubernetes. Kubernetes is an open-source system for automating the deployment, scaling, and management of containerized applications.
Even though I like Kubernetes, I think we should not use it as a magical solution for every problem and every new project/product. As a reminder, your goal is to build a product that solves the problem for your users. To help you on this journey, you need the most simple, least time-consuming infrastructure.
Here are a couple of reasons why you should postpone your Kubernetes journey:
You have a simple and straightforward application that does not need expensive resources or high-level services.
You are not deeply committed to microservices.
You have a small user base, low load, and relatively simple architecture.
You don’t think about vendor lock-in. Kubernetes is kind of vendor lock-in itself but more on this next time.
You understand that scaling is an issue for tomorrow.
You understand that Kubernetes has a steep learning curve, and you don’t want to use Kubernetes just because everyone else does.
You are a small team, and investing your time, effort, and money in Kubernetes could be overkill.
If not Kubernetes, then what?
Let’s look at three major cloud providers and a few options to start with.
AWS
App Runner
AWS App Runner is a fully managed service that makes it easy for developers to quickly deploy containerized web applications and APIs at scale and with no prior infrastructure experience required.
Notes and Links:
Currently supported regions: Europe (Ireland), Asia Pacific (Tokyo), US East (N. Virginia), US East (Ohio), US West (Oregon)
Current supported configurations (cpu/memory): 1vCPU/2GB, 1vCPU/3GB, 1vCPU/4GB, 2vCPU/4GB
Accessing container images only from AWS ECR (private and public)
https://docs.aws.amazon.com/apprunner/latest/dg/service-source-image.html
https://aws.amazon.com/apprunner/faqs/
ECS with EC2
Amazon ECS is a fully managed container orchestration service that makes it easy for you to deploy, manage, and scale containerized applications.
Notes and Links:
Docker is the only container platform
No additional charge for Amazon ECS; paying for AWS resources only
https://aws.amazon.com/ecs/features/
Fargate
AWS Fargate is a serverless and pay-as-you-go compute engine that lets you focus on building applications without managing servers.
Notes and Links:
ECS concepts apply
There are no EC2 to manage
Cost based on vCPU, memory, Operating Systems, CPU Architecture, and storage
https://aws.amazon.com/fargate/pricing/
https://aws.amazon.com/fargate/getting-started/
Lambda
Lambda is a computing service that lets you run code without provisioning or managing servers. You can also package and deploy Lambda functions as container images.
Notes and Links:
Supports only Linux-based container images
https://docs.aws.amazon.com/lambda/latest/dg/images-create.html
https://aws.amazon.com/blogs/aws/new-for-aws-lambda-container-image-support/
Azure
Azure Container Instances
Develop apps fast without managing virtual machines or having to learn new tools—it is just your application in a container running in the cloud.
Notes and Links:
Does not provide autoscaling, load balancing, and certificates
Positions itself between Azure Functions (FaaS) & Azure Kubernetes Service (Cluster PaaS)
4 CPU and 16GB RAM is max for a container group
Pay for the CPU and memory usage while it runs
Azure Container Apps
Azure Container Apps enables you to run microservices and containerized applications on a serverless platform.
Notes and Links:
Powered by Kubernetes but no direct access to Kubernetes APIs
Supports service discovery, traffic splitting, long-running processes and can run background tasks
Optimized for running general-purpose containers, especially for applications that span many microservices deployed in containers
Billed based on resource allocation measured in vCPU seconds (vCPU-s) and gibibyte seconds (GiB-s) and the total number of requests processed each month
Pricing has two modes: Active and Idle. Check out: https://azure.microsoft.com/en-gb/pricing/details/container-apps/?ocid=AID3042118
App Service / Web App for Containers
Run containerized web apps on Windows and Linux
Notes and Links:
You need Azure App Service with a Service Plan
Container images from Azure Container Registry, Docker Hub, or a private Docker repository
https://learn.microsoft.com/en-us/troubleshoot/azure/app-service/faqs-app-service-linux
GCP
Cloud Run
Run containerized applications in GCP without the overhead of managing the underlying infrastructure.
Notes and Links:
Use cases:https://cloud.google.com/run#section-5
Pay when your code is running, billed to the nearest 100 milliseconds.
It can also be deployed into Anthos GKE clusters
Pricing:https://cloud.google.com/run#section-13
Container-Optimized OS VM
Container-Optimized OS from Google is an operating system image for your Compute Engine VMs that is optimized for running Docker containers.
Notes and links:
https://cloud.google.com/container-optimized-os/docs/concepts/features-and-benefits
https://cloud.google.com/container-optimized-os/docs/concepts/features-and-benefits#limitations
https://cloud.google.com/compute/docs/containers/deploying-containers
Let me know if I missed something. Feel free to leave a comment below the blog post.
Tags:
Jovica Zorić
Chief Technology OfficerJovica is a techie with more than ten years of experience. His job has evolved throughout the years, leading to his present position as the CTO at ProductDock. He will help you to choose the right technology for your business ideas and focus on the outcomes.