11 ms·
Azure Container Instances
- eoinmurray92 9y agoPretty awesome this can be done in one command. At Kyso we deploy a lot of data-science images to GCP, it can be tricky. Is the API support for this coming?
- bdburns 9y agoAPI support is already there. The docs/SDKs need to be updated, but there are some examples here: https://github.com/Azure/aci-connector-k8s/blob/master/synchronizer.ts#L27 https://github.com/Azure/aci-connector-k8s/blob/master/synch... https://github.com/Azure/aci-connector-k8s/blob/master/aci.ts https://github.com/Azure/aci-connector-k8s/blob/master/aci.t... Docs/SDK updates should roll out in the next 1-2 weeks.
- seanmck 9y agoThe swagger spec for the preview API is here: https://github.com/Azure/azure-rest-api-specs/tree/current/specification/compute/resource-manager/Microsoft.ContainerInstance/2017-08-01-preview https://github.com/Azure/azure-rest-api-specs/tree/current/s... Please send us feedback.
- dougfish 9y agoSean - I'd like to see this, but the link you provided seems unavailable to me. I see only a 404 page. Maybe it's incorrect or access is restricted?
- mankash666 9y agoIf this works as advertised, it's awesome. It's like AWS lambda, without language restrictions, CPU or RAM throttling, etc. Truly serverless
- nsebban 9y agoSince you can basically run anything that fits inside a container, the comparison with AWS Lambda doesn't seem relevant to me. If you really want to draw a comparison with AWS product, it's pretty much a serverless EC2 ECS.
- zbruhnke 9y agoActually Lambda was my first thought as well. I'll give you an example - When I first discovered Lambda I had been working with containers for 6-8 months already and when I saw lambda it hit me that they just have container images capable of running python and node projects that this spin this up in and run the code we ask them to. My mind immediately then went to our data pipeline that I'd like to run on a nightly schedule. This is typically done using a tool like Airflow or Luigi but I thought I could probably even just build the whole thing in lambda tasks that trigger via cron and SQS. The reason we ultimately did not do that with Lambda was because it limited the amount of A. time and B. Compute resources one lambda task could use and we did not want to try to optimize for that when working with increasingly large amounts of data. With something like this (ACI) I could actually do exactly this and even if its triggered by something like Airflow or Luigi I could run those on a much smaller instance and save the larger compute problems to being done on ACI in small spurts
- lindydonna 9y agoFYI that while you can solve similar problems with Container Instances and Lambda, the closest offering to Lambda is Azure Functions.
- arethuza 9y agoAren't Azure Functions the direct equivalent of AWS Lambda?
- jeppebemad 9y agoYes, I'd say so.
- sammorrowdrums 9y agoDoes anyone know what service discovery, network security policy and ability to add multiple redundant copies of the same service this offers? I'm guessing it's powered heavily by kubernetes, so maybe that answers the question, but I'd be interested to know more about the details.
- rad_gruchalski 9y agoWasn't Microsoft heavily invested in Mesos / DCOS?
- deleted 9y ago[deleted]
- gabrtv 9y agoIf you need service discovery, replicas, rolling deploys, etc. ACI probably isn't for you. Check some of the experimental work we released today connecting ACI with Kubernetes: https://github.com/Azure/aci-connector-k8s https://github.com/Azure/aci-connector-k8s
- yebyen 9y agoWas looking to see if one of you guys turned up in this thread. "And how was the Deis team involved in this?" Didn't see any mention of you all in the article. Thanks for showing up and weighing in on this! k8s connector looks really cool, is this a totally unique thing or are there anything comparable for ECS? I've never heard of a Kubernetes cluster with virtual nodes! Sounds like you could use this connector and potentially save yourself from ever needing to configure autoscaling in the Kube cluster. I'm really curious how things are going at Microsoft for this incredibly productive team of people, from Deis, who have put out so much great software that has kept my attention. Hope that everything is great!
- seanmck 9y agoACI lets you schedule individual containers (technically container groups, which are equivalent to K8s pods). Everything on top of that - scaling, service discovery, rolling upgrades, etc. - is up to you. That's why we think the Kubernetes connector [1] is interesting: [1]: https://github.com/azure/aci-connector-k8s https://github.com/azure/aci-connector-k8s
- Ghostium 9y ago"Each container deployed is securely isolated from other customers using proven virtualization technology. " Does anybody know if they mentioned anywhere what they use? LXC or Jails? Or some homegrown stuff?
- benaadams 9y agoJust as a guess Hyper-V containers? https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/hyperv-container https://docs.microsoft.com/en-us/virtualization/windowsconta...
- gnepzhao 9y agogithub.com/hyperhq/runv
- justincormack 9y agoIt appears as far as I can tell to be running Docker on Ubuntu on Hyper-V, but with one container per VM.
- rattray 9y agoTldr: > An Azure Container Instance is a single container that starts in seconds and is billed by the second. ACI offer highly versatile sizing, allowing you to select the exact amount of memory separate from the exact count of vCPUs... az container create -g aci_grp --name nginx --image library/nginx --ip-address public –cpu 2 --memory 10 There's also a k8s connector, promising faster spinup times: https://github.com/azure/aci-connector-k8s https://github.com/azure/aci-connector-k8s
- ybrah 9y agoLots of pains using Microsoft azure at my workplace. We always AWS when we're allowed, which isn't often enough. Lots of weird issues.
- jzs 9y agoWhile it sounds cool i'm a bit dismayed by the naming choice as ACI in my head is short for the Application Container Image format as used by CoreOS and appc.
- dragonwriter 9y agoSo, are we just now using “serverless” to just mean “dynamically scalable” the same way that “cloud” used to? Because, previously, “serverless” seemed to mean not needing to deal with anything lower-level infrastructure than function calls (that is, a higher level of abstraction than even a classical PaaS like GAE managed runtimes), while container hosting, dynamically scalable or not, is somewhere between classic IaaS and classic application-language PaaS.
- sctb 9y agoWe've updated the submission title from “Microsoft Azure launches serverless container instances” to that of the article, which doesn't mention serverless at all.
- CharlesW 9y agoI wanted to see this in context but couldn't find it. Is the word "serverless" used in the article?
- rifung 9y agoIf you look at a reply to the comment you're replying to you'll see it previously in the title. It might have been posted between the change and your comment
- dragonwriter 9y agoWhile we've passed the point that this shows up in the timestamp, the message that indicated the change to the title was 1 minute before the one asking the question about where the term was used.
- gabrtv 9y agoServerless tends to be a conflation of 3 features: 1. Invisible infrastructure 2. Microbilling 3. Event-based programming model ACI offers 1 and 2 without forcing 3, thanks to containers.
- owebmaster 9y ago
- 013a 9y agoCompanies like Hyper [1] should be put on notice. This is a surprisingly unique product. AWS ECS and GKE both require some form of management of the underlying VM. A lot of that management is abstracted away, but not in the same way this is. That being said, pricing [2] seems odd. At $0.0000125/GB_Second and $0.001/Core_Second, lets say you want to replicate an Azure A3 instance (4core/7gb/$130). That would cost... over $10,000/mo. Is my math right on this? It can't be. For one-off jobs, maybe this makes sense, but as the backbone of a Kubernetes pool or something I'm not so sure. [1] https://hyper.sh/ https://hyper.sh/ [2] https://azure.microsoft.com/en-us/pricing/details/container-instances/ https://azure.microsoft.com/en-us/pricing/details/container-...
- kuiper83 9y agoLooks like they have conflicting data on that page. Further down it quotes "$0.000013 for every Core-s used".
- halestock 9y agoYeah, the examples they give during pricing definitely make it sounds like it's for one-off jobs or extremely short durations: "You create a container instance with a one core, two GB configuration 50 times daily during a month (30 days). The container duration of each instance is two minutes and 30 seconds."
- deleted 9y ago[deleted]
- 9y ago
- jbb67 9y agoThis doesn't seem cheap >> £0.001 Core per second That works out at over £2500 for a single core running for a month. And thats without memory costs etc...
- benaadams 9y agoFrom further up in thread > The core second price at the top is incorrect. The per-second prices for cores and GBs are the same: $0.0000125. We are getting that fixed now.
- IanCal 9y agoThey replied above, the cost is incorrect on the site, it should be $0.0000125, which is $32/mo (~4¢/hour).
- jo909 9y agoThat is very likely a display issue and they round up way way too much in that table. In the Pricing Example they use $0.0000125 per Core, which would make it ~33$ for a month for a single core, and double that if you include 1 GB of memory.
- deleted 9y ago[deleted]
- tschellenbach 9y agoI don't see why you need a container for your cloud instances. Puppet/Chef/Ansible are all much better solutions.
- bacongobbler 9y agoThe value-add here is not to be running cloud instances in containers. Rather it allows you to run containers and be billed by the second, which opens the doors to short-lived jobs running in containers on the cloud. It's closer to serverless platforms rather than VMs.
- FridgeSeal 9y agoI built an internal tool where teammates submit some details and a fairly computationally heavy data processing task run and posts the summarised results back to a slack channel. I use containers for this, because it's a really easy way to really quickly get access to compute instances (which vary in size from like 4gb ram to 100gb+ of ram depending on what the user submitted) really quickly and for really cheaply because I only pay for the time it actually runs, rather than renting out an EC2/VM instance all the time (which would either be underpowered, or end up costing too much), or build some frankenstein-ian thing to dynamically provision and spin up EC2 instances on demand, set them up and then shut them down/terminate them once they finish.
- garganzol 9y agoI find it funny to see containers landing in Windows. While I fully approve the containers on Linux, to me it looks like Windows does not really need them: it already has a stable notion of executable files with full binary compatibility. An old but gold EXE format is your container. Please excuse my probable naivety, but am I missing something?
- pm90 9y agoContainers are not just about providing stable executable files, but consistent and reproducible environments. Besides, having a unified way of deploying both linux, windows or any other OS seems like a win-win since your backend (docker, or whatever container runtime you use) would remain the same.
- kichik 9y agoYour old but gold EXE still has access to system registry and files. It also commonly requires a lot of DLLs and configuration files next to it. A container has all the dependencies contained and has a private set of files and registry. So no installation and no-side effects.
- efficax 9y agoContainerization arose out of Linux namespaces. What you get is process segregation under the same kernel, like jails or chroots but more granual. So security, that's the answer.
- stephengillie 9y agoContainers allow different EXEs to leverage different versions of the same DLL, much as the WinSxS folder does. It solves some problems that Windows previously solved, in new ways. Also it prevents "server bloat", where a web or AD-LDAP server gets incidental utility roles attached, like running scripts or being a bastion/jump-box. You can't really RDP to the container, so you can't update DNS from there.
- WestCoastJustin 9y agoSecurity and upgrade paths play a massive role.
- edpichler 9y agoI prefer my Docker containers inside Digital Ocean servers, a lot cheaper than Azure, and with automatic backups.
- hardwaresofton 9y agoWhat's really got me excited lately is the combination of Ansible (for dirty work) and container orchestration systems like Kubernetes/Rancher/etc (also, tools that go from one orchestrated host to many like dokku and flynn). While I appreciate the competition from GCE and Azure, what I really want is a tool that will run in any one of their clouds, but offers the same ease-of-management, and lets me go from one cloud to another or to a private cloud without breaking a sweat. I want the competition to be 70% on price and 20% on added-management-value and 10% on bundled services. Terraform is basically this tool, but I want an even easier interface, terraform still feels somewhat too specific to me -- I don't want to even have to write config or specify some "aws" adapter that will make my config work on some provider. I want instant, multi-cloud (possibly) heroku, using only the network, hard-drive-space, ram, and lxc "primitives". Someone (maybe me if I ever find time) just needs to get to work making F/OSS versions of all the bundled tech (ex. blob storage, cloud function runners, dynamically configurable DNS resolvers, simple alerting, etc) that runs in a container, and then the question just becomes "where can I get the cheapest most performant VPS that will host my containers".
- thockingoog 9y agoI hear what you're saying, but don't under-estimate the value of "someone else runs it and gives me an SLA", which is a large part of what public clouds are really selling. :)
- hardwaresofton 9y agoYup, I definitely hear that! 20% is naive in the value breakdown I gave, the peace of mind is probably worth so much more.
- convolvatron 9y agothe clear end goal here is that you have to deal with things like 'provisioning virtual disks' and 'doing ubuntu updates'. this whole virtualization thing received you of the burden of buying pci ethernet nics and rack mount brackets and provisioning cooling. but really this whole business of writing chef recipes and provisioning harnesses is really the same kind stuff. it seems important because you can't run without it, and thats what your whole day is...but really its pretty secondary to what you're actually trying to accomplish (run a service) its interesting to think about what that world might look like...someone is going to make something like that stick at some point. so...why are people provisioning their own containers/vms instead of using the higher level services right now?
- slap_shot 9y agoI'm a co-founder of a stealth-stage company that helps data analysts/data engineers build data pipelines. Every "task" that can be done in our framework is essentially just an image that can be reused over and over with different settings. We deploy these tasks across Kubernetes clusters on AWS, GCP, and Azure. Since these tasks are schedule irregularly and are short lived, we had to do a lot of work to dynamically scale the nodes up a head of their demand and down after, and we typically have to pay for at least 10 minutes of usage no matter how quickly the job finishes. This "pay-by-the-second" will be a huge win for us. Most of our tasks deal with S3/Redshift or GCS/BigQuery, do we can't immediately use this. But as we onboard more clients working with Azure Storage/Data Lake/Data Warehouse I see some big operational gains for us. Here's hoping we see similar developments across the other major cloud providers. Very impressed with Azure's development in the last 3 years!
- gnarmis 9y agoCheck out Hyper.sh too. It abstracts away the whole datacenter -- you can use `hyper` instead of `docker`, basically. You don't need to think about VMs ever as a concept, containers run directly on the hypervisor. And they have Hyper Func, an AWS Lambda-like alternative that uses images. And per second billing. On the downsides, they're small and they have one data center, and they're not Microsoft. But their tech is open source.
- gnepzhao 9y agoWe don't want to compete with the big providers, instead we open source the tech to enable more container-native clouds, where the world will become a seamless (portable) network for containers (different clouds are different ports with the same image spec and API).
- djhworld 9y agoWhat's nice about this is the directness of it. As far as I understand, with services like AWS ECS you need to provision the infrastructure first and pay for its uptime, whereas this allows more ephemeral containers to be run with minimal setup, and you only pay for the compute time used Would only be useful for short lived jobs, but a really nice idea none the less.
- anonacct37 9y agoI don't want to spread FUD, but my understanding is that the container security model is not 100% and that's why people like AWS force your containers to run on EC2 instances. The container security model will almost certainly improve in the future, but for now I'm only ok with other people in my same company sharing the kernel, not incentivised attackers. [edit] I'm going to unfud my comment. Some further reading makes me think maybe they spin up something like kvm containers and use a minimal distribution such that they can get to "seconds". If it were me, I'd have pre-running instances of the base image that were ready for a customer to attach and own.
- bdburns 9y agoAzure Container Instances developer here... Each container has hypervisor level isolation. We are not relying on kernel level isolation for security isolation between different user's containers.
- holografix 9y agoThis looks like Heroku with more granular control of the container specs?
- andrewstuart 9y agoI would like it if the major cloud providers implemented microsecond boot and teardown times for instances along with suitable pricing. Unikernels and a whole zoo of other types of tiny operating systems would be enabled by this. I'm not a fan of containers - I feel they are reimplementing much of the operating system infrastructure within the OS at the price of high and unnecessary complexity. It's frustrating that cloud computing has so many benefits, but at another level we must wait and hope that Amazon Google and Microsoft are willing to implement new architectures such as microsecond level boot and teardown.
- jwildeboer 9y agoContainers is Linux, even on Azure ;-)