Unlocking New Possibilities with the Nine Internet Solutions API

Modernise your web services with our new API and CLI tools.

At Nine, we’re always looking for innovative ways to improve and expand our services to better serve our customer base. As part of our ongoing mission to modernise our offerings and make our services applicable to the widest range of workflows, we’re excited to announce the launch of our new API and accompanying CLI tool, nctl.

Our API allows you to manage your Nine services with ease, while the nctl CLI tool provides a seamless way to interact with the API, streamlining tasks such as logging in or creating service accounts. This allows you a greater level of autonomy over your Nine solutions, and although we’re still working to include all of our services in the API, we believe that this is a significant step forward in making our platform more accessible and efficient.

Here’s a brief overview of what you can expect from these new features:

  • Flexibility and Integration

At Nine, we know that every customer’s requirements are unique. By offering an API in addition to our existing web-based interface, we’re opening the door for our customers to build custom integrations with their existing systems and tools. With the ability to connect to our services programmatically, businesses can streamline their operations and tailor their workflows to meet their unique requirements. Our API has a full OpenAPI specification, so you can easily integrate it into your own tooling and client if using nctl does not suit your workflow.

  • Automation and Efficency

As we strive to modernise our offerings and empower our customers, one of the key benefits of our new API is the ability to adopt DevOps workflows that were previously not possible with Nines’ services. Embracing DevOps practices can help your organisation streamline processes, improve collaboration, and reduce time-to-market. With our API, you can now fully integrate DevOps principles into your projects.

Leveraging our API will enable you to create, update and destroy services in an automated manner as part of your testing or deployment pipelines. This means you can rapidly spin up and tear down environments as needed, without manual intervention. By integrating our API into your continuous integration and continuous deployment (CI/CD) pipelines, you can accelerate your software development lifecycle and ensure that your applications are always up-to-date and reliable. With the API and nctl, it’s easier than ever to automate repetitive tasks and processes. Combined with existing Nine features such as autoscaling, KEDA, ArgoCD and Grafana, Nine now offers more tools than ever before to automate every aspect of your application lifecycle.

  • Onboarding Made Easy

At Nine, we understand that our customers have diverse needs and preferences when it comes to managing their web services. We believe in providing a range of tools that cater to different workflows, whether you’re a developer who prefers a command-line interface and yaml file, or a manager looking for a user-friendly graphical interface. That’s why we’ve developed our new CLI tool, nctl, in conjunction with our existing web interface, Cockpit.

Our nctl CLI tool is designed to make it simple for both new and existing customers to start using our API. With an intuitive command-line interface, you can quickly log in and access the API, making it easier to manage your services and explore the capabilities of our platform. This tool is particularly suited to developers who are comfortable with command-line utilities and prefer to automate tasks through scripts, or integrate with their existing toolchains.

In contrast, Cockpit is our web-based interface that provides a more accessible and visual way to manage your Nine products. It is designed for those who prefer a graphical interface, especially those in management roles or with less technical backgrounds. With Cockpit, you can easily monitor and control your resources, track usage, and configure settings through an intuitive dashboard. If you’re just starting out with using the API directly, it’s also a good way to double-check that any actions performed there had the desired effects on your configuration.

  • Service Accounts

As we continue to expand our offerings with the launch of our new API, we recognise the importance of providing our customers with robust security features and granular control over their resources. Following on from our recent introduction of personalised logins, we’re excited to introduce service accounts—a powerful tool that enhances the management and security of your Nine services.

Service accounts are designed to help you manage access to your resources and services within our platform more effectively. Here’s a brief overview of the benefits service accounts bring to our customers:

  1. Fine-Grained Access Control
    Service accounts allow you to define specific permissions and roles, ensuring that accounts have access only to the resources and actions necessary for their tasks. This approach provides you with granular control over your infrastructure, enabling you to implement the principle of least privilege and to minimise the risk of unauthorised access.
  2. Improved Security
    By using service accounts, you can further reduce the need for sharing personal user credentials, such as usernames and passwords, among your team members. As well as each team member having an individual login with Nine, they can generate service accounts which provide unique credentials that can be used to authenticate and interact with our API. This approach helps protect your sensitive information and makes it easier to track and manage access to your resources.
  3. Simplified Auditing and Monitoring
    Service accounts make it easier to monitor and audit the actions performed within your infrastructure. Currently, our service accounts only offer the ability to have “admin” or “viewer” roles applied, but we plan to expand this in future with the introduction of “Projects”, which will allow you to scope a service account to a defined subset of your organisation’s resources.
  • Ongoing Enhancements and Expansion

As we continue to develop and improve our API, we’ll be adding more features and services to enhance your experience. We’re committed to delivering a powerful, easy-to-use toolset that will help you modernise your infrastructure and stay competitive in the digital landscape. So expect more of our services to be available via this interface in the coming months.

To help you get started, we’ve prepared comprehensive documentation that outlines how to use the API and nctl CLI tool. You can find step-by-step guides, detailed explanations of available features, and example code to assist you in integrating our API into your workflow.

If you’re an existing Nine customer, you can already use the API and nctl today by visiting https://github.com/ninech/nctl and following the install instructions for your system. Our full API docs and OpenAPI spec are available at https://docs.nineapis.ch.

Next from Nine

But that’s not all—we have more exciting news on the horizon. We’re always working on new services to make our customers’ lives easier, and we’re thrilled to give you a sneak peek at what’s coming up next. Soon, we will be launching deplo.io, a cutting-edge, no-ops hosting service. This platform will enable you to deploy applications quickly and effortlessly, without the need to manage underlying infrastructure.

Deplo.io is designed to cater to the needs of modern developers, offering a seamless, configuration-based approach to deploying your applications. Deplo.io is committed to being a developer-first experience, meaning you can focus on your applications while we take care of the rest. We can’t wait to share more about this game-changing service in the coming weeks. To be one of the first to try it, please visit the website and sign up for more information.

At Nine Internet Solutions, we’re committed to providing our customers with the tools they need to succeed in an ever-evolving digital landscape. Our API, nctl, and upcoming services like deplo.io are just the beginning. Stay tuned for more updates as we continue to enhance our offerings and empower your business to thrive.

Growing pains: how can digital agencies scale more effectively and efficiently?

Three growth challenges digital agencies face as they scale, and how to overcome them

Digital agencies have built their business on repeatable, replicable products and services for multiple customers with very similar projects and workflows. Many reach a point where they need to look at how to scale their product, or service, if they want to maintain business growth.

From building websites to providing SaaS products – as the business becomes more successful, developers will find themselves having to replicate essential tasks at scale to simultaneously handle a larger number of projects. One issue they need to address is how they deliver what customers want without creating inefficiencies for themselves. For example:

  • How do they rightsize technical resources (such as RAM, storage or network traffic) for specific projects? 
  • How do they deal with fluctuating resource demands for those projects? 
  • How do they ensure the team spends its time creating value, rather than engaging in unnecessary repetitive tasks? 
  • How can they make changes or provide fixes effectively and efficiently, while ensuring consistency and quality?

If a digital agency wants to scale its products and services efficiently and cost-effectively, it must solve three key challenges.

1. Cost control

When operating on a small scale, an agency has a good view of how technical resources are being allocated to projects. It is easy to keep track of a small number of projects on a regular basis, but, in order to achieve sustained and manageable growth, the agency needs to retain control over how it assigns resources to each job. How does an agency ensure it has the ability to scale resources up (and down again) for specific projects according to demand? 

For example, if a customer plans a marketing campaign on its website for a specific time period, the agency will need to allocate more resources for the duration. If an agency does not assign resources correctly, a project may not be able to meet end-user demand, leading to a disaffected customer. 

However, if it assigns too many technical resources to a project, it costs more to service and therefore makes it less cost-effective. The real risk arises when that inefficiency is replicated across multiple projects, then an agency could end up using a lot of money and resources.

What the agency requires is a platform that enables it to scale technical resources easily between defined boundaries and share resources between projects. This will equip the agency with the ability to effectively and efficiently control costs – being able to both vertically and horizontally scale when required.

2. Workflow efficiency

An agency that has built its business on a repeatable service will have developed workflows to match. Those workflows will be standardised for much of the project, possibly with some room for minor customisation at the front end, to meet the client’s specific needs. 

While many new digital agencies will have automated workflows, many more established businesses will still rely on workflows that feature a number of manual processes. As the number of projects rises, it becomes increasingly difficult for those agencies to maintain the effectiveness of their repeatable service without making workflows more efficient. 

One key task agencies must contend with is how they maintain control and prevent diversion if two different teams are working on separate projects which share an underlying codebase – often requiring modifications to code in order to fix issues, or add features for each project as they go along.

How does an agency structure its processes to ensure there is consistency and integrity across all projects? It achieves it by automating more of the workflow, for example by using Continuous Integration/Continuous Delivery (CI/CD) tools and stripping out manual processes, helping to make the service deliverable to the same high standard across multiple projects. For this purpose, digital agencies should select a platform which encourages the use of automation, whilst providing support for their technical teams in adopting essential DevOps principles.

3. Quality control and security

Dealing with an increasing number of projects creates headaches for lead developers to ensure all projects have, for example, the latest security updates. Traditionally companies have implemented processes such as Change Advisory Boards to ensure that updates or additional features meet the security and quality needs of their company. However manual processes such as these greatly increase the time to deployment of changes. 

Research carried out by Nicole Forsgren PhD, for her book Accelerate, suggests that one of the true indicators of quality is how quickly code is deployed to production. By allowing developers to deploy quickly, and implementing automated processes to ensure quality, new features can be delivered faster and issues can be fixed immediately. This is particularly important when critical security issues are detected.

Scaling to focus on business growth 

As digital agencies grow, they are in danger of spending time and money on operative and repetitive activities, at the expense of the productive business. It is important to remember that it’s not always purely about growth and expansion and in uncertain economic times, agencies may look to scale their product or service to do more with less. One proven way for businesses to achieve that goal is through automation.

Automating workflows and improving scalability may be the preferred outcome for those agencies, but they need to try and achieve it with the least impact on the business – and avoid complexity while they do it.

If digital agencies want to serve customers better and more effectively, they need to address the challenges that come with scalability. For some, scalability might be better enabled with the aid of an external provider. Much of the complexity attached to making the service or product scalable – and the associated requirements for cost control, more efficient workflows and greater quality control – can be addressed by an external specialist, leaving the agency’s team to focus on the core business. 

Technology, such as Kubernetes, can play a powerful role in enabling agencies to simplify the deployment of new projects, continuously distribute changes and automate the scaling of projects. When considering how to scale a service or product, savvy agencies understand that they need to focus on both technology and business processes.

For any other information please contact us.

Why build an in-house Kubernetes platform?

Having the reliability and mature APIs of global-scale cloud providers offers the possibility of a massive productivity increase over managing low-level infrastructure yourself. We have directly benefited from this at Nine with our first Kubernetes product, managed Google Kubernetes Engine, and we have no plans to stop working in the cloud or offering our Kubernetes stack there. So in an age of GKE (Google Kubernetes Engine), AKS (Azure Kubernetes service) and EKS (Amazon Elastic Kubernetes Service) it might seem strange that a managed service provider, well accustomed to working in the cloud, would invest significant time and effort into making their own in-house Kubernetes offering, especially considering the technical complexity of such an undertaking. But since the Platform Team at Nine has spent the last two years doing just that we thought it would be interesting to discuss why and where we go from here.


Swiss Location

There is no getting around the fact that some of our customers, be it due to risk management, data protection or reasons of tradition, require their managed services to be located in fully Swiss owned and operated data centres. Due to the multinational nature of cloud providers and the complex international laws that exist around data privacy (for example the CLOUD Act), it is just not possible to make the same privacy guarantees found in Swiss law when working in the cloud. Although the industry has begun to see more previously hesitant industries such as banking and insurance move to the cloud, there is still a clear hesitancy. 

This, therefore, became a primary driver in the development of our in-house solution, Nine Kubernetes Engine, to offer our customers the same robust privacy and security protections of Swiss law when using Kubernetes that our other managed products enjoy.

Cost

Although it is possible to cost optimise usage of the cloud this often comes with requirements such as significant time or spend based resource commitments, this may not be suitable for every customer or use case. By building a Kubernetes offering in our own data centre we have been able to leverage our high-density Nutanix infrastructure to bring down the per-minute cost of resource consumption for customer node pools without requiring any committed use agreements. In addition, we have been able to offer, for the first time at Nine, CPU and RAM costs calculated with a per-minute granularity instead of fixed monthly prices. This not only means a cheaper resource price overall compared to our cloud locations but will allow customers to leverage features such as cluster auto-scaling with Keda* to further cost optimise their setups.

We have also invested significantly in re-engineering the architecture of our Kubernetes service stack. Firstly, we have made additional components of our service stack opt-in. This allows customers to only deploy the services they are using and thus consume (and pay for) fewer compute resources. Secondly, we have moved a number of these services outside of customer clusters. This allows us to optimise not only the way that we deploy, configure, and maintain applications but also their cost-efficiency. Moving Nine services away from customer clusters also helps to minimise the potential for security or stability issues near customer application environments.

The result of these changes is that we have moved to a new costing model for Nine Kubernetes Engine, which involves a small fixed price cluster fees and additional optional service fees in addition to dynamic resource usage costs.

Self-Service

One additional goal that we had in building an on-premises Kubernetes offering is that it would be our first product to offer a fully-featured self-service interface. Our goal in implementing this was to allow customers to easily action common tasks which previously would have required interaction with a Nine engineer and thus wait time. Self-servicing a Kubernetes cluster means that customers will be able to control their clusters and node pools, storage, additional service configurations, and user accounts. 

This forms part of a larger goal at Nine to bring self-service to our product line. Our goal is to offer self-service through both a browser-based GUI, Nine’s cockpit, and an API. This will not only make managing your services faster and easier but allows Nine’s service catalogue to be leveraged for automated and DevOps workflows. As this is a major change to how customers interact with our services we will be rolling these features out in an incremental manner, with the GUI for Nine Kubernetes Engine in general availability now. We expect the API to be generally available in Q4 of 2022, and that additional products and services from across Nine’s portfolio will be added in an ongoing manner.

Future Products

Having a fully in-house, automatable and self-serviceable Kubernetes platform forms the basis for future product development at Nine, allowing us to explore concepts like Function as a Service or Namespace as a Service. It also allows us to choose where to run managed services so that we can, where appropriate, take advantage of Kubernetes features such as auto-scaling to provide a better customer experience. In addition, by having built a scalable and flexible self-service system on top of Kubernetes we are able to bring our existing products and services into a self-service environment without significant engineering or customer disruption, to make working with Nine faster, more convenient and more efficient for everyone.

If you would like to learn more about our Kubernetes offering, please contact us.

*Available for Nine Kubernetes Engine in Q3 2022


If you would like further information regarding self-service, contact Nine.

Can’t I just go to the cloud?

The biggest cloud migration challenges in 2021

One thing that we often hear at nine, being a Managed Service Provider is “Why are you needed? Why don’t we go directly to the cloud ourselves?” Although it’s not in doubt that with the easy to use GUI’s and extensive service offerings of cloud providers doing everything yourself appears to be a tempting proposal, but unfortunately there are a number of pitfalls to avoid and this is where working with an Managed Service Provider could help you. My colleague Peter has already written about this from a more general perspective and I would urge you to begin with his excellent overview. The aim of this article is to talk a little more in detail about technical challenges that you may face and how an Managed Service Provider can support you.

Range of choice

Probably the first, and most obvious, issue is simply the sheer range of choice available in the cloud. To make the move from a “classic” VM based setup to a dynamic cloud infrastructure can be overwhelming without guidance, not only do you need to select the right services, but you will need to be sure that you configure them correctly, understand the quality guarantees that are given, and design your architecture with this in mind.

Unfortunately, unless you are a very big company (with correspondingly deep pockets) you are probably not going to get the assistance you need directly from a cloud provider, indeed this is exactly why cloud providers partner with companies such as nine.

We are able to stay close to you, work in concert with you, and accompany you along your journey to the cloud. At nine because we offer both classic hosting in our datacenter and in the public cloud we are able to join you at whatever stage of the cloud adoption journey you are in, and our highly trained engineers and solution architects are able to meet all of your needs, working with you to design your architecture for evolution based best practices and industry standard open-source software.

Increased complexity

The second issue is hidden complexity, and this is a theme that will run through the rest of this article, for example, did you know that when using GCP it is possible to make configuration changes that would invalidate your SLA with Google Cloud? For example, setting specific flags on your cloud SQL database.

It’s fair to point out that to avoid these you just need to RTFM, but GCP has a pretty big manual and it’s always easy to overlook something that might have an impact later, especially if you are focused on your product and getting the next release out of the door.

Allowing someone else to perform this infrastructure setup, using Infrastructure as Code (IaC) principles with strict review and update practices (such as the four eyes principle) goes a long way towards mitigating these issues, and although it might feel like a loss of control to allow someone else to maintain this configuration, it’s a level of control that you don’t actually want, or indeed need, when your company or product value is derived from elsewhere.

organizational-spend-on-public-cloud-2021-flexera

Cost optimisation

Cost optimisation is often an issue that people want to tackle when they decide to move into the cloud, but a pure life-and-shift approach can actually end up costing you more since there is hidden complexity in ingress and egress traffic, failing to optimise the size of machines or services that you use and so on. Flexera’s “State of the cloud 2021” report states that “Organizations are over budget for cloud spend by an average of 24 percent and expect cloud spend to increase by 39 percent next year.” this might be quite a startling read if your plans for cloud adoption revolve around this lift and shift approach.

However the same report states that “organizations waste 30 percent of cloud spend” which suggests that with the right guidance and architectural design it would be possible to realise the saving that people expect from moving into the cloud.

An Managed Service Provider, if they have trained solution architects and cloud engineers, will certainly be able to help you in making these savings and moving into the cloud in a cost effective way through support, training, workshops and working together.

Monitoring

If you choose to run everything yourself in the cloud one of the first hurdles that you will encounter is how to robustly monitor your application. As anyone who has run an application in production knows accurate and robust monitoring is the key to understanding what is happening at runtime, and what the quality of your service is like for your customers. Even with an Managed Service Provider there is no way around this, as only you have the knowledge to pick the metrics that really matter to your customers and which you will use to measure service quality, but if you have to run your own monitoring system as well, you will face critical additional problems.

Monitoring is in fact so important that if you run everything yourself you will quickly realise that keeping your monitoring system up and running becomes more important than looking after your application, since without it you are flying blind. This means that significant resources would have to be devoted to implementing, running (and eve7n monitoring!) your own monitoring system.

This is certainly one place where an Managed Service Provider can provide great value by provisioning and ensuring the quality of these auxiliary monitoring services. Nine operates a strict SLA/SLO principle for services that it offers, to ensure that they are available when you need them, and we have SLA’s to ensure that we are bound to provide a level of service that meets, and ideally exceeds, your requirements.

Know How + Training

You may hope to overcome this monitoring reliability issue yourself by choosing to use the specific monitoring system implemented by your cloud provider of choice, since these will in theory, produce the most detailed metrics and be the most stable. However this creates a pressure on your business, it not only creates a vendor lock in to that cloud monitoring system and thus that cloud provider because the software and configuration is not portable to other setups, but it will require extensive training and education to extract the most value as you must adapt to its specific paradigms.

This time investment in a closed system obviously does not create value for you and again this is where an Managed Service Provider can help, by deploying portable, open-source, industry standards for monitoring (which in the container world is usually Prometheus/Alert Manager/Grafana) an Managed Service Provider can help to ensure that you focus your efforts on the part of monitoring that matters for your product’s success, defining your own SLO/SLI’s based on the issues that your customers really feel.

If you need help with understanding and defining those, most Managed Service Providers can help there too with consulting and enablement services that put their engineers together with yours to determine your golden signals.

Beyond monitoring if you wish to adopt cloud best practices and DevOps workflows you will need a robust toolchain and experience that allows you to build and deploy your application easily. The same problem as with monitoring arises again; these systems quickly gain as much, if not more, importance that your app since delivery of new features, critical bug fixes and so on become reliant on these systems working. This is particularly true in the world of containers and orchestration platforms where there are no such (dangerous and not recommended) workarounds such as FTP’ing files to a server in the case of last resort.

Again this is where an Managed Service Provider can help you by providing these services, and again they should be industry standard, portable, open-source tools, with ensured service reliability and quality so you can keep focused on your application.

Nine is particularly specialised in this area, having many years of experience of running both our own and customers containers in production, and this is why our platform offering is not simply a managed vanilla GKE instance but comes with all of the tools that you would need for an end to end cloud native workflow for image building, packaging, deployment, backup, monitoring and so on.

Indeed the system that we have developed allows you to go even further than this, by building on cloud standards you can easily deploy pre-made services into your cluster via helm charts, you can configure complex red/green deployments with traffic balancing to test new features, see the status of all the components of your application at a glance and roll back to a previous version easily.

We not only preach these practices, we live by them, we are using exactly the same systems as we provide to you to stage our components in both our clusters and those of our customers.

Since “Lack of resources/expertise is cited by 41 percent of respondents as a top container challenge” according to Flexera, nine has introduced all these features as standard with our Kubernetes offering to give you an experience that no other managed service provider can match (and I say this without hyperbole, if you can find a managed kubernetes offering as holistic as nine’s please get in touch with me!) along with regular workshops, our kubernetes academy and the option for individual consulting and even project work and support.

The Nine Difference

The engineers that build and maintain our managed Kubernetes platform and clusters have many years of experience of running containers in production and have administered both Openshift and Kubernetes clusters. They all hold CKA and Google Professional Cloud Architect certifications and they work with the same tools and technologies as we offer to our customers every day.

All of these reasons are why we call ourselves “cloud navigators”, at nine we pride ourselves on our ability to work closely with our customers to guide, assist, teach and support at every step of the way. To ensure that you are able to deliver the maximum value to your customers with the most robust and flexible architectures possible is our passion and we hope to join you on your journey to the cloud.

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.