Customer Data Platforms: Taking Customer Experience Personalization to the Next Level

The digital ecosystem’s ongoing evolution gives organizations more touchpoints with users and access to richer data. Due to the rapid evolution of digital touchpoints, companies face significant challenges. Their primary task is to efficiently collect and organize the growing volume and variety of data. Overcoming information silos is essential. Leveraging this data from the cloud—where it remains securely under the company’s governance—is crucial. By doing so using Customer Data Platforms, companies can enhance the user experience and maximize the data’s business value.

How can we achieve this? 

Various technologies exist in the market, but at Making Science, we’ve learned that each company requires a solution specifically designed for its unique business and organizational needs. To address this, we’re working closely with our clients to create Composable Customer Data Platforms (CCDPs) and Customer Data Architecture (CDAs) using Google Cloud.

  • CDAs aggregate information from different domains of a company, making it accessible, and facilitating subsequent activation. It is also a long-term solution that allows it to build future business use cases, enabling organizations to own their data.
  • On the other hand, CCDPs are market tools designed to activate use cases in a ‘simple’ way, without dependencies on technology teams.

So, which one should you choose? A Composable CDP or a CDA? 

Composable CDPs have revolutionized the way we handle customer data. Previously, tools such as Customer Relationship Management Data Management Platforms (CRM DMPs) dominated the landscape. However, a CDP operates as an ‘open platform’, letting us merge diverse data sources and dismantle longstanding information silos. To truly unlock the potential of a CDP, it’s essential to establish a data architecture (CDA) that facilitates real-time data activation.

This solution offers numerous benefits pivotal to the success of a comprehensive 360-degree marketing strategy: profile alignment, enhanced segmentation, implementation of predictive models and Generative AI solutions, enhanced customer insights, unified multichannel marketing resource optimization, and the eradication of data silos.

How do we measure the success of a Composable Customer Data Platform/CDA? 

Every investment should have a measurable ROI, a return for the business, and in the case of CDP/CDAs, there are three aspects to consider and measure: sales, speed, and cost savings.

Undoubtedly, incredible challenges are arising in data, cloud, and AI for companies, which will change how they make decisions, conduct marketing, integrate advanced marketing analytics, and manage their organizations. Is your company ready to extract the maximum value from its data?

Do you want to learn more about Customer Data Platforms for your business? At Making Science, we have a specialized team of experts who can help you define your CDP/CDA strategy for your specific case. Contact us!

Microservices Architecture: Empowering Software Quality and Efficiency with Testing and CI/CD

Microservices architecture has revolutionized the way we develop and deploy applications. Think of a monolithic application like a massive building where every change requires a massive reconstruction. However, this architectural innovation is not without its challenges, especially when it comes to testing and continuous delivery.

In this article, we will explore how to address these challenges and ensure software quality in a microservices environment through effective testing and a Continuous Integration/Continuous Delivery (CI/CD) process.

Microservices and CI/CD: A Partnership for Efficiency

Microservices architecture is a software design approach that decomposes an application into small independent services known as microservices. Each microservice focuses on a specific function and operates autonomously, allowing greater flexibility and scalability compared to traditional monolithic architectures, particularly in the development and deployment of each microservice. Each microservice has its own code repository, enabling independent integration, delivery, and deployment.

On the other hand, the CI/CD approach involves Continuous Integration with automated tests and integration of new code into the main repository. Continuous Delivery refers to the ability to provide functional software versions quickly and reliably. Continuous Deployment takes automation a step further by implementing new versions into production without manual intervention.

The Pillars of CI/CD: The Path to Success

These fundamental principles are crucial for the successful implementation of CI/CD, aiming to accelerate software development, improve its quality, and enable predictable and secure deployments. Below, we list various advantages and best practices of this approach

  • Frequent checks on the main branch: It’s vital to regularly integrate code into the main branch and avoid excessive use of secondary branches. Merging small changes frequently is recommended to prevent issues.
  • Automated compilation: I processes should automate code compilation and image generation, including web server files, database scripts, and application software.
  • Self-checking of builds: Continuous testing is essential. If a test fails, the build should be considered failed. Pre-build static test suites should be used to ensure code quality and security.
  • Frequent iterations: Small and frequent iterations are recommended over massive changes to facilitate issue correction and conflict resolution.
  • Versatile testing environments: Testing should be carried out in a “cloned” environment that mimics the real production environment. Rigorous test scripts should be used to detect errors. When handling sensitive user data, it’s crucial to include data anonymization tools to obtain replicas as similar as possible to the real production environment.
  • Maximum visibility and single source code repository: All developers should have access to the latest executables and changes in the repository. Repository information should be visible to all, facilitating progress monitoring and issue detection. Furthermore, a centralized repository containing all the elements necessary for compilation, including source code, database structure, libraries, and test scripts, is required.
  • Predictable deployments at any time: Deployments should be routine. CI/CD processes should be rigorous, allowing the team to deploy updates at any time and facilitating change reversions.

It’s important to take advantage of tools provided by platforms like GitHub, Bitbucket, and others to overcome the limitations of traditional code repositories and expedite implementation.

Testing challenges in microservices architecture

Granularity: Detailed testing for optimal results

One of the main challenges in microservices architecture is granularity. Instead of having a single monolithic application, we now have multiple independent microservices that communicate with each other. This means that not only do we need to test each microservice separately, but also ensure that they work effectively when integrated. This is where unit tests, integration tests, and end-to-end tests play a crucial role.

Dependencies between microservices: The invisible network

Microservices often depend on others to function correctly. Updates in one microservice can affect others, complicating testing and continuous delivery. It is essential to implement contract tests and dependency simulations to ensure that changes in one microservice do not break the functionality of others.

Testing strategies in microservices architecture

Unit Testing: Ensuring the robustness of each microservice

Unit tests are essential to ensure that each microservice works correctly at the code level. Exhaustive tests must be performed on each microservice to detect and correct errors at an early stage of development.

Integration Testing: Ensuring harmony among microservices

Integration tests focus on verifying that microservices communicate effectively with each other. They may include contract tests to ensure that interfaces are compatible and data flow tests to ensure that data is transmitted correctly between microservices.

End-to-end Testing: The end-user perspective

End-to-end tests simulate the complete flow of a request through various microservices. These tests are crucial to ensure that the application functions as expected from the end user’s perspective.

By adopting effective testing strategies and automating the CI/CD process, you can ensure that your microservices operate reliably and efficiently. The investment in testing and CI/CD in this type of architecture is worthwhile for achieving high-quality software and successful continuous delivery.

A new balance in software development

In summary, microservices architecture and testing practices, combined with CI/CD, collaborate to deliver scalable and reliable applications in a highly dynamic environment. Striking a balance between development speed and software quality is essential for long-term success in the era of microservices.

This balance is not just a requirement but an opportunity to redefine our perspective on software development. By incorporating these methodologies into our work processes, we are not only preparing for the future but actively shaping it. Let’s harness the power of microservices, CI/CD, and strategic testing to drive innovation and efficiency in our projects.

Making Science is a digital transformation company that helps businesses harness the power of technology to improve their processes and outcomes. The company has extensive experience in developing software with microservices architecture and implementing CI/CD solutions.

The future of software development has arrived and demands a new equilibrium. Contact us to accompany you on this exciting journey!

Salesforce: The Backbone of a Data-Driven Business Revolution

Introduction

In today’s digitally connected era, data serves as the lifeblood of successful businesses. While discussions around the benefits of CRM platforms like Salesforce often focus on marketing and customer engagement, their potential impact on enterprise operations is profound. This blog explores how Salesforce can revolutionize business operations and why it’s an essential tool that every CIO and CTO should consider.

Salesforce Beyond Marketing

Salesforce is more than a CRM solution. Its capabilities extend well beyond marketing and customer engagement use cases. As a comprehensive business integration solution, Salesforce stands as a robust platform that seamlessly connects the front, middle and back-office operations. It unifies data from various sources, offering a panoramic view of the enterprise ecosystem.

The Role of Salesforce in Business Integration and Its Importance

The integration of disparate data sources and systems is more than a luxury—it’s a significant challenge and a nSo necessity. Modern businesses are tasked with managing an ever-growing array of data, making a centralized hub for data management critical.

Salesforce plays a pivotal role in ensuring that data flows seamlessly between different parts of the organization. It bridges the gap between sales and customer data, operational teams and even financial and HR management, offering a comprehensive integration of front-office, middle-office and back-office. 

Moreover, its exceptional ability to seamlessly integrate with a wide variety of systems and applications opens up a world of opportunities for businesses. By effortlessly connecting with existing software and databases, Salesforce becomes the central hub where data flows cohesively, eliminating data silos and streamlining processes.

Whether it’s integrating with popular marketing tools, ERP systems, or custom-developed applications, Salesforce ensures that data from different sources harmoniously coexists, enabling businesses to make more informed decisions, enhance customer experiences, and improve operational efficiency. This flexibility and adaptability in integration make Salesforce a transformative force for businesses, allowing them to leverage the full spectrum of their technological ecosystem to drive growth and innovation.

 

“The result? Connectivity that empowers decision-makers with real-time insights, facilitating more informed, strategic choices.”

 

 Salesforce Integration in Action: Connecting your operations across the whole organization

  • Enhancing Customer Insights and Engagement:

Front-office operations involve the seamless connection of customer-facing functions within an organization. This strategic integration empowers businesses to consolidate customer data from diverse touchpoints, leading to a deeper understanding of customer needs and preferences. The outcome is more meaningful, context-aware engagements, which ultimately cultivate stronger and more lasting customer relationships.

  • Optimizing Operational Synergy:

Bridging the gap between sales and customer data and your operational teams for middle-office operations it’s a strategic move that promotes seamless collaboration among these crucial departments, ensuring that customer demands are met with efficiency. Moreover, it aligns product development with market needs, leading to increased overall efficiency, reduced lead times, and a significant enhancement in teamwork and collaboration across your organization.

  • Elevating Core Efficiency and Risk Management:

Back-office integration delves deep into your core business functions, including finance, HR, and administrative processes. This integration strategy brings automation, streamlining, and compliance which results in heightened operational efficiency, reduced risks, and more effective resource management for cost savings and overall business performance.

The synergy and proper integration between front-office, middle-office, and back-office operations represents the nexus of transformation for modern enterprises. As these converge, they not only streamline operations but empower leaders with invaluable insights for making informed strategic decisions.

Unlocking Industry-Specific Advantages

Industries across the spectrum are harnessing the power of Salesforce to gain a competitive edge and unlock industry-specific advantages. These real-life examples illustrate the transformative impact Salesforce is having on various sectors:

  • Telecommunications and Media Excellence: A major industry player achieved a 30% faster customer service response time by integrating customer data across platforms using Salesforce. They also utilize Salesforce Einstein’s AI capabilities for enhanced customer engagement. [Source]
  • Elevating Manufacturing Standards: A leading firm in the elevator and escalator industry improved first-time fix rates by 25% using Salesforce IoT Cloud. Predictive maintenance connects equipment, customers, and field service, enhancing efficiency. [Source]
  • Financial Services Transformation: In financial services, one provider boosted advisor productivity by 15% through Salesforce’s data integration and AI capabilities. This led to a 10% increase in customer satisfaction. [Source]

Our Impact with Salesforce

At Making Science, we’re not just Salesforce experts — we’re catalysts for change. We guide our clients through the seamless transition to Salesforce, a cutting-edge platform that empowers businesses with efficient streamlining of processes, unprecedented levels of automation and data-driven decision-making capabilities.

We’ve had the privilege of driving change across countless businesses, with our successes falling into several key areas:

  • Salesforce CRM Implementations: Over the years, we’ve implemented Salesforce CRM for multiple multinational companies. These projects have standardized sales operations across all regions, automated routine tasks for increased efficiency and fostered a higher level of collaboration within their teams.
  • Marketing Transformations with Salesforce Marketing Cloud: We’ve successfully transitioned numerous businesses from labor-intensive campaign management to fully automated processes with Salesforce Marketing Cloud. These transformations have enabled our clients to achieve a level of customization previously out of reach, optimizing customer engagement and driving business growth.

Conclusion:  The Future is Data-Driven

In the digital era, data reigns supreme. Salesforce, combined with the expertise of Making Science, empowers businesses to harness the full potential of their data across your organization. 

Ready to revolutionize your enterprise with Salesforce? Contact us for a consultation and discover how integrated Salesforce solutions can take your business to the next level.[nectar_cta btn_style=”see-through” heading_tag=”h6″ button_color=”default” link_type=”regular” alignment=”center” display=”block” link_text=”Contact our team” url=”/contact/” margin_top=”50%”]

Contact

Contact

Data-Driven Digital Growth at the CIO Summit 2023

In the fast-paced world of information technology, IT leaders face unprecedented challenges. Did you know that, on average, a company takes three years to carry out a successful digital transformation? The pressure to be business strategists and digital innovators while managing teams and providing safe, effective, and sustainable tech solutions makes the role of the CIO more complex than ever. In this context, we encounter a fundamental question: how can IT leaders become genuine change agents capable of driving tangible business transformation?

The CIO Summit 2023, an event organized by IDC in Madrid on September 26 and 27, brings together the main IT professionals in Spain to explore the main technological trends and debate the most pressing challenges of the digital era. And Making Science is proud to have been a gold sponsor of this event.

Transforming Businesses Through Data Culture

In the current landscape of digital disruption, organizations face the imperative need to make data-based decisions. This involves aligning business strategy with effective data management, prioritizing both the needs of the business and customers. However, this challenge is not without obstacles: exponential data growth, diversity of sources, complexity of different privacy regulations and security challenges, pros and cons of using hybrid clouds in global environments, and of course, cost, sustainability, and scarcity of specialized talent.

During the roundtable “Breaking Down Barriers: Reorganization around Products and Processes”, our Director General of IT Solutions, Jose Miguel Ruiz, shared how adopting a systematic approach to data management that ensures the quality and consistency of information, backed by changes in processes and people, through technology and training, allows the implementation of a data culture, adapted to the maturity of each organization, which is key to optimizing IT investments and maximizing business opportunities with the creation of new data-based business models.

Francisco Molero Campos (Confluent), Jesús Cabet (Persán), Vítor Rodrigues (Magic Beans), José Miguel Ruiz (Making Science), Valentino Gallo (Gransolar Group) and Raúl Coria (IPM). 

The role of the CIO in this scenario is fundamental in combining strategic vision with the ability to manage technological assets and specialized teams, promote security and facilitate collaboration with other leaders of the organization. However, an interesting fact provided by IDC at the event revealed that, currently, approximately 50% of technology purchases come from other areas.

This data is related to the speed at which companies must innovate and optimize their operations through the use and integration of new technologies like AI, which can revolutionize data management by automating tasks and workflows, improving data quality, and even optimizing analysis and action on data in real time and autonomously. For example, companies can offer personalized experiences to users through algorithms that recommend products, services, or relevant content accurately, thus improving end-user satisfaction and increasing revenue.

In addition, collaboration with trusted tech partners, like Google Cloud, becomes a strategic differentiator to offer cutting-edge technological solutions that drive digital transformation and enhance business efficiency.

At Making Science, we are continuously innovating to address the challenges faced by IT managers and other leaders driving innovation. Our participation in the CIO Summit 2023 is a testament to our commitment to our customers to assist them on their growth journey through digital acceleration.

Embracing the Best of Both Worlds: The Benefits of Hybrid Multi-Cloud Environments

Introduction to Multi-Cloud/Introduction: The Rise of Cloud Technology

In today’s fast-paced digital landscape, cloud technology has firmly established itself as an indispensable tool for companies to develop adaptable, scalable, secure, and efficient technological solutions capable of addressing evolving business needs.

Large companies such as Google, Microsoft, Amazon, IBM and many others have democratized access to cloud services, making previously unattainable computing capabilities accessible to both businesses and individuals. 

However, as cloud technology evolves, so do the strategies for harnessing its power. Different integration approaches and architectures have emerged to fully exploit the cloud’s potential, including connecting on-premise and cloud environments, bridging private and public clouds, and collaborating with multiple cloud service vendors.

We will focus on this last scenario. 

Understanding Multi-Cloud Architecture

This Hybrid Multi-Cloud architecture refers to a system combining the services of two or more cloud providers working together into a unified ecosystem, leveraging each provider’s unique strengths, region availability and capabilities.

With numerous cloud providers offering various services, pricing models, and geographic availability, Multi-Cloud architecture has emerged as a strategic choice for businesses looking to maximize the potential of the cloud.

Why choose Multi-cloud?

Businesses are rapidly adopting this architectural approach for several reasons:

  • Enhanced Security: Mitigating Risks and Fortifying Infrastructure

This kind of architecture improves the system security in multiple ways. It mitigates risks by allowing workloads distributed across different cloud providers, ensuring that if one encounters issues, others can seamlessly take over. Additionally, it helps tackle “Shadow IT”, the use of unauthorized or unapproved technology solutions, applications, or services within an organization by employees, providing them with different cloud-based secure alternatives. Choosing cloud over on-premise software helps to avoid “Shadow IT”, while security and lack of governance risks can be significantly reduced. This architecture also adds extra resilience and redundancy, hardening overall application robustness.

  • Unmatched Flexibility: Breaking Free from Vendor Lock-ins

Cloud providers often offer similar products, but on certain occasions, some unique products and differences can be critical when choosing one over another. Multi-Cloud allows administrators to select the tools that best align with their specific needs, promoting closer alignment to business requirements.  It also allows you to choose each provider’s most powerful products and combine those to create a more robust solution.

  • Proximity and Compliance: Navigating Data Regulation and Geographical Challenges

High availability and fast response time are paramount in modern systems. Multi-cloud environments ensure multiple endpoints, optimizing response times by directing requests to the closest data center. Moreover, they facilitate compliance with data sovereignty laws and regulations, enabling services in regions where certain cloud providers may be restricted.

The Rise of Multi-Cloud Implementations

There are many other reasons why Multi-Cloud implementations are gaining popularity among companies seeking to improve security and performance while building robust applications or solutions with high availability, hybrid workflows and seamless DevOps integration. This approach recognizes that the cloud landscape is continually evolving. With providers improving their services or pricing models, deciding to rely on a single provider for a significant project is increasingly challenging.

In conclusion, The Future is Multi-Cloud

Julio Cesar’s wisdom, “Divide and conquer”, becomes particularly relevant here. In the short term, the benefits mentioned above make a strong case for Multi-cloud architecture. Although some can also be achieved with a Hybrid Cloud model, combining private and public clouds, there are strong reasons to believe that leveraging multiple clouds will result in more agile, secure and reliable systems.

Embrace the Multi-Cloud Revolution by Making Science and Propel Your Business to New Heights!

Transform your business with the power of multi-cloud, guided by the expertise of Making Science. Our team of certified experts are here to help you achieve real-world advantages by addressing complex challenges, streamlining operations and driving innovation that translates into measurable benefits for your business.

Google Next ’23: Unveiling the AI Revolution | Part 1

Google Next ’23, the annual event that brings together tech enthusiasts, industry leaders, and innovators, was a remarkable showcase of Google’s commitment to revolutionizing technology across Google Cloud’s extensive portfolio spanning Infrastructure, Data and AI, Workspace Collaboration, and Cybersecurity solutions.

Given our longstanding relationship as a Google Cloud Premier Partner, the Making Science team attended the event to get a first glance at the main innovations and gain insights that will shape the future of our work and value to our customers. 

At the heart of the event, one theme was the main character approaching the future of technology: Artificial Intelligence. The event unfolded as a dynamic showcase of AI’s transformative power across industries and its pivotal role in shaping the future of technology. 

In this Blog Post, we dive into the different dimensions of AI that took center stage at Google Next ’23.

AI-Optimized Infrastructure

Google Cloud is committed to providing cutting-edge AI-optimized infrastructure that empowers businesses to train and deploy AI models efficiently. This infrastructure is available across Google’s global cloud regions, on customer premises through Google Distributed Cloud, and at the edge. Notably, over 70% of “gen AI unicorns” are Google Cloud customers, emphasizing the platform’s dominance in this transformative field. Key infrastructure advancements announced at the event include:

  • Cloud TPU v5e: This state-of-the-art AI accelerator platform is cost-efficient, versatile, and scalable. It enables customers to perform large-scale AI training and inference on a single platform, offering significant improvements in training and inference performance per dollar compared to its predecessor.
  • A3 VMs with NVIDIA H100 GPU: Powered by NVIDIA’s H100 GPU, these virtual machines offer superior performance, high-speed networking, and advancements to support demanding gen AI and large language model (LLM) applications.
  • GKE Enterprise: Enabling multi-cluster horizontal scaling, GKE Enterprise enhances productivity while reducing software deployment times, catering to mission-critical AI and ML workloads.
  • Cross-Cloud Network: This global networking platform simplifies application connectivity and security across multiple cloud environments, offering reduced network latency and improved accessibility to Google services.
  • Google Distributed Cloud: Designed for organizations running workloads at the edge or in their data centers. Google Distributed Cloud is being enhanced to bring AI capabilities to the edge.

Vertex AI: Building, Deploying, and Scaling ML Models

Vertex AI is Google Cloud’s comprehensive AI platform, empowering customers to build, deploy, and scale machine learning (ML) models effectively. The platform’s usage has grown substantially, with the number of gen AI customer projects surging over 150 times quickly. Main updates on this platform include:

  • Vertex AI Search and Conversation: These tools enable organizations to quickly create Search and Chat applications using their data, with minimal coding and robust enterprise-grade management and security features.
  • New Models and Tooling: Updates to PaLM 2 for processing large documents efficiently, extended support for new languages available in Codey, and increased capabilities for Imagen regarding visual appeal and new tuning methods to create images aligned to specific requirements with a few references.
  • Vertex AI Extensions: Developers can now access, build, and manage extensions that provide real-time information and actions, enabling gen AI applications to interact with enterprise systems and third-party platforms.
  • Digital Watermarking: Leveraging Google DeepMind SynthID technology, digital watermarking is now available for AI-generated images, offering scalability and security in image generation.
  • Colab Enterprise: A service for Data Scientists to accelerate AI workflows, access the whole Vertex AI platform, integrate with BigQuery and benefit from code completion and advanced generation features.

If you’re a cloud or data expert, we encourage you to learn more about these new features and capabilities so you can start using them to build and deploy innovative solutions. 

These are just a few of the many announcements made at Google Cloud Next 2023. Stay in touch for an upcoming post on how AI is shaping Cloud, Data and Security.

Contact us

The future is in the cloud: Advantages of cloud computing services

These days, many companies are opting to migrate to the cloud. The technology media company, Foundry (formerly IDG) annually conducts a study called Cloud Computing Study that measures trends in the world of cloud computing. According to its most recent study, nearly 70% of companies have accelerated migration to the cloud in the last year. It is expected that the percentage of companies with their IT infrastructure in the cloud will increase from 41% to 63% in just over a year.

Now, why do companies decide to migrate to the cloud instead of having their data on-site? Below we examine the main advantages of cloud computing services.

Scalability and elasticity

One of the main disadvantages of companies that have their servers on-site is that they permanently need to have enough capacity to cope with peaks in resource demand. Formerly, this inherently meant a waste of resources during times of falling demand, since many of those servers became unnecessary.

On the other hand, companies that use cloud-based services can scale according to the pace at which their computing needs grow (or decrease). It is easier and less expensive than scaling their on-site infrastructure, and deployment times are much shorter. The cloud allows companies to scale resources quickly to cope with prominent traffic peaks and unexpected usage (scalability), as well as reducing those resources when traffic decreases (elasticity).

Arguably the best part is the simplicity of scaling in the cloud. With just a few clicks we can increase or reduce the available resources according to our needs. In addition, many cloud services have the function of autoscaling, thanks to which resources increase or decrease automatically.

High availability and more local resources

Having more local resources with high availability improves the user experience, bypassing system failures and reducing latency.

If we had our servers on-site, these would probably be located together in a single place. If a user tried to connect from the other side of the world, they would experience a significant delay. To avoid this type of problem, cloud computing services have different points of presence with servers spread all over the world grouped in regions. This way we can host a copy of our application in each of these regions (this creates redundancy). In turn, this redundancy helps protect our system from failures, preventing our service from being interrupted. If an event were to occur that caused servers in one of these regions to fail (power outage, fire, flood, etc.), we could quickly redirect traffic to any of the other servers where we have our application hosted until we could recover the fallen server. In this way, we essentially achieve 100% availability of our service.

Remote access

By not having the information in a physical location, you can access it from anywhere in the world. Cloud solutions can be accessed at any time, from any device, through a simple internet connection, making it a real advantage when it comes to improving the availability and mobility of employees. Additionally, it allows for improved collaboration with other colleagues or external contacts, allowing for coordinated work from different locations. This translates to greater work flexibility and a significant improvement in productivity.

Security

For companies that are transitioning to the cloud, the solid security that cloud computing services offer is essential. Typically, companies that provide cloud computing services have much better security systems than those that we could implement on our on-site servers and at a lower cost. Some of the security measures that are usually offered are:

  • Identity and Access Management (IAM): The main functionality of IAM is to create digital identities for all users with only exclusively necessary permissions for the tasks they will perform, so that we can control who does what with a certain resource.
  • Advanced firewalls and security filters: These prevent attempts of attacks that exist today and that are constantly evolving.
  • Data encryption: Cloud services keep our data safe by encrypting it both at rest and in transit, minimizing the risk of data theft.
  • Periodic and automatic backups: This helps to avoid a possible loss of data in case of any failure.
  • Strict physical security measures: Cloud computing provider’s data centers have a large number of security measures to prevent servers hosted there from being compromised in any way. Some of these measures are:
    • Secure locations, which are built away from areas with a high risk of natural disasters and other threats.
    • Access controls to the facilities, to allow only authorized personnel to pass.
    • Video surveillance systems and security personnel in all facilities.

Cost savings

Investing in cloud computing leads to significant cost savings. Companies only pay for the services they contract, without having to pay large amounts of money to buy and maintain equipment. Some other advantages include:

  • It does not require a large initial investment in infrastructure, as cloud services are responsible for managing it. This reduces the economic risk assumed.
  • We avoid our equipment becoming obsolete, as the provider is responsible for keeping the equipment always updated, using the latest technologies. This, in turn, increases your competitiveness against other companies.
  • Cloud computing services offer tools to manage our expenses so that we have complete control of how much we will spend each month.

Sustainability

Environmental concerns and a sustainable model have become major drivers of innovation in companies. One of the main goals of companies dedicated to cloud computing is often to minimize their carbon footprint. In fact, according to a recent study by Accenture, companies that migrate their services to the cloud can reduce their carbon emissions to the environment by up to 84%.

For example, one of the largest companies offering cloud computing services, Google, states that by 2030 it will supply all its data centers with 100% carbon-free energy on an uninterrupted basis.

After analyzing some of the main advantages that cloud computing services have over companies that have their servers on-site, it is not surprising that the majority of companies are switching to this model. It is increasingly clear that any company that wants to be competitive in its sector should bet on the cloud.

Check out Google’s latest video about their Cloud solution: Let’s solve for what’s next

Do you want to migrate your business to the cloud? At Making Science we have a team of experts capable of advising you on your specific case. Write us! ⛅️

Get in touch

ProxySQL, a Google Cloud Platform alternative to SQL database management

In the world of DevOps, you must maintain an environment where your fellow developers can take full advantage of the technologies available, and those technologies must be used in a way that does not create security gaps. 

In this post, we will discuss how to safely and efficiently grant database access to users who need it using ProxySQL, a Google Cloud Platform (GCP) tool.

Data management is complicated

Cloud database management can be a headache for our programming friends. This is because having our database within a VPC that is only accessible from microservices with sufficient credentials is the de facto alternative to keep our valuable data safe. This implies that, if in non-production environments, developers need to perform SQL operations within the database, they will face the problem of not having direct access from their local environments.

To deal with this problem, three possibilities arise before us, each with a different level of security and complexity.

    1. Access by developers to one of the microservices and perform command line operations: this access can be granted by Kubernetes control tools such as Rancher, or from GCP itself. With this option we maintain security and apply the rule of least possible privilege. Unfortunately, performing database management from these microservices becomes too manual a task, especially when it comes to data.
    2. Create a microservice that runs a simple phpMyAdmin server with the necessary credentials to access the database: here we can also have control over the access credentials using an Identity Aware Proxy and guarantee a much friendlier environment than using MySQL in the Command line. One disadvantage of this method is that there are many more database management tools available and we are forcing all the management to be carried out from the same entity. This solution is close, but we can do better.
    3. Use ProxySQL: the proposal is quite simple a priori, ProxySQL will be used as a kind of tunnel between the developer and the database. It is enough to have the database with the public IP address option provided by GCP for CloudSQL and perform the local installation of ProxySQL depending on the operating system in question. If you want to know a little more about this process you can see it here.

With all these steps ready, it is enough to execute the following set of commands which creates the connection with the database through ProxySQL proprietary encryption and, in our local port-to-port, we will already have access to the database from which we can pull the thread to do SQL operations.

First of all, we need the instance ID, which we can get from the GCP CLI or from the console:

gcloud sql instances describe <SQL instance name>

Then we use this command to create the connection. Remember that you must have sufficient permissions to access. This is done by enabling the Cloud SQL Client role for the IAM user that we are using.

./cloud_sql_proxy -instances=<instance Id>=tcp:0.0.0.0:<port to expose>

Just like that, you can get hold of your favorite database management software on that port.

The need for greater security

One compliance and security hurdle is that, although that public IP in CloudSQL is restricted, in the end, it is an IP that we have to manage and take care of. In many scenarios, and depending on the internal rules of the company, this is not allowed. That’s a big hurdle for our current setup since ProxySQL needs it to work. 

Fortunately, there is a configuration in Kubernetes that we can enable so that our deployment works without much problem, albeit making the deployment a little more complicated.

The savior in this case is our friend PortForward, which allows you to create a port mapping between a remote Kubernetes cluster and the computer of a subject with sufficient access credentials.

In this case, we can create a pod in our deployment, which already has access to the same private VPC within GCP. There are ready-made ProxySQL images provided and maintained by Google (https://github.com/GoogleCloudPlatform/cloudsql-proxy), which, with a few configuration parameters, is ready to operate as a microservice. As additional data, ProxySQL can also serve as access for the rest of the microservices in the cluster. Once this is done, we simply enable the PortForward option and run this command to access our Port Mapping.

Here the point is that, for our architecture to work, developers must be granted access to the Kubernetes cluster. If we do it this way, we will not be respecting the principle of Less Privileges, since we will be giving access to all the underpinnings that support the applications running. The developer should not have access to Ingress or cache microservices.

The solution again is relatively simple: we use a different namespace for the microservice that contains the ProxySQL. That is, we grant permissions to developers ONLY to said namespace through a service account, a role created in IAM and a role binding.

In conclusion…

We cannot stress enough the importance of securing data and meeting security requirements. Of course, to have the luxury of not having a private IP, the deployment can be a bit complicated, adding more hoops between the local environment and the database, in addition to the configuration parameters.

But we have to say that this is worth it, because it only has to be done once and we will have everything ready and insured.

The tools that exist are many and the interactions make the possibilities infinite, so we can find other solutions that are more suitable for other cases.

Whether you need a security audit, a custom security solution, or help to install turnkey services, our team can help. Send us a message (info@makingscience.com) or click the button below to get in touch. 

Get in touch