With the growing insights into the PRISM program the reluctance against US-based cloud services is raising on a rapid speed in Germany. Especially, from companies and individuals located in Germany my perception is that they try to avoid US-based cloud services wherever possible. For instance, the very popular German business contact networking plattform Xing just started a data privacy campaign stating that all servers are located in Germany. As sign that this is of high interest for Xing customers is that this campaign is shown on the top of the first page which you see when you log in to their service. This is just one example that services using US-based data storage or computing power are considered harmful.
Based on these developments described above I started evaluating different cloud-computing offerings based in Germany or European. I included the Europe as the data privacy laws in Europe are (mostly) similar to the German ones. As Amazon AWS is considered as one of the leading cloud service providers with a comprehensive set of cloud services I use them as a reference. In the following I summarize my experience with competitors for selected cloud services. I selected the cloud services based on my use cases.
One important finding is already that no competitor in Germany or Europe provides a similar set of services that is able to compete with Amazaon AWS. In fact, all competitors focus on one or two cloud services and leave other cloud services to other companies.
- EC2/IaaS: Many companies provide IaaS services which means (virtualized) cloud servers that can be controlled by an API. For instance JiffyBox by domainFACTORY is a service I use for a few of my projects. It runs smoothly but the size of the cloud servers is limited to 6 CPUs and 32GB of RAM. This makes JiffyBox not suitable for projects that require large cloud servers (e.g., database servers). Profitbricks is more flexible when it comes to the size of cloud servers and they provide an addional computing center in Las Vegas, USA. However, they had some stability problems during their launch in 2011/2012 so I never used them for any of my projects. My experience with Profitbricks is just based on their test accounts they provide for free. With CloudSigma my level of experience is similar to Profitbricks. However, they are located in Zürich, Switzerland so I never considered them as a proper fit. A couple of days ago I read about GreenQloud, an IaaS provider based in Iceland. The difference between them and any other IaaS provider in the list is that their cloud server product ComputeCloud is API-compatible with Amazon AWS. I just started my evaluation of these service so if you have any experience with them I would be happy to hear about it.
- The PaaS/Beanstalk area is nearly as crowded as the IaaS/EC2 area. For instance, there is fortrabbit.com from Berlin, Germany that provides PHP as a service combined with mysql-databases and memcache. Their service runs on top of Amazon AWS which actually disqualifies them from this comparison. The same is true for cloudcontrol.com which provides a Java, Python, PHP, and Ruby support but runs also on top of Amazon AWS. In contrast, Jelastic (provided by dogado and Host Europe) runs in the data center of Host Europe which is located in Cologne, Germany. Jelastic provides a huge set of programming languages (e.g., Java, Ruby, PHP), databases (e.g., MariaDB, PostgreSQL, MongoDB, and CouchDB) and premium services such as high availability and load balancing. I use Jelastic for some of my projects and I am very happy with their service even that an API to manage their PaaS infrastructure is not existing. However, this will be changed in the future as I was told by a Jelastic guy.
- Object store/S3: Object stores are provided by many hosters nowadays. For instance Host Europe is offering an object store that comes with an S3-compatible API. Also, Greenqloud offers something similar which they call StorageQloud. There also exist companies offering storage solutions based on Openstack Swift such as Internet4You. All these solutions provide the basic features I expect from a object store so I am fine with them.
- Anycast DNS-Hosting/Route53: I searched for a while but I could only find one cloud service located in Germany or Europe: ECS-Webhosting. This service looks a little bit old fashioned and it does not provide an API to control it. Additionally, it is quite expensive so I did not check it out.
- CDN/CloudFront: In the CDN area there are a few German- and Europe-based companies. For instance wavecdn.com is located in Fürth, Germany. They provide an CDN which is based on more than 10 points of presence on five continents. The CDN can be easily controlled by an API. For one of my relatively small projects this CDN worked fine. Besides wavecdn there are tv1 and cdn77 which I never used so far.
The good news is that as you can see there are German- or Europe-based competitors to Amazon AWS that provide a similar set of features. A really huge drawback is that if you go with these competitors you have to handle a group of cloud service providers. Especially, if you think about setting up contracts, managing partners, integrating services (e.g., API integration, interoperability of services), and running services (e.g., status monitoring, troubleshooting, services windows, service down-times) is by far more complex if you handle four or five providers instead one. However, if the data privacy is on risk it often makes a lot of sense to add these additional management overhead.
If you want to contact me please drop me an email at king@t-king.de.
This text represents my personal opinion and has nothing to do with any company I associated with.
Posted by Thomas King at 14:05 2013-09-07 | Trackbacks (0) | Comments (0)
DevOps: This is What Start-ups Practice (Cloud Computing)
The DevOps movement is currently getting stronger and stronger. I think this is good!
Let me quickly summarize what DevOps means for those of you who have never heard of it: DevOps is about developers not only building software but they are also responsible of running it in production. This is new in a sense that (small and big) cooperates usually divide between developers responsible for building a software and operation engineers who are in charge to run the software. These two groups have typically different priorities which are often conflictive. The operation engineers do not want to make (big) changes to software that runs without any problem while software developers have a high interest in adding new features and using new technologies to fulfill their tasks. If software breaks finger pointing typically starts because software developers say operation engineers do not support their new features and technologies. In contrast, operation engineers state developers add feature after feature and new technology without thinking about how to run these in production. They also blame software developers for not providing tools that support typically operation tasks such as monitoring or logging. To overcome this situation the DevOps movement state “you built it, you run it” meaning software developers are responsible for running their code.
Another facet of the DevOps movement is that tasks that have to be repeatedly executed are automated. This means technologies like file versioning, scripting, testing and monitoring are deployed and heavily used. This leads to easier and faster common task execution and this is typically an enabler for deploying software more often (e.g. a few times a day).
I really like the idea because from my point of view a developer is not only responsible for adding a feature but he is also responsible to think about the impact of his changes when the software runs in production. If the software developer is the guy who is responsible to run the software he makes sure his changes do not make his live troublesome. The developer makes also sure new features can be easily tested and monitored to detect if something goes wrong before the production system comes to a halt. And if something goes wrong the software developer will be in a position to update the production system quickly by using automated software deployment.
At all small companies and start-ups I was responsible for software development we lived the DevOps ideas even without knowing this movement existed. At the beginning if the team is small it is natural that no dedicated operation engineer is available. This means the task of running software is the task of the guy who developed it. If the team grows and software gets more complex the responsibility of running the software sticks with the team that developed it. So the software developer team is responsible that (1) the software which is ready for production is intensively tested and monitored and (2) the software deployment process is easy and automated. If still something goes wrong (and this will be case on a regular basis) the software development team is responsible to identify the root case of the problem and fix it. As soon as the fix is tested the new software version is deployed to production.
If I compare the ease of running software in start-ups with big cooperates I understand why big cooperates bush the DevOps movement so hard. :-)
This text represents my personal opinion and has nothing to do with any company I associated with.
Posted by Thomas King at 10:55 2013-09-04 | Trackbacks (0) | Comments (0)