Heard about the benefits of the cloud but aren't sure where to start? Does your team utilise the cloud already but unsure if your architecture can be improved? Too busy to manage the day-to-day tasks of cloud infrastructure? CodeFish Studio is here to help.
Recently, we have undertaken Amazon Web Services accreditation and certification for all members of the software engineering and project management teams at CodeFish Studio. These qualifications have allowed us to become a Certified AWS Partner and further cement our position within the AWS ecosystem.
Why Amazon Web Services?
Having been long-term suppliers of green and brownfield software projects for multiple industries, we have tested several cloud providers and their offerings.
The reason we eventually decided to lock in a partnership with AWS is largely due to the following factors:
Service Longevity - Re-writing an application or part of an application is often not something a company wants to hear. To date, if any AWS product reaches end-of-life, it is clearly communicated and a simple migration to another service is provided, unlike some competitors
Economic Pricing - For startups and SMEs alike, service infrastructure is a big part of the project’s ongoing costs. With AWS’s unique and simple-to-understand pricing model, it’s easy to determine the most cost-efficient operating structure for our clients. This ranges from on-demand service offerings right through to reservation usage pricing discounts. For clients that have migrated to us, we have been able to cut their cloud spending by over 30%.
Global Reach - AWS operates their infrastructure across 245 countries and territories. For our clients, this is a huge opportunity to scale for those who want to begin offering their products overseas. The potential to easily initialise our clients’ applications in different regions to more readily serve their new customers makes global reach a real possibility, without compromising reliability or customer experience.
Developer Experience - Software Engineers that create software on a daily basis, often have a toolchain that they find preferable. This toolchain is focused on efficiency and ensuring there is a weapon in the arsenal for any menial tasks they may encounter. The AWS CLI and SDK make provisioning infrastructure, connecting services and storing artefacts a breeze, allowing our developers to focus on the more technically complex tasks at hand.
Application Security - Security services are one of the most vital software development tools in the AWS toolkit. Whilst security is at the forefront of developer’s minds, especially in the development phase, it’s implausible to expect this to be a foolproof solution. AWS enables central management of application secrets, automatic key rotation, packet inspection at the third, fourth and seventh layers and automated compliance checking to ensure standards are upheld.
Overall, we have found AWS to meet the needs of our clients whilst offering our business the ability to innovate and develop with the least friction. The partner program enables us to access AWS resources, such as solution architects and machine learning experts, enabling us to deliver the most cutting-edge solutions to our clients.
Benefits of Cloud
We have already touched on the benefits of AWS, but what about if you’re not already sold on the cloud? Well, truthfully, the cloud is just another tool in the belt of a software development agency. There are specific scenarios where the cloud, or a cloud migration, may not be the right solution for our clients and in these circumstances, a hybrid approach may be the best method.
Examples of where the cloud makes the most sense:
Minimum Viable Products - Whilst validating your startup idea, offload the work of infrastructure provision or management to a cloud provider, alleviating cost pressures and staffing requirements.
Projects with no existing or minimal infrastructure - Need to batch process gigabytes of CSVs or run some trivial business processes? The cloud is perfect for these tasks, allowing you to only pay for the resources you use and for the time they’re in use, removing the overhead of the total cost of ownership for new hardware.
Management of large applications - If you have a team that is spending more time managing the infrastructure updates to databases and servers instead of coding the next feature, the cloud could be your answer. By using managed services, AWS adopts responsibility for management and updates, freeing up your team to focus on features and client requests.
Using the cloud enables companies to readily acquire and remove resources as necessary reducing the burden of investing in hardware and the staff required to manage it.
Security is another common concern our clients have with the cloud. Whilst security is a valid concern, by using cloud providers you have a better selection of tools at your disposal to mitigate against attacks and breaches. In today’s climate, cloud providers are hyper focussed on ensuring their systems are as protected as possible and that partners, such as us, are as equipt as possible to assist in this prevention.
By utilising AWS, applications and companies can benefit from an increased security posture. AWS currently supports 98 security standards and compliance certifications covering virtually every regulatory agency around the globe. This allows companies to have the control and confidence to securely run applications in an environment concentrated around secure architecture, compliance and confidentiality.
How does cloud pricing work?
Cloud providers offer a variety of services from completely managed through to bare metal servers. This allows clients to choose a level of cloud dependency that they’re comfortable with, as in some cases migrating away from provider-specific services can come with problems.
Cloud providers break their services down into several categories:
IaaS (Infrastructure as a Service) - This is raw computing or storage including hardware such as routers, bare metal servers, virtual private servers and hard drives. These items are often billed to the minute or second allowing cost savings when devices are not in use. AWS are responsible for the physical security of the assets and their networking, operating systems, software and scaling are the responsibility of the client.
PaaS (Platform as a Service) - A managed database or caching mechanism would be an example of platforms as services. They are managed by the provider meaning updates, operating systems and hardware requirements all fall within their remit. As the client, you are responsible for the application and the data. Due to the management overhead of these platforms, the billing is generally by the hour and at a slightly higher rate than IaaS. Platforms can speed up development via their fast provisioning and handle future scaling out of the box.
SaaS (Software as a Service) - These products aim to solve a business problem like Google Drive for document storage or AWS Work mail for business emails. Due to their all-encompassing nature, once setup there is no ongoing management from the client and everything is managed by the provider, resulting in a high monthly cost. SaaS is often not priced based on usage and subscriptions cannot easily be terminated and restarted during periods when the software may not be required.
We actively utilise these three cloud model methods to enable our clients to scale their products in the most cost-efficient manner. Data-intensive applications have multiple databases, caching mechanisms and batch jobs that don’t scale vertically. By converting these infrastructure items to platform items, we can reduce the client’s infrastructure management costs whilst increasing their ability to scale horizontally.
We’ve helped multiple companies utilise the cloud to launch their own SaaS products, improve their business processes and migrate from old, dated internal infrastructure to more efficient cloud-based technologies. The success of these projects has led us to see the value in AWS as a partner and is the reason we’ve selected to join their partner network.
Joining the partner network also involves an investment in AWS in the form of certifications. The team at CodeFish Studio took the challenge head-on with the entire development team successfully passing their AWS exams.
The validation of the team’s knowledge means our clients understand that the infrastructure considerations for their projects are at the forefront of our architecture whilst we strive for reliability, scalability and cost efficiencies.
Accelerate your usage of AWS
How can we help improve your usage of AWS?
If you’re currently with a cloud provider and you’ve been thinking of migrating to AWS, or you’re already with AWS and would like to evaluate resource performance or cost efficiency, CodeFish Studio can help.
One of our recent clients was running infrastructure 24/7 to support their web application. We planned and performed a complete migration to serverless functions as their utilisation was sporadic and only between business hours. This resulted in over 25% cost efficiency vs running resources around the clock.
What it means to work with an AWS partner
By working with an AWS partner, you are guaranteed to be receiving the most up-to-date and relevant solutions that AWS have to offer. This is due to the readily available access AWS partners have to the AWS internal expert resources. Not sure what we’re saying is the best way for your company to proceed? No problem, we can pass the problem to a solution architect at AWS and get their opinion on a solution. We can even request they attend a face-to-face meeting with you. This enables complete confidence from both the business and the client that the chosen solution is the one that’s best for the business.
This support doesn’t just stop at the end of the development phase. It means that as long as you’re supported by CodeFish Studio you’re also supported by AWS.
Still not sure?
Get in touch today and see how the team at CodeFish Studio can assist in making your cloud project a success!