Elevate Your App Development with Deploio

Today we’re lifting the curtains and are thrilled to present: Deploio, our Swiss-made, next-gen app engine, designed to simplify your software deployment. We want to get right to it and tell you a little about its core features:

👉 Seamless Deployment: Deploio simplifies your app deployment and management, allowing you to focus on innovation for your core business. Your code, our commitment – let us handle the intricacies. Discover all about Deploio now.

👉 Swiss Privacy: In a world where your data is your most valuable asset, we provide Swiss-hosted and Swiss-made solutions that are a fortress for your data. Deploio is your local champion in a global competition.

👉 Centralized Control: We understand that your time is valuable. That’s why Deploio and our latest DBaaS product are integrated into our Cockpit. It’s a consolidated dashboard, curated for efficiency.

Are you curious and want to try Deploio right away?

🎁 This is your exclusive invite to do so: Experience Deploio for free for two weeks. As a cherished and loyal customer, your insights are crucial to us and we want to make sure your feedback shapes the future of our new product! Let Deploio be the canvas for your next masterpiece and start now!

🗣 Deploio is currently in beta, and we envision shaping its future with you. Let’s sculpt app development – together! Join the Slack Channel now and click here to get started.

Cloudflare: Protecting Apfelkiste.ch from DDoS Attacks

apfelkiste.ch is one of Switzerland’s biggest online shops. In 2020, it saw a turnover of 60 m Swiss Francs.

From the start, the company’s enormous growth made it clear that apfelkiste.ch would become the target of DDoS attacks. Thus, the company worked with Nine and Cloudflare to establish a solution early on. This solution is not only resistant to DDoS attacks, but also offers many other advantages by providing less complexity and stronger performance.



Interview with Sven Härtwig  (CEO and Proprietor of narf-studios GmbH, commissioned by apfelkiste.ch to maintain their webshop). Blogpost created by Tom Hug (Nine).


Why did you purchase Cloudflare from Nine?

Cloudflare offers a Content Delivery Network (CDN) as well as Distributed Denial of Services (DDoS) Protection and a Web Application Firewall (WAF) from a single provider. With 200 locations around the world (Zurich and Geneva in Switzerland) and excellent peering with a variety of internet providers, Cloudflare is well-equipped to improve the performance of devices used in Switzerland and thus enables an unhindered shopping experience for our customers.

In connection with their CDN, apfelkiste.ch also uses so-called Edge Computing, which eases the pressure on servers hosted by Nine. Edge Computing means, for example, that images are only stored in their original size on Nine’s servers, while any custom sizes are created by Cloudflare on the fly. This can lower CPU usage and save a lot of storage space. Cloudflare Workers uses a JavaScript Runtime on Edge which is very accommodating when it comes to individual client requirements. Thanks to the use of JavaScript, the application makes any front-end developer feel right at home. For example, a self-developed Worker can directly recognise devices (e.g. smartphones or 3G-enabled devices), meaning that images can be adapted to each device as well as the necessary bandwidth without any contribution from the application itself. In addition, we can edit entire websites and add dynamic content, such as impromptu promotional pop-up messages, from the cache – before they even hit the device – without completely rebuilding caching. In this way, we attain maximum performance while keeping usage on our application servers as low as possible. 

Furthermore, we appreciate the flexibility of caching, which allows, among other things, for purging of individual pages via tags and API. If a change to a product is detected, Cloudflare receives a command directly from the backend and all cached objects which are connected to this particular product are first invalidated, and then rebuilt through a cache-warming process. As a result, we attain a high cache rate, while maintaining strong flexibility, and can thus consistently provide optimal performance and quick delivery times while keeping server usage low.

Nine is a Cloudflare Enterprise Partner, and Nine’s engineers possess the necessary know-how to support us. They know which Cloudflare services would best complement our setup and are aware of their advantages and drawbacks.

Why did you choose Nine at the time?

Nine was able to quickly provide a solution tailored to our needs and to ensure a swift and straightforward migration. Thanks to Nine’s long-standing experience, our issues were well-known to their engineers, and they knew how to tackle our challenges perfectly and reliably.

How would you describe Nine in one sentence?

Through a combination of strong expertise and technical solutions, Nine provides us with the security needed to no longer face days such as Black Friday trembling in fear, and the possibility to offer an extremely high-performance web shop.

What are the emerging trends and developments in the market (from your point of view)?

In ecommerce, there is a clear trend towards more mobile devices. In 2019, their share already made up more than 60%! In addition, fast loading times are becoming much more important. In this context, approaches such as headless PWA concepts are gaining in importance as well.

Which topics have you and your team focussed on in the past months?

At the moment, our redundant cluster is only running in one of Nine’s locations. We are aiming to expand our setup further, while adding more reliability as well. Performance optimisation is and will always remain a topic we are constantly working on.


If you would like further information regarding Cloudflare or DDoS protection, contact Nine.

DevOps: What you should know about DevOps and the use of the DevOps concept

When development and operations are in tension, separate teams, each with their own self-image and different principles, concepts and tools, become a major challenge, and not just in the IT sector. Inevitably, conflicts or problems arise that stand in the way of rapid, agile development and deployment of new applications or software. With DevOps, companies can solve this dilemma and bring development and operations closer together. Processes are accelerated without the quality of work suffering.

We will show you what is behind DevOps, demonstrate concrete technologies and tools, and provide real-world examples. 

What is DevOps?

The word DevOps is made up of the first letters of the two English terms “Development” and “Operations”. It is a conceptual approach that improves and accelerates the processes in software development and system administration through closer integration. It is a response to the weaknesses of traditional software development, such as the classic waterfall model. Development, testing and operation are much more closely networked and coordinated with each other through continuous feedback. The goals of DevOps are the fast and agile implementation of new requirements, short release cycles and the provision of stable, high-quality software.

Often, the design of the DevOps concept is interpreted differently: Some focus more on the technologies, tools and ways of working, others more on culture, management, leadership and working philosophy. What unites both is that DevOps is a comprehensive concept and concerns the interlocking of different areas. If DevOps is to be introduced in the company, not only technologies, tools and working methods have to be adapted, but the corporate culture, management style and working philosophy will also change.

One more note at the end of this definition: IT security is increasingly being integrated into the DevOps concept. The so-called DevSecOps extends the DevOps concept to include the security aspects. DevSecOps is a logical continuation of the DevOps idea.

How did the DevOps concept come about?

In the past, traditional software development was guided by models such as the waterfall model.

The waterfall model is a linear model with the precisely defined, sequential development steps of requirements analysis, application design, programming and testing. After testing, delivery is made to the operations team, which moves the application into production and makes it available for use. For each new requirement, the entire development process has to be gone through again. Between development and operations, there is only the delivery interface and hardly any feedback. For these reasons, the processes are slow and error-prone.

For the modern application environment with rapidly changing requirements, these compromises are no longer acceptable. To speed up processes and improve product quality, closer collaboration between software developers and IT operations is required. The DevOps idea has emerged from the desire for more agile software development.

DevOps principles and methods

In some ways, DevOps is similar to the Kaizen principle. If you are not familiar with Kaizen, Kaizen is a Japanese word and means “improvement” in English. The Kaizen principle stands for a concept that involves all functional units and acting persons involved in order to continuously optimize a process. Kaizen is used in a wide variety of industries. For example, if a problem arises in a production process, the employees involved in the process report it immediately and interrupt their work. The problem is analyzed on the spot and corrected together with development, control and management. If you would like to take a closer look at Kaizen, you can find more detailed information on Wikipedia, for example.

Transferred to the DevOps idea, Kaizen means that the development and operational processes are in a continuous cycle consisting of the activities Plan, Do, Check and Act. The teams and management involved must internalize the Kaizen principle. Linear models such as the waterfall model described above are replaced by a cyclical process with constant feedback. This cycle involves the planning, development, deployment and operational phases. None of these phases is assigned to a specific role. Each role (development, test, operations) is involved in all phases to some degree.

There are three DevOps principles – better known as “The Three Ways” – consisting of

  1. Flow Principle
  2. Feedback principle
  3. Principle of continuous learning and experimentation

Methods such as Continuous Integration and Continuous Delivery (CI/CD) are derived from these principles. They play an important role for DevOps. The CI/CD process combined from both methods automates all steps of integration and deployment of new program code.

What is Continuous Integration (CI)?

Continuous Integration is a method of continuously integrating the new or changed program code into the main code of an application in small steps. Automated tests take place during each integration and ensure that the main code base always remains stable. Time-consuming feedback and correction processes of the complete code, which would be necessary in the case of a non-steady (continuous) integration of a faulty code, can be avoided. Errors are discovered much earlier than in classical software development processes.

What is Continuous Delivery (CD)?

Continuous Delivery provides new versions of an application or software automatically in regular short intervals in the production environment. The current software can be delivered at virtually any time. The user receives a current version of his software executable at any time. Automated tests ensure that the applications are checked, regardless of their development status. The continuous updates reduce the risk of deployment errors compared to large software jumps.

What are the benefits of DevOps?

Most of the benefits come from the close integration of development and operations, which allows for better communication, faster feedback loops, and agile actions in the first place. All aspects in the lifecycle of an application are mapped in a comprehensive overall concept. Software can be delivered faster, more flexibly, and more agile without compromising the quality of the application and the stability of operations. The requirements of modern applications, which change in shorter and shorter cycles, can be better mapped from both a development and an operational perspective. High quality and rapid deployment of new or adapted software no longer represent contradictions. The advantages of DevOps are briefly summarized as follows:

  • fast, agile implementation of new requirements
  • accelerated delivery of high-quality software
  • accelerated innovation cycles
  • shorter time-to-market
  • early detection and elimination of faulty code
  • reliable operation of applications
  • Closer collaboration and better coordination of previously isolated teams
  • More efficient management of complex systems
  • Optimization of workflows and more efficient use of employee resources
  • Improve the customer experience

What is the relevance of DevOps in today’s enterprise environment?

In today’s business environment, software plays a critical role in all areas of the enterprise. Applications support or control almost all business processes. Increasing digitalization and Industry 4.0 further increase the importance of software. Hardly any part of the value chain can be done without software support. In order to keep pace with the rapidly changing business world and the competition, it is crucial that applications can be adapted quickly and made available in high quality and reliability. IT problems or software errors discovered too late can lead to production downtime and enormous financial losses. Classic development and operational processes are overwhelmed by the speed of today’s business world. DevOps provides appropriate solutions and is highly relevant for companies regardless of size and industry.

With DevOps, the required application functions can be provided quickly and in high quality, IT architectures can be improved and work resources can be used more efficiently. In this way, companies deliver excellent service to their customers.

What technologies and tools are typical for DevOps?

In addition to working principles, methods, corporate culture and working philosophy, DevOps has a lot to do with technologies and tools. In the implementation of the DevOps concept, the use of the following technologies is typical:

  • Cloud computing
  • Container virtualization
  • Container orchestration
  • Micro service architectures
  • Serverless computing
  • Code repositories

Cloud computing with its service models Infrastructure as a Service (IaaS), Platform as a Service (PaaS) and Software as a Service (SaaS) paves the way to abstracted IT environments. For example, the infrastructure required for application operation can be mapped as code, versioned like software and provided on-demand. Providers such as Google, Amazon or Microsoft, and many other companies provide corresponding cloud platforms.

Container technology ensures the virtualization of applications or services and separates them from the underlying resources. Container runtimes such as Docker or containerd have established themselves as the de facto standards in the field of containerization. Micro-service-based architectures for cloud-native applications can be built from many individual containers.

The management and proper interaction of the many different containers is handled by container orchestration. The most popular and widely used tool for container orchestration is Kubernetes. Kubernetes automates the creation and deployment of containers and enables the elegant mapping of complete CI/CD pipelines.

Code repositories such as GitHub serve as a central code version management in the DevOps environment. A variety of different developers can work simultaneously on a code base while others review and evolve the code. The consistency of the code is ensured at all times.

The concrete use of the DevOps concept: Two concrete examples of DevOps

Case 1: New application of a startup that needs to adapt quickly to changing market requirements

Speed and efficiency are critical to the success of a startup. Suppose a startup provides a new innovative application. Adaptations to the application must be made available in short intervals, often only a few days, in order to respond to the demands of the market or the emergence of possible competition. The classic linear development process is not suitable for such an application, because there is simply no time to go through the development process completely for each new feature and only then roll out the software. In addition, money and labor resources are scarce in a startup company. If the software adjustments are made according to the DevOps concept in a CI/CD pipeline, new functions can be implemented in short regular cycles and released directly for production. The entire process is automated, extremely efficient and requires little manpower. Costly, time-consuming and conflict-related coordination and handover processes between development and operations teams, which are typical of classic development processes, are avoided. Continuous, automated testing ensures the quality of the software.

Case 2: Business-critical applications in the balancing act between reliability and new features

Software used in the enterprise resource planning (ERP) environment, for example, places high demands on availability and reliability. The applications control critical business processes. A company simply cannot afford application failures. At the same time, the latest functions must always be available in order to efficiently map all relevant processes in the company. For an IT service provider that specializes in such software and provides it to its customers on the basis of cloud computing, the use of the DevOps concept is recommended.

DevOps resolves the conflict between reliability and functional scope. New features can be integrated into the software step by step at short intervals in a continuous process. There is no need for a “big bang” in which the software is upgraded to the new version in a semi-annual or annual cycle. It is not uncommon for such a large update to cause significant disruption to the operational processes controlled by the ERP software.

The continuous updates have the advantage for the users of the software that always only small areas are affected by the changes, the rest of the code base has hardly changed. Automated feature tests carried out in advance ensure high quality standards for newly introduced functions.

Conclusion and what the nine cloud navigators offer you in terms of DevOps

The nine cloud navigators offer extensive support in the area of DevOps. In particular, we take care of the Ops part and provide you with our managed services more time to focus on your core business of software development.

Our products like Nine Managed GKE (Google Kubernetes Engine) provide the optimal technical base to manage development and operation of your applications in a holistic way. We offer direct support from Switzerland and deep expertise in container orchestration with Kubernetes. In addition, we operate two redundant Swiss data centers with our own servers, on which customer applications can be run reliably, with high availability, securely and with high performance.

Looking Back on our TechTalkThursday #14

Our TechTalkThursday #14 took place on the 26th of November 2020 at 18:00. Due to local restrictions, we were not able to host a lot of guests, we therefore had only one personal guest of the first speaker, Joseph Pelrine, onsite. We had 130 registrations for the event and the YouTube stream peaked to 45 concurrent users. That’s more than 2x the viewers we had at the last TechTalkThursday! Thanks to everyone for your time! 

Subscribe to our YouTube Channel to get notifications for new videos and live streams of our events!

Thomas Hug, the founder of nine introduces the speakers Joseph Pelrine, Agile Psychologist, and Remy Blättler, CTO of SuperText AG. He then gave an outlook of the topics of the next Google Cloud Meetup on January 12, 2021 and the next TechTalkThursday on February 25, 2021.

The Psychology of Estimating

Estimating is difficult. So difficult, in fact, that many consider it a waste of time. Which it wouldn’t be if estimates were done efficiently and were accurate.

How can you and your team make your estimates better? Software developers learn to optimise their systems using performance profiling. We can find scientifically validated and useful tools for profiling the estimation process if we take the novel and radical approach of viewing estimation from the perspective of psychometrics.

In this short talk, we approach the concept of an estimate as a latent construct, and explore the application of tools and techniques from psychology and psychological statistics to the analysis and improvement of the estimation process.

If you’re wondering why your team’s estimates are off, and what you can do to improve them, this talk is for you.

Azure, Kubernetes and DevOps Zonk

Supertext is all in on Microsoft and the reason why they work now with Azure is more of a coincidence. In 2004 Reto Lämmler (from TestingTime fame) and Remy Blättler tried to build a business based on an automatically synchronised Excel spreadsheet. At the time Microsoft Visual Studio was installed on his Laptop because of a client project. There was no debate or evaluation. They continued the Windows track with ASP.NET until now. Today, they are using Azure, Azure SQL, Office 365 and Active Directory, where Azure Active Directory is at the core of the security infrastructure.

First challenge he was talking about was the fact that Azure Active Directory is not the same as Active Directory. They only got it working with external help.

The next idea was to get rid of all virtualized Windows servers and use Azure App Services and scripting the whole setup process. At that time, some applications were running with .NET and some with .NET Core. This worked side by side on a virtual machine. Within Azure App Services though, it turned out that .NET and .NET Core can’t run side by side. That’s the reason why they finally decided to try Containerized App Services. But the Containerized App Service was not available in Switzerland! Next step was therefore to go with Kubernetes and they got a prototype up and running.

Another challenge was Azure’s solution for secrets, called KeyVault, that wasn’t supported out of the box with the standard version of Kubernetes. Also Ingress, used for SSL termination, wasn’t available.

Built in backups work with a click, but restoring with a click changes the IP address of the server! If you want to stick with the same IP address, it only works with a complex manual process. For Blob Storage, there isn’t a built in backup solution and also the commercial solutions looked weird which finally made them build their own backup solution.

Azure is developing at a breakneck speed, but a lot of documentation is always out of date, upgrades are often not possible, lots of things are only in preview and not everything is available in all zones. Pain nr. 1 is “Ahh, no that’s not supported in your version of this or that”.

The complexity of the cloud shows in an example where 48 options were available for a virtual machine and 84 more non-available options.

All in all, Remy summarizes Azure as pretty cool as long as you are in the Microsoft world from Office 365, Active Directory, Visual Studio, C#, Windows Server, SQL Server – it all works together and is pretty powerful and nice. But it is a constant fight with versions, documentation and missing features!

Want to stay up to date?

Subscribe to our YouTube Channel!

Review of our Google Cloud Zürich Meetup #6

The Google Cloud Meetup #6 took place on November 10, 2020 in Zürich City in the cafeteria of nine. Due to local restrictions, we were not allowed to have guests in the cafeteria, therefore all participants were online on YouTube. Thanks to Google who would have sponsored pizza and beer!

Thomas Hug, Founder of nine introduces the speakers Matthias Isler, CTO of GetYourLawyer AG and Jonas Felix, Founder of Letsboot.com.

Migrating a Marketplace to Google Cloud – From VMs and Bash Scripts to GKE and CI/CD Pipeline

GetYourLawyer is the leading platform for legal services in Switzerland. Founded in 2017 with the goal of automating documents for law firms, the start-up has developed continuously and brought in 2019 Ringier Axel Springer on board as an anchor investor. The GetYourLawyer platform is technically based on the Laravel Framework (PHP) and Node.js. There are connections to various other systems such as SAP. The frontend of the application is based on Vue.js. The decision to migrate to the cloud was based in particular on the scalability now available and the increased availability and security. The expandability and extended control over the infrastructure by GetYourLawyer were also decisive criteria. Thanks to the new infrastructure, the application now implements the “Twelve-Factor App Principles” and large parts of the DevOps approach. Since all data must be stored in Switzerland, the decision was made to use Google Cloud instead of AWS or other providers. The very advanced container orchestration Kubernetes Engine offered by Google also supported this decision. Before the migration, GetYourLawyer’s entire platform was run on a virtual machine, the deployment process consisted of bash scripts that were executed on the VM. The environment was locally recreated with Vagrant.

The new infrastructure consists of an Ingress Load Balancer, three deployments for different tasks and various managed services from Google, e.g. Cloud SQL or Cloud Memorystore. Additional services are provided by nine, including the complete monitoring and supervision of the infrastructure as well as a solution for administration and evaluation of logs.

Based on Bitbucket, a fully automated CI/CD pipeline was built, which enables the delivery of new versions within minutes. The releases are automatically tested in the background to ensure their functionality.

By implementing the Infrastructure as Code (IaC) approach, the complete infrastructure can now be managed and developed by GetYourLawyer’s development team. Previously, the infrastructure was a black box that could only be changed by system administrators.

Now the application is executed on containers (dockers) instead of virtual machines, so the local development environment is no longer necessary. The developers can now start and use the cloud environment locally. In order to make the application executable on a cloud environment, various extensions were necessary, but the effort was kept within limits thanks to the use of a modern framework.

Thanks to careful preparation and comprehensive testing, the actual migration was completed in 28 minutes instead of the 8 hours announced for safety reasons.

In the end, valuable experience was gained from the project, which lasted a total of 9 months. GetYourLawyer’s development team now has comprehensive knowledge about the secure operation of applications on cloud environments and especially Kubernetes.

Not least thanks to the professional support of nine, the migration from GetYourLawyer to the cloud can be considered a complete success.

Challenges in Hands-On training Software Developers on Kubernetes CI/CD

Text by Jonas Felix, Letsboot.com.

It’s challenging to build an intensive and efficient hands-on course for software developers to learn containerization with Kubernetes and CI/CD (because if you can’t automate it, you’re doing it wrong). Everything is code and our trainings are no exceptions. Doing code focussed training for several years, we built several courses with chapters consisting of slides (with reveal-md as code), exercises and an incremental course project having a solution-patch for each chapter. This way participants can work through the material efficiently and vary how much they want to challenge themselves as well as quickly catch up if there is any issue. This leads to very intense training, with a nice rhythm between explanation, exercises and support through the trainers.

Having visited several Container (Docker) and Kubernetes, as well as cloud related courses, we were longing for the same hands on course experience with a big variety of examples for this area. Especially with CI/CD, as automation has to be the absolute core of your container world. We don’t want to teach containers or Kubernetes without automation. To get this kind of experience with containers you need the local container tools, a local cluster, a git project (per participant), a ci / cd pipeline, private container registry, “production/stage” cluster for delivery and a diverse example application / scenario.

Doing this on the participants machines is very hard as you have many moving parts (not just code), different tools and versions. Participants don’t want to use their credit cards. Setting up separate authentication for each participant often leads to initial issues during the setup phase, which is not an effective use of time. Overall the “not on my machine” debugging block training.

To solve this we automated the whole training setup providing a developer instance for each participant on Google Cloud Platform. In addition everyone gets a personal git fork of the course project, a complete GKE production cluster, a local cluster, a private registry, a gitlab-ci pipeline as well as all the authentication set up automatically. Thanks to this automation, we can spin up 10 environments for 2-3 days of training, having 48 servers running to provide separate playgrounds and super realistic environments for each participant.

Thanks to the GCP pricing structure as well as API and the Gitlab API the cost is comparably low per participant and everyone can finally play through all the steps to containerize a diverse application, configure how it should be run on Kubernetes, deploy it on a local developer cluster, run it on a production cluster as well as build a CI/CD pipeline automating everything.

Tools we use for the setup and training:

Further outlook

Our next Google Cloud Meetup is planned for January 12, 2021 16:00 in Zürich City at Stauffacher (nine offices, Badenerstrasse 47). Join us on-site with pizza & beer by Google or remote on Youtube!

If you have an interesting project running on Google Cloud that you want to show or if you have anything else to talk about, please contact us! We also very much appreciate suggestions for topics and possible speakers, by either meet-up-message, by using the contact form on our website, or via email to one of your contacts here at nine. We would like to keep things exciting. We look forward to seeing you again!

Check out our Meetup Group on meetup.com for upcoming Google Cloud Meetups:

Google Cloud Meetup

We plan regular events (either at our offices or in an external location) with interesting speakers and a possibility to network. Everyone that works with or is interested in …

Check out this Meetup Group →

Looking Back on our TechTalkThursday #13

Our TechTalkThursday took place on the 1st of October at 18:00. We had with only 15 participants onsite around 1/3 of a Pre-Corona Meetup and it was the first time we streamed live on YouTube (original link, uncut). We had a peak of 18 simultaneous participants watching our stream. Room to improve! Subscribe to our YouTube Channel to get notifications for new videos and live streams of our events!

Thomas Hug, the founder of nine introduces the two speakers Eric Funk of Nine Internet Solutions AG and Tobias Brunner of VSHN AG.

Develop like a Linux pro on Windows

Microsoft has always been attractive for a massive community of software developers. Whilst focusing on the Windows platform in the beginning and very little engagement in open source and Linux, things have changed quite significantly in the last years. In our nine TechTalk Eric explains the reasons behind the move towards great Linux support and the engagement of Microsoft to build great Development tools and how to run and use Docker, Kubernetes, databases and Visual Studio Code to allow you to be a productive software developer on Windows 10. 

Resources: 

Install WSL 2
https://docs.microsoft.com/en-us/windows/wsl/install-win10
User Docker with WSL
https://docs.docker.com/docker-for-windows/wsl/
Use WSL 2 With VS Code
https://code.visualstudio.com/blogs/2019/09/03/wsl2

How Project Syn helps to manage a fleet of Kubernetes Clusters

Have you ever had to manage more than a handful of Kubernetes clusters? We at VSHN do this all day and we learned the hard way what this actually means. With our Open Source toolkit called Project Syn we want to help others facing the same challenges. 

Project Syn brings a hierarchical configuration management system based on GitOps principles, reusable components, and an inventory with all information about the managed Kubernetes clusters. It does not aim to reinvent the wheel and reuses already existing tooling as much as possible, like Argo CD or Kapitan, and glues them together. 

Project Syn was born out of our daily work, and as such it is ready out to solve real-world needs. It’s still a young project and we’re working hard to make it production ready. Interested? Just head over to https://syn.tools and get all the information you need.

TechTalkThursday

Want to stay up to date?

Subscribe to our YouTube Channel!

Looking Back on our TechTalkThursdays #11 and #12

Besides our normal TechTalkThursdays in the evening, we tried new times during lunch and at 08:00 in the morning. Neither of them proved to be better than in the evening as we didn’t have the same amount of participants.

We use this article to summarize the topics of Demian Thoma and Daniel Lorch.

How a Titan empowers our Cloud Monitoring Infrastructure

Nine is hosting and managing thousands of servers for its customers. They recently moved to a new monitoring solution based on the open-source tools around Prometheus. Nine’s Demian Thoma talks about how nine implemented its new monitoring solution and how it gave them more insight into their infrastructure.

Nine was using Nagios before switching to Prometheus. By changing their monitoring stack, it allowed them to simplify the setup, get more insights into their services and to remove a separate analytics stack of infrastructure.

Site Reliability Engineering: What you need to know about Service Level Indicators, Service Level Objectives and Error Budgets

What does reliability mean to you? In his talk, Daniel Lorch reiterates the claim that reliability is the most important feature of any system. But services need to be just reliable enough to make its users happy – investing too much in reliability results in higher cost (engineering time and infrastructure) without added benefit. Investing too little on the other hand will result in unhappy users.

How do you determine and agree upon what “reliable enough” is to your services and your organization? Site Reliability Engineering provides tools and concepts to formalize this discussion, notably:

  • Service Level Indicators (SLIs): a monitoring metric that is indicative of a user’s goal
  • Service Level Objectives (SLOs): a target on an SLI that if barely met, keeps the users happy
  • Error Budgets: the maximum amount of time the system can fail without contractual consequences. It is the remainder / inverse of the SLO

Watch the 30’ talk below to learn about these concepts and see how an example SLI/SLO is being defined for a fictitious game platform. Links to further information are provided at the end of the talk.

On this occasion, we would like to once again thank our speakers for presenting!

Review of our Google Cloud Zürich Meetup #5

The Google Cloud Meetup #5 took place on 25 August 2020 in Zürich City in the cafeteria of nine. Since the beginning of the year, we have been recording all our Meetups and publishing them on our YouTube Channel. Corona made it necessary to adapt Meetups and hold them online. Starting with this Meetup, we are combining the online experience (via Google Meet) together with the benefits of on-site events such as networking and having pizza and beer together! Thanks to Google for sponsoring pizza and beer!

Thomas Hug, Founder of nine introduces the speakers Thilo Rossa of Parashift and Cyrill Troxler of Nine Internet Solutions AG.

Addressing the challenges in Document Capture with a Cloud-first and Machine Learning approach 

Contrary to popular belief, document processing is anything but solved. And the need for it to be solved is growing as companies are desperate to find ways to reduce costs, increase productivity, process continuity and system efficiency.

In his talk, Thilo Rossa gave insights into the existing challenges in Document Capture and Parashift’s solution approach to address these. Two major aspects of the strategy to actually bring more autonomy into the process at scale are the fundamentally global and highly scalable Google Cloud infrastructure as well as a versatile machine learning platform, capable of coping with the complexity of real-world documents.

The underlying model training architecture consists of five parts. Namely, a backend based on the Google Cloud Platform and Google Cloud SQL, the persistent Google Cloud Storage and AI Platform, the Google Container Registry and DaemonSets along with prediction pods. Both the backend as well as prediction engine are two Kubernetes clusters, each consisting of various nodes and therefore offering great flexibility in terms of organizing, deploying and auto-scaling container applications.

Crossing the Kubernetes Control Plane

Wouldn’t it be great if developers could use the same tools for deploying applications and provisioning supporting infrastructure like databases? In Cyrill Troxler’s talk, he explains this problem and looks at some existing solutions that could improve the situation.

A lot of companies on Google Cloud use tools like Terraform to provision this kind of infrastructure. But all of these tools introduce new workflows that are cumbersome to integrate into existing development workflows. Luckily, if you are using Kubernetes to deploy your applications there are a number of new tools that tackle this problem. We take a look at two of these tools: Config Connector, which is a service from Google that can be enabled as an addon for GKE and Crossplane, which is an Open Source project that recently got accepted into the CNCF sandbox. The talk goes a bit deeper in what makes Crossplane stand out from other tools and shows a live demo of provisioning some infrastructure with it using the Kubernetes control plane.

Further outlook with the new online experience

Our next Google Cloud Meetup is planned for November 10, 2020 17:45 in Zürich City at Stauffacher (nine offices, Badenerstrasse 47). Join us on-site with pizza & beer by Google or remote through Google Meet in your browser!

If you have an interesting project running on Google Cloud that you want to show or if you have anything else to talk about, please contact us! We also very much appreciate suggestions for topics and possible speakers, by either meet-up-message, by using the contact form on our website, or via email to one of your contacts here at nine. We would like to keep things exciting. We look forward to seeing you again!

Looking Back on our TechTalkThursday #10

Our TechTalkThursday took place on the 4th of June at 18:00. As Corona is not yet over and since we have already had good experiences with online events like Google Cloud Meetup, we took it in an optimistic way! 35 people (peak) found their way to the Google Meet conference!

Thomas Hug, CEO of nine introduces the two speakers Pablo Vergés of Coders Only and Oliver Graf of Nutanix.

Gitception: Learning Git by putting Git in Git by Pablo Vergés (Coders Only) 

Gitception is the idea of putting your Git repository in a Git repository to see what Git does when Git is used. It is a different approach to learn Git. Git is not a tool that just works. Most users memorized a list of commands to sync up but don’t know what happens. It may throw errors at some point or you might get lost with branches. Therefore it certainly helps to understand how it works and that, for example branches are no magic, delete a branch is not dangerous and why creating branches is so fast. To see the internals of Git helps you learn the concepts behind and can create aha-moments because if you are in a situation that doesn’t follow the happy path you would have expected, you will be able to understand what is happening and why.

Slides: https://escodebar.github.io/talks/techtalkthursday/#/


Deep dive to the core of the Nutanix distributed Filesystem by Oliver Graf (Nutanix)

Oliver started his talk by explaining what a Hyper Converged Platform is about. The main advantage to a traditional system is that storage is directly attached to the compute nodes and not only connected through the network. Every compute node hosts a controller VM besides user VMs. This controller VM takes care of the storage I/O. Multiple nodes form a cluster and this cluster offers a distributed file system (NDFS) to its user VMs. This system has no single point of failure, there is no bottleneck at any scale (scales out linearly) and it leverages concurrency. The storage itself can consist of a mix of HD and SD Disks, where 3:1 is a typical ratio. Storage is kept as close to the compute node as possible and uses the optimal place for blocks regarding faster and slower storage (intelligent tiering). The system also handles automatic disk balancing.

Alexander Bürgin of we dot won the lottery in which there was a scooter to win. Congratulations!

Next Event

The social part in video conferences is always a surprise. Fortunately, a few people stayed, and we had a chat about interesting topics for future events. The conclusion was, the closer to real usage, the better. Therefore our next Meetup will treat monitoring as a topic where Demian Thoma of Nine Internet Solutions AG will tell us about “How a Titan empowered our Cloud Monitoring Infrastructure”. Grab your sandwich and join the online presentation during your lunchtime! Such events are also known as Brownbag.

The next TechTalkThursday will be virtual and is a special one as it takes place during lunch on the 2nd of July on Google Meet (https://www.meetup.com/ninetechtalkthursday/events/271086720/)

On this occasion, we would like to once again thank our speakers for presenting!

Review of our Google Cloud Zürich Meetup #4

The Google Cloud Meetup #4 took place on 19 May 2020 for the first time on Google Meet. In Switzerland, it is currently still not allowed to meet with more than 5 people. Even though we couldn’t offer Pizza and Beer, we were able to have 40 people listening to our two topics.

Thomas Hug, CEO of nine introduces the speakers Jakob Ehrl of Google Cloud and Cyrill Troxler & Sebastian Nickel of Nine Internet Solutions AG. 

From Containers to Serverless with Cloud Run

Jakob Ehrl, Customer Engineer of Google Cloud Zürich, introduced us into his sandbox experiment with Cloud Run. Due to the current home office situation, he can’t travel to Google’s offices in Zürich by bike (15km). Together with his girlfriend, he decided to run every second day and log the activities to Strava. In order to play around with the gathered data, he shows in his uncommon painted presentation and lots of interaction with the audience, how the GPS data points from his watch get into BigQuery where he can analyze them. He presents a pipeline of entirely serverless building blocks including

  • Google Cloud Storage (ingress and intermediate processing results)
  • PubSub (for service communication)
  • Cloud Run (for parsing the input data in a given Java application)
  • Cloud Functions (as an alternative to Cloud Run)
  • BigQuery (as data warehouse)
  • Data Studio (for visualization)

He said it took him about a week to put the things together by mostly clicking on the Google Cloud Console – without counting the nights!

Typical Kubernetes User Questions

(The numbers in brackets refer to mm:ss in the recording below)

The 45min Q&A session about typical Kubernetes user questions with nine Kubernetes Engineers Sebastian Nickel and Cyrill Troxler started with survey questions. It showed that most of the attendees already have Kubernetes experience or are evaluating Kubernetes. They are using Raspberry Pi Clusters, Kube Flow or Minikube to mention a few.

  • (3:05) What are the best practices making services “elastic” to scale up and down automatically?
  • (5:05) What are the experiences with preemptible nodes with GKE?
  • (8:20) What is the best way to create resources in Kubernetes?
  • (11:48) What about vertical scaling nodes?
  • (13:23) Do you work with customer resource definition?
  • (13:38) Why do you not use StackDriver for logging?
  • (17:22) How to backup the Kubernetes cluster? What are your experiences with persistent volumes and backup?
  • (19:13) Do you have hints or experiences in config pod eviction policies?
  • (20:20) How to create/use infrastructure around Kubernetes in the cloud (databases, caches, etc.)?
  • (21:58) You don’t use databases within Kubernetes?
  • (22:50) What/how should we monitor in Kubernetes?
  • (24:50) Do you monitor outside Google infrastructure?
  • (26:15) Do you provide a cost driven approach to your customers or are they just paying for Google Cloud resources?
  • (27:10) How do you make sure that the load is equally distributed between zones?
  • (29:40) Do you have customers with hybrid setups? What about VPNs with i.e. 3 GBits of traffic?
  • (33:52) How is kubectl pronounced?
  • (34:52) Is Kubernetes secure?
  • (38:23) Is it hard to run an own Kubernetes cluster like an on premises one?

Good starting points for GKE for people starting from zero are https://cloud.google.com/kubernetes-engine/docs/tutorials or https://www.coursera.org/learn/gcp-fundamentals 

Further outlook with the new online experience

Our next Google Cloud Meetup is planned for August 25, 2020 – hopefully in Zürich City again. With the very good experience doing an event online, but the lack of networking capabilities at the end, we want to combine the advantages of both, online and offline, as soon as it is allowed again. If you have an interesting project running on Google Cloud and think it could be interesting for others, feel free to contact us! We also very much appreciate suggestions for topics and possible speakers, by either meet-up-message, by using the contact form on our website, or via email to one of your contacts here at nine. We would like to keep things exciting. We look forward to seeing you again!

The Meetup link to the next Google Cloud Meetup #5 on August 25, 2020 (https://www.meetup.com/de-DE/google-cloud-zuerich/events/270878484/)

Talk to one of our experts

Do you have any questions about our products? Either contact Sales or go directly to your cockpit to see all the possibilities at Nine.