Google has some uniquely powerful and flexible cloud services, while since the beginning EducationLink was always hosted on Amazon Web Services (AWS), that will not be the case for much longer anymore, we're moving to Google Cloud Platform. And here's everything you need to know.
What is AWS in the first place?
Sometimes, when we present EducationLink to new customers, we get the very important question "where do you keep my data?", we answer that we use the services of Amazon, called Amazon Web Services.
Amazon Web Services (AWS) is a suite of cloud-computing services that, unless you run a tech startup like us or pay close attention to Amazon’s earnings reports, you may never have heard of. But they silently became responsible for keeping much of the internet running.
Amazon is the leader in cloud computing, with ~32% of the world's cloud running on AWS. If you use Netflix, Pinterest, Airbnb, or any of Adobe’s web services, you’re indirectly using AWS.
Why moving to Google Cloud then?
EducationLink will now run on the infrastructure of the biggest technology company in the world, but it's worth explaining the main factors we took in consideration when choosing GCP (Google Cloud Platform).
Easier management for faster innovation
With GCP EducationLink's is better positioned to have an even more accelerated development lifecycle with little operational overhead—all without compromising service reliability.
Our new fully managed infrastructure allows our developers to focus on writing new features for EducationLink and OSHC Express with more reliability, more quality and customer focus, instead of managing our infrastructure.
Crisis resilience and redundancy
By using GCP we're now better positioned to increase our control and resilience of our platform. EducationLink should never be offline, it should never fail. But that's not feasible, if even Google can go offline, so we can. Therefore it's important we plan ahead, to mitigate as many risks as possible and in case it happens, for us to be ready to act upon it and trusting we have an infrastructure that can handle it accordingly.
Google Cloud allows us to better integrate our infrastructure, better monitor it and do all of that while keeping our fast software development lifecycle.
Reduced risk with world-class security
EducationLink security is now protected by the same secure-by-design infrastructure, global network, and built-in safeguards that Google uses to protect information, identities, applications, and devices of Google's own services. And while our cloud solution - in this case Google - is not enough to have our software secured, we have even more tools and the right platform to go even further with our security measures.
Innovation with AI and Machine Learning
Google's artificial intelligence and machine learning capabilities are embedded in the core solutions and infrastructure of GCP, making them accessible and easily deployed across EducationLink's softwares (agents, providers, students, etc). And as we increase our usage of Machine Learning, this was a deciding factor.
Google's worldwide network
By choosing Google Cloud, we're now building EducationLink on the same future-proof infrastructure that allows Google to return billions of search results in milliseconds, serve 6 billion hours of YouTube video per month, and provide storage for 1 billion Gmail users. EducationLink's infrastructure - via GCP - is protected by more than 700 top experts in information, application, and network security.
100% renewable energy
We have many things to consider when we choose a cloud platform - price, security, openness and of course, the services available. We believe we should consider the environment too. A sustainable cloud is not only good for the environment, but good for our business.
By moving to GCP, the net emissions directly associated with EducationLink's compute and data storage is zero. Google is committed to purchasing enough renewable energy to match consumption for all of their operations globally. For each unit of electricity they will use as a company, Google will purchase an equivalent amount (or more) of renewable energy. They are also committed to maintaining carbon neutral operations. Making EducationLink's IT infrastructure carbon neutral and 100% renewable energy powered.
Let's get technical
The biggest improvement for you is that EducationLink as it grows is becoming more and more resilient to errors, stable and future-proof. And the move to GCP will allow us to get even further in leading the highest standards in development and software management in the industry.
Learning with the big guys: Spotify and Hubspot
EducationLink grew fast in the number of features for almost three years, as we scale to thousands and thousands of clients worldwide we started to think what was the next generation of EducationLink, and how we could make it come to live.
Besides some really exciting new features that are coming, reliability and resilience if something goes wrong were in our top requirement.
We do not need to re-invent the wheel, so we started looking for the best practices and battle-tested idea to scale our software not just to thousands, but to millions of people in the future.
Two softwares you may have heard about came to our attention: Spotify and Hubspot.
Hubspot: EducationLink is very similar in some aspects to Hubspot. We're also a CRM, we also have automation features (although simpler), we generate tons of data of analytics and in our case course search. As we started studying closer how Hubspot IT infrastructure worked, we started adopting some ideas.
Spotify: with a engineer-oriented company and high standards on software development we started considering how their disaster resilient infrastructure could be applied to EducationLink.
Our system infrastructure
EducationLink has never been more complex: whenever you save an invoice, for example, hundreds of things need to happen in real-time. And we need to guarantee they are executed even when something wrong happens.
Microservices is an architectural style that structures an application as a collection of services that are
- Highly maintainable and testable
- Loosely coupled
- Independently deployable
- Organized around business capabilities
While we already operated with some microservices, we're doubling down on it now. The microservice architecture enables the continuous delivery/deployment of large, complex applications. It also enables EducationLink to evolve its technology stack, keeping up with the newest technologies in the world.
Events for the win: scalability and error resilience
EducationLink is currently formed by a series of softwares, not just one as you may think:
- EducationLink for agents
- EducationLink for providers
- EducationLink for students
- OSHC Express
- Supporting services
When you buy an OSHC policy, or enrol a student, you're actually seeing the result of with both platforms EducationLink for agents and EducationLink for providers. The processing of the application, generation of commission invoice, notifications and emails, etc.
Because of our growing complexity, we decided to centralise every action and event of all our platforms in one enterprise message-oriented middleware. That means, whenever you do something at EducationLink we have an event, that multiple systems can consume and act on it. This method is done through a scalable, durable event ingestion and delivery system.
This means, for example, that if at some point in time, part of EducationLink goes down, and becomes unresponsive, we will be able to queue this events and make sure everything gets processed when our systems get back to normal. Nothing will ever get lost.
Auto-healing and auto-scaling
While our current infrastructure can already identify if it's unresponsive and auto-heal itself, we're taking a step further to guarantee more reliability on new releases, and if something goes wrong along our normal operation.
Our whole infrastructure is now completely automated, end-to-end, that means: deployments of new features happen automatically (CI/CD), in case we need more servers, it will be done automatically to guarantee you always have top-notch performance and if something specific stop working, it doesn't affect all of our hundreds of other services (e.g. if the quote stop working, invoicing will be just fine).
We continue with the highest standards in encryption, and we take a step further, by guaranteeing that even if GCP or EducationLink team itself get's hacked the bad actors will not have access to your data. We do this at many levels: database, operational system of our machines, our codebase, and internal accesses.
We're stepping up our monitoring and adding some elements of the ITIL framework. The ITIL (Information Technology Infrastructure Library) is a framework designed to standardize the selection, planning, delivery and maintenance of IT services within a business. The goal is to improve efficiency and achieve predictable service delivery.
With automated incident management and granular monitoring we will be able to react even faster when parts of the system start to fail, acting proactively to prevent any disruptions to our customers.
While we already had montoring before, now everything is integrated with our deployment, multiple services and applications.
Final worlds why we chose GCP in an even more technical explanation
Google Cloud Platform helps us accomplish all the above much easier than AWS, a clear example is our event-oriented process described above. In AWS you have SQS, SNS, Amazon MQ, Kinesis Data Streams, Kinesis Data Firehose, DynamoDB, Amazon Managed Streaming for Kafka (MSK), Streams, and maybe another queueing service by the time you read this post. GCP has Pub/Sub.
In GCP most resources are either global or regional. This includes things like the control panel, disk images, storage buckets (multi-region within a continent), network configuration, global load balancing, Pub/Sub, VPC networks, etc. This contrasts with AWS, where most resources, including the control panel, are either zonal or regional.
The HTTP Load Balancer is really nice. All our customer traffic will enter Google’s network at the closest location to them. Then it will transfer over Google’s premium dark fibre until it is routed to the closest region we're are running EducationLink in. Better security, and mostly better performance.
What happens now?
This migration to GCP already started, and will be transparent to our customers, that means you have to do nothing. The most important is, we're now more secure, faster and reliable than ever. We are already leading in technology in the industry, and now we're a few years in front of everyone else.
We share some open source packages in our GitHub account, check it out if you're a developer: github.com/EducationLink.