Do not fear the Cloud

The cloud is one of the modern trends that have fundamentally changed the way businesses IT operate. And while the startup environment has been quick to adapt to it, many companies, especially those in conservative industries, are still hesitant. According to a PwC survey, security concerns keep 63% of companies from moving to the cloud. This is despite the fact that leading banks, which are subject to a number of regulations and have high security requirements, have recently decided to switch. But even the largest cloud providers (Amazon, Microsoft, Google) are bucking the trend, which in addition to performance also offers comprehensive support and a whole range of services that cover the needs of most companies.

In terms of security, there are still many prejudices against the cloud, and some companies prefer to run their own servers to have the data at their headquarters and therefore physically under control. This requirement can also be met when using the cloud, the basis is always to understand the needs and concerns of the company in question - on this basis it is then possible to propose an optimal solution and minimize the risks.

Avoid human error

Company representatives who have to decide whether to move to the cloud usually come across familiar arguments - flexibility in system expansion and performance enhancement, decentralization, availability from almost any part of the world, and resilience. But why should company bosses undergo the whole demanding process when they can simply and cheaply buy additional servers as they have been used to?

Moving to the cloud requires looking to the future. The biggest advantage is that you do not have to hire new experts or administrators to take care of the servers. The cost is not only in the purchase of hardware, but also in the salaries of the staff that will have to take care of the ever-growing system. In addition, more staff naturally means more maintenance costs, more security and more room for error.

The security check is usually the transition to the cloud itself

Many managers think their system is secure when no one else can see into it. But nothing is further from the truth. Unless a company has essentially isolated its IT from the rest of the world, it's difficult to develop a secure and reliable system on your own. Rather, the opposite is true; in practice, one often encounters cumbersome applications with a complex architecture with which their creators have little familiarity. The transition to the cloud is usually the first security review that the company goes through.

The security audit helps uncover critical parts of the system. It then needs to be broken down into parts, non-functioning parts repaired and a new architecture designed. The respective company must weigh up whether it wants to move completely to the cloud or whether it wants to continue to leave the critical infrastructure on its own servers - and thus opt for the so-called hybrid cloud. In this case, normal security processes are not enough; you have to look at the system as a whole and ideally consider where the provider's responsibility begins and ends. Without clearly defined barriers, you are once again creating problems for yourself in the future.

Know your provider in advance

When moving to the cloud, choose the company you want to trust with your data in advance. With local companies, they may have an inadequate service offering, limited coverage, and non-compliance with standards like GDPR. With global players, the biggest disadvantage may be their size. In that case, you can barely reach your provider and not even think about doing an audit. A good clue is whether the provider in question has a local office and meets the required security standards, including the GDPR mentioned earlier. Also remember that it is not enough to audit the provider itself, but also the entire chain, for example, if it uses third-party software.

Last but not least, do not forget about vendor lock, i.e. absolute dependency on the provider's infrastructure or system. The cloud usually scales as your business grows and the number of tools you use grows. These are often unique and any change is then too expensive or even impossible. Therefore, it is necessary to prepare future scenarios that will help you deal with vendor lock.

The cloud is not only an infrastructure, but also a set of necessary services

Large cloud providers not only provide the infrastructure itself (IaaS - Infrastructure as a Service), but also an entire platform with a wide range of integrated tools (PaaS - Platform as a Service), such as databases, tools for data backup and system monitoring, all optimized for hardware or performance. Some providers also add their own office tools for the day-to-day operation of the business (G Suite, Office 365), but also enable rapid deployment of CRM or BI.

These are things that a normal enterprise would struggle to keep running, in terms of time and money. Another advantage of the cloud is that support and security are handled by entire teams of developers and specialists. Native backup support, for example, has such a high SLA (service-level agreement) that data loss is virtually impossible. The cloud is also highly resistant to DDoS attacks (which consist of sending a huge number of requests, often from a large number of computers, with the aim of overwhelming the server and thereby shutting down the service) - the system detects them and redirects the onslaught outside the company's system, so there are no outages.

The biggest risk is not the technology, but the employees

The biggest risk in enterprises is the human factor. In the case of the cloud, this means first and foremost mastering administrative security, which means limiting access and rights to changes according to roles on the team. The second area is managing the devices that log on to the internal network - you need to verify that the hardware in question is secure. Ideally, the company will provide its employees with their own devices for work. Otherwise, the risk must be handled with special software.

The cloud itself is fully encrypted, so no one can get the idea that someone could access your data. The providers' employees are usually ISO certified, and the system also immediately detects if someone is working with the data without authorization.

The cloud grows with the business

Every company wants to grow and expand its business. Today, this is no longer possible without the development of the IT system. The cloud grows with the company, additional power can be obtained cheaply and with a few clicks. It also overcomes the risks typical of on-premise systems, it can handle large load peaks, such as the peak load in the e-store before Christmas, or it is used by power companies to calculate network capacity. It is also very easy to expand to a new country. This is precisely why it is so popular with startups planning to expand abroad.

Global availability is also linked to the trend toward remote collaboration. According to PwC, using the cloud boosts employee performance by up to 30%, aside from the aforementioned savings on employees taking care of the infrastructure. In short, it's an unstoppable global trend that both small businesses and software giants are jumping on. Atlassian or SAP, for example, are moving away from server solutions and moving their services to the cloud, which is only a monthly expense for companies. This eliminates many worries and allows them to focus on their own business.


Introduction to ChatGPT and OpenAI

ChatGPT and OpenAI are two revolutionary technologies that are changing the world of artificial intelligence. ChatGPT is a language model developed by OpenAI that is capable of generating human-like text responses to prompts. OpenAI, on the other hand, is an artificial intelligence research lab that is focused on creating advanced AI systems that can solve complex problems.

ChatGPT is one of OpenAI's most impressive achievements to date. It is a neural network that has been trained on a massive dataset of text from the internet. This dataset includes everything from news articles to social media posts and is designed to provide ChatGPT with a broad understanding of the English language.

One of the most impressive features of ChatGPT is its ability to generate text that is difficult to distinguish from human-written content. This means that it can be used in a variety of applications, including chatbots, content creation, and customer service.

OpenAI, the organization behind ChatGPT, is a research lab that is focused on advancing artificial intelligence. Their goal is to create advanced AI systems that can solve complex problems and improve our understanding of the world around us.

In addition to ChatGPT, OpenAI has developed a range of other advanced AI systems, including GPT-3, a language model that is even more advanced than ChatGPT. They have also created advanced robotics systems, such as Dactyl, which is a robotic hand that is capable of manipulating objects with incredible dexterity.

The potential applications of these technologies are vast. They could be used to create more intelligent chatbots that are capable of handling more complex tasks, or to develop new forms of content creation that are more efficient and accurate. They could also be used to develop new tools for scientific research, or to create more advanced robotics systems that can perform complex tasks in a range of different environments.

Overall, ChatGPT and OpenAI are two of the most exciting developments in the world of artificial intelligence. They represent a major leap forward in our ability to create advanced AI systems that can solve complex problems and improve our understanding of the world around us. As these technologies continue to evolve, we can expect to see even more exciting developments in the years to come.


OpenAI's ChatGPT changing the world as we know it

ChatGPT from OpenAI, the powerful new artificial intelligence chatbot, is the talk of the town. If you want to know what's behind it, here are the basics.

What is ChatGPT?

ChatGPT is an AI tool that allows users to create unique texts. This includes answering questions, creative prompts, and creating interesting content like poems, songs, and short stories.

When did ChatGPT come out and where did it come from?

OpenAI developed ChatGPT and released it in November last year. OpenAI was founded by Elon Musk and funded in part by controversial right-wing billionaire Peter Thiel, and is led by CEO Sam Altman.

How to use ChatGPT

To get set up with OpenAI, all you need is an email address and a phone number, then you can use the chatbot. Ask it questions or give it commands - like "write me a Raymond Chandler story about the McDonald's Hamburglar" - and get creative!

How does ChatGPT work?

The program uses a large language model algorithm that is fed with huge amounts of text data so that it can respond in a realistic way using natural language processing.

Who is ChatGPT suitable for?

Anyone can use it as long as they create an OpenAI account.

Are ChatGPT's responses always correct?

No, not always! The platform is known for making things up. So if you want to rely on ChatGPT's answers for important questions, you should double-check them beforehand.

Does ChatGPT cost money?

Initially, no - but users can pay a subscription fee (known as 'ChatGTS Plus'), which gives them priority access to features and improvements, as well as allowing them to use the chatbot at peak times when it might otherwise break down due to its popularity. However, free users do not need to bother with a subscription unless they have big plans for this chatbot!

What is "Generative AI?"

Generative AI is the area of industry and technology that deals with artificial intelligence; ChatGPT is an important part of it. Other applications include art creation, video production element reproduction, human actor/voice simulation, and other knowledge economy/creative industry related tasks.


Fintech, Digital banks, Banking as a Service, Banking as a platform

Fintech

Companies that aim to improve, streamline, digitize, or transform traditional financial services using software and technology.

Technology and finance are giving startups and service providers the ability to offer streamlined financial products and services that were previously only available through highly regulated, traditional financial institutions. FinTech startups are poised to revolutionize the banking sector and outpace traditional banks: Companies that seek to improve and automate the delivery and use of financial services by expanding financial inclusion and leveraging technology to reduce operating costs.

Digital bank

Online-only financial institutions that resemble banks. A neobank's offerings are usually limited compared to traditional banks - sometimes there is nothing more than a basic checking and savings account. Thanks to the slimmed-down model, neobank customers often enjoy lower fees and higher-than-average interest rates.

From a customer's perspective, a Neobank may be nothing more than an app that lets you manage your money and make decisions.

Fintech companies that offer apps, software and other technologies to streamline mobile and online banking. These fintechs usually specialize in specific financial products like checking and savings accounts. They also tend to be more flexible and transparent than their big-bank counterparts, although many of them partner with those institutions to underwrite their financial products.

The big banks have recognized the demand for neobanking products and have started to introduce similar offerings in order to compete.

Banking as a service

End-to-end process that ensures the comprehensive delivery of a financial service, delivered on-demand via the Internet and managed within a specified timeframe.

The underlying infrastructure-as-a-service is provided by a "traditional" licensed and regulated bank.

This bank-as-a-service is joined by decomposed banking services and an ecosystem of fintech startups and service providers.

But dynamic developments in the FinTech world have made this model obsolete. The reason: tech companies like Solaris provide the middleware of bank-as-a-service, but at the same time hold a license to operate as a regulated bank. This means they no longer need the foundation of a traditional bank.

Banking as a platform

Allows third-party developers to build products and services for bank customers. Developers can extend platform functionality using APIs, while the platform itself manages data exchange and monitors authentication and compliance.

It's a potentially groundbreaking concept that provides a universal technical interface to connect banks' core banking systems and banking apps from a vast ecosystem of FinTech companies.

Provides a universal technical interface that connects to a bank's core banking systems and allows software developers to create various service apps. The idea is to enable third-party developers to create a wide range of useful and secure applications that offer users tangible benefits compared to traditional online or mobile banking systems.


Open Banking is accomplished, all bow to Open Finance

Open Banking provides third-party financial service providers with open access to banking data, transactions and other financial information through application programming interfaces (APIs).

This has been the basis for the creation of digital banks such as Revolut that use banking infrastructure providers.

Open Banking is only a step on the road to Open Finance

While Open Banking APIs allow users to share their bank account information, Open Finance goes a step further and allows data to be shared from various sources, such as accounting and billing platforms.

Connecting to accounting and invoicing platforms is especially important for corporate and SME banking customers, as they form the basis of corporate financial data. A bank statement can provide insight into how much money a customer has deposited into their account over a period of time, but accounting data can provide a much more comprehensive view of a customer's financial situation. Access to more robust data gives financial institutions and fintech apps the freedom to offer personalized services, from insurance to mortgages and loans.

APIs not only enable open finance, but also allow fintech companies and established institutions to build additional banking services into their product without investing time and resources in API development. In this way, they can quickly offer new services to their customers and gain a competitive advantage.

Open Finance will transform a plethora of products and services in financial services and beyond.

Mortgage and loan approvals will be instant and fully digital, with access to data on assets, liabilities and net income. Pension switching will be automatic based on current and projected portfolios.

Financial advice will become much more individualised and powerful thanks to improved data access.

Small and medium-sized enterprises will be able to make their cash flow information available to multiple potential lenders to easily obtain the most favourable loan rates.


Microservices distilled

My knowledge of microservices summarized :)

Microservices

  1. approach to software development
  2. microservices architecture consists of a collection of small, autonomous services.
  3. each service

    1. self-contained and should implement a single business capability.
    2. separate codebase - can be managed by a small development team.
    3. can be deployed independently.
    4. responsible for persisting their own data
    5. communicate with each other by using well-defined APIs.
    6. don't need to share the same technology stack, libraries, or frameworks.

  4. team can update an existing service without rebuilding and redeploying the entire application.

Management (Orchestration)

This component is responsible for placing services on nodes, identifying failures, rebalancing services across nodes, and so forth. Typically this component is an off-the-shelf technology such as Kubernetes.

Gateway

Entry point for clients. Instead of calling services directly, clients call the API gateway, which forwards the call to the appropriate services on the back end.

  1. decouples clients from services. Services can be versioned or refactored without needing to update all of the clients.
  2. can perform other cross-cutting functions such as authentication, logging, SSL termination, and load balancing.

Advantages

  1. Agility - microservices are deployed independently, it's easier to manage bug fixes and feature releases. You can update a service without redeploying the entire application
  2. Small, focused teams. A microservice should be small enough that a single feature team can build, test, and deploy it. Small team sizes promote greater agility.
  3. Small code base. In a monolithic application, there is a tendency over time for code dependencies to become tangled. Adding a new feature requires touching code in a lot of places. By not sharing code or data stores, a microservices architecture minimizes dependencies, and that makes it easier to add new features.
  4. Fault isolation. If an individual microservice becomes unavailable, it won't disrupt the entire application, as long as any upstream microservices are designed to handle faults correctly.
  5. Scalability. Services can be scaled independently, letting you scale out subsystems that require more resources, without scaling out the entire application.
  6. Data isolation. It is much easier to perform schema updates, because only a single microservice is affected.

Challenges

  1. Complexity. A microservices application has more moving parts than the equivalent monolithic application. Each service is simpler, but the entire system as a whole is more complex.
  2. Lack of governance. You may end up with so many different languages and frameworks that the application becomes hard to maintain. It may be useful to put some project-wide standards in place.
  3. Network congestion and latency. The use of many small, granular services can result in more interservice communication. Also, if the chain of service dependencies gets too long (service A calls B, which calls C...), the additional latency can become a problem.
  4. Data integrity. With each microservice responsible for its own data persistence. As a result, data consistency can be a challenge.
  5. Management. To be successful with microservices requires a mature DevOps culture.
  6. Versioning. Updates to a service must not break services that depend on it.
  7. Skill set. Evaluate whether the team has the skills and experience to be successful.