Container image - What is the purpose of using the phrase "Container image"? - microservices

When reading articles on the Internet and textbooks, they use the above terms and make us confused. When we try to understand emerging technologies, I believe the vocabulary behind them is a key point.
So, please help to clarify the following confusion on these terms.
Is the usage of "Container image" and "Docker image" similar and interchangeable?
Are they different on usage?
What is the purpose of the usage of "Container image"?

Docker, Inc. originally created the Docker product, which is a specific implementation of containerization technology,
Docker is a set of platform as a service products that use OS-level virtualization to deliver software in packages called containers.
There are many alternatives to Docker, like Podman, Containerd and etc.
Nowadays, Docker as a product is getting so popular, people often refer to containerisation technology as Docker. Almost like when we talk about search engines, we use Google.
So, I would use Container Image when talking about general containerization technology and use Docker Image when talking about the Docker product specifically.

Related

post kubernetes installation support

we are planning to install directly from kubernetes.io, instead getting it through vendor, for example open shift, rancher, etc.
How should we go about support if we have problem with our kubernetes cluster?
Of course, vendors also gets their kubernetes source code from kubernetes.io and don't change it.
Thank you.
Using OSS software directly means that whenever you face a problem you need to solve it yourself.
Having said that, there is a very wide array of communities filled with friendly people who would probably be happy to lend a hand, at least that's what I've learned through my experience.
A few places you should try are the issues section of the kubernetes project, kubernetes slack workspace, r/kubernetes.

Setting up Kubernetes with Kubespray & windows worker support

I have a requirement to set up Kubernetes on-prem and have Windows worker nodes that run .NET 4.5 containers. Now, while I found this link, I don't particularly like the idea of upgrading the control plane and rotating needed certificates manually.
Has anyone tried to use kubespray to bootstrap a Kubernetes cluster and manually add a Windows worker? Or can share any insight to setting this up?
Thanks for sharing.
This is an opinion question so I'll answer in an opinionated way.
So kubespray will give you more automation and it actually uses kubeadm to create the control plane and cluster components including your network overlay.
It also provides you with capabilities for upgrades.
Certificate rotation is an option on your kubelet and kubespray also supports it.
The downside of using kubespray is that you may not know how all the Kubernetes components work but if you want something more fully automated and like ansible it's a great choice.
Also the latest kubeadm supports certificate rotation on all your Kubernetes components as per this PR

basics of cloud computing

I am a beginner trying to understand why do I or others need heroku or other cloud services for application development. I want to know for what sort of applications or scenarios, do we need heroku or similar services?
For example, if I am an application developer, I can write my application (windows or linux) on my machine, run and test it on my machine and then share it publicly on sourceforge.net or some other website for free or for some money. I mean all of us download and run applications and programs from all over the web e.g., notepad++ or skype. They come as binaries and we can install them on our machines easily. I want to know where Heroku or cloud comes into the picture and do I/we need it? and why?
Please let me know if you need more explanation.
Heroku and Other PaaS providers helps you in application deployment and gives hosting of your application and some other features like High availability, scaling, load balancing, monitoring and ready made environment to run your apps.
Now why they cost? PaaS providers runs your application on virtual instance and use some management and deployment tool in front of it to manage and monitor your application that taken care for you. Manging a server is not easy now a day for big application, you need a high level of expertise and enough time to monitor periodically(may be hours). If you go for free hosting, you will not get all these feature of PaaS. Again it's your choice. If you can't bear down time and any data lose, you should prefer PaaS else you can go for Free hosting.
First of all notepad++ is not an application users of which need to interact or share. So it is not a good choice for to give an example. Heroku and other cloud providers host cloud applications. Generally, these applications, as part of their nature, need scaling. And scaling requires more hardware. Setting up hardware to scale your application requires time, money and expertise, so it is expensive. Buying these as a service is more appropriate for most people. I would offer you to read about IAAS, PAAS, SAAS concepts to start.
For a beginner or an individual hobbyist, the charm of Heroku or a similar PaaS lies in the fact that Heroku (and others) do away with the complexity of building and deploying cloud/web/saas software.
A typical app developer just knows/needs to know about his/her app. That is it. Why should you have to worry about how many machines you need to run your app on or get charged for machine time when you are sipping coffee and your app isn't doing anything or you are just trying out new things and don't know if it works. You can just write code and push your app to Heroku (or other platforms like it) and let them worry about things like servers, availability and reliability of your app. Yes, you will need to make some simple choices but those are much simpler choices than planning for scalability or database backup. And like any software platform, you will learn with time as to what suits your needs best. You adjust your app and things work fine. And remember you pay only for what you use and that can go up or down when you do more or less with the platform.
Also, if your app turns out to be a really popular app and you need to scale the app to support your newly founded fame :), you can ramp up your infrastructure on the fly for some affordable price.

VPS/VDS for Continuous Integration (TeamCity)

We are looking at moving some of existing infrastructure to the virtual space, hence the question:
Would you recommend a virtual hosting provider for hosting TeamCity CI server, based on your experience?
It'd be nice to get company names/links but if that's against the rules listing your VPS configuration should also do.
According to this answer on JetBrains forum http://www.jetbrains.net/devnet/message/5258265#5258265 these are the recommended specs for CI box:
Based on our experience, a modest hardware like 3.2 dual core CPU, 3.2Gb memory under Windows, 1Gb network adapter can provide acceptable performance for the setup
I don't think that VPS market has anything to offer in that space with acceptable price tag.

What is a "Cloud OS"?

The term is getting 'hotter' with Microsoft Azure and Windows 7.
What are the benefits + how does the status quo of desktop computing now change? Does the machine no longer need an OS installation (or a highly stripped down version of a typical OS)... what is needed to interact with the 'Cloud' ?
Update: Received my first RTFM on SO today.
To elaborate.. I'm interested in knowing how different is the 'new way' w.r.t. the services provided by a typical desktop OS today (read Win XP/Vista, linux flavors galore, etc.)... NOT the benefits of cloud computing.
Two buzzwords.
Basically its Microsoft's form of competition against Google's recent web-apps boom. So if you want to know what it's all about just open up google docs and gmail, and there you go :)
Now on a personal note, I'm glad Microsoft and Apple(Mobile Me) are trying to fight back against Google. We need the competition, so us the users can choose and get better apps.
Also I'm really not a fan of any corporation, so I'm not all that excited about Google killing off everyone else any more than Microsoft doing the same to others.
When Microsoft says Azure is a Cloud OS, what they mean is that it provides the same kind of services to developers targeting the "Cloud" abstractions that are akin to what a Desktop OS provides developers targeting desktop.
Amitabh Srivistava gave a great interview on Channel 9 explaining it. Basically, if you want to write a notepad application for a desktop user, you don't have to be concerned with writing code that interprets key strokes from the keyboard, or that sets up communications with a printer. This is due to the desktop os. Similarly, Azure lets a developer focus on their cloud app better by abstracting things like load balancing, authentication and authorization, failover, and a lot of concerns that one would normally have to address when developing for the Cloud.
Old school network diagrams always showed the internet as a cloud. Microsofts approach is still a client-server model, although a real 'cloud' os in theory would be a SOA architecture of loosely fit components interconnecting and working together without really being aware of eachother. Example: creating services for email, document authoring, file storage, etc- which could all be interconnected by different services that don't erally need to be aware of the final product.
So different way of thinking of it: the 'system' exists in the network- not one single location.
Gains: Transparency, redundancy (not only of each service, but for replacing parts if vendors drop out) and availability (as long as you are also connected to the network).
Losses: Vendor lock-ins, vendor's dropping out, interoperability nightmare, as far as I know- there are no real standards for this model.
Microsoft did not coin 'cloud' computing term. Please refer to the wikipedia entry for a more specific definition and etymology.
whats with the RTFM questions on SO lately? unless I'm missing some deeper meaning, your questions are obvious.
http://en.wikipedia.org/wiki/Cloud_computing
Cloud computing is Internet-based
("cloud") development and use of
computer technology ("computing"). The
cloud is a metaphor for the Internet
(based on how it is depicted in
computer network diagrams) and is an
abstraction for the complex
infrastructure it conceals.[1] It is a
style of computing in which IT-related
capabilities are provided “as a
service”,[2] allowing users to access
technology-enabled services from the
Internet ("in the cloud")[3] without
knowledge of, expertise with, or
control over the technology
infrastructure that supports them.[4]
According to a 2008 paper published by
IEEE Internet Computing "Cloud
Computing is a paradigm in which
information is permanently stored in
servers on the Internet and cached
temporarily on clients that include
desktops, entertainment centers, table
computers, notebooks, wall computers,
handhelds, sensors, monitors, etc."[5]
http://en.wikipedia.org/wiki/Azure_Services_Platform
Microsoft's Azure Services Platform is
a cloud platform (cloud computing
platform as a service) offering that
"provides a wide range of internet
services that can be consumed from
both on-premises environments or the
internet"[1]. It is signficant in that
it is Microsoft's first step into
cloud computing following the recent
launch of the Microsoft Online
Services offering.
...
The idea and push from Microsoft to
compete directly in the software as a
service model that Google's Google
Docs have offered is increasingly seen
by them and others as an important
next step in application development.
In this idea, a software doesn't have
to be installed and managed on the
user's computer. It also allows files
and folders to be accessed from the
web.
So far, it looks like the idea of having software & your data hosted at msft's data centre.
SOA seems to be related to what cloud is offering.
No need to have local software (office will run from internet, your docs will be saved there. so that, you can access it anywhere). I think, the target could be big companies - thereby giving them services (software + hardware (data storage + processing power)) on subscription basis.
An expert can shed light on how this can be useful?
Will people be willing to put everything in the cloud?
Cloud is Time Sharing. Us old timers remember those days. You either wrote your own apps and ran it on their (the Time Share/Cloud providers) systems or you use the software they supplied. Usually word processors and accounting apps.
Google Apps is cloud. And since you get HD space you can already serve up your own app running on their systems.
Time Share was all the rage in the 70's and 80. Cause maintaining a system of your own wasn't cheap. Back then the smallest system any company ran was a mid-range (like Honeywell, AS400, Dec, etc, etc). Fell out of favor as the PC became popular. I remember when Lotus 1-2-3 came out and everyone predicted it would destroy what was left of Time Sharing. And it (along with dBase and other aps) did.
It's funny how we re-invite everything.
PS: Forgot one thing about Time Sharing. Since the Net wasn't around, you had to schedule your time. SO your staff would go to the providers Data Center and work. It was like renting space and the systems. Time Share and Cloud operate differently, but the function is the same.
Well like many new terms, there can be more than one answer. Frequently it can be defined as a compute platform, where the developer doesn't have to worry about resource management, scalability or hardware failures, because the cloud infrastructure handles it. Here is a link to some information the company I work for has:
http://www.appistry.com/resource-library/index.html
There are some good white papers linked here that might be helpful to you.
-Brett
A cloud operating system primarily manages the operation of one or more virtual machines within a virtualized environment.
Microsoft Windows Azure and Google Chrome OS are among current examples of cloud operating systems.
Azure App Service is one of the common and most used services. While it is possible to immediately deploy apps, jobs etc., to the app service, a common factor that baffles decision makers is the wide spectrum of the tiers (options of plans) available in the marketspace. To know more details,visit:https://www.impigertech.com/blog/azure-app-service/

Resources