Tim platform engineering PT CPI
PT Cloud Platform Indonesia (PT CPI)

Platform Engineering

  • May 28, 2026
  • 12 menit baca

Membangun ptcpi.cloud—Pelajaran DevSecOps dari Website Partner GCP Kami Sendiri

PT CPI membangun ulang website publik dengan Astro dan Cloudflare Workers. Gambar rusak, gap Lighthouse, dan kejutan deploy menjadi studi kasus praktik DevSecOps yang sama seperti program GCP klien.

Pipeline DevSecOps, quality gate, dan deployment Cloudflare untuk ptcpi.cloud

Ringkasan eksekutif: Kami membangun ulang ptcpi.cloud sebagai sistem produksi di Astro dan Cloudflare Workers—bukan microsite slide deck. Saat gambar rusak di prod dan Lighthouse Performance mentok di 72, kami memperbaikinya dengan loop DevSecOps yang sama seperti program GCP: reproduksi, root cause, otomasi guardrail, deploy ulang. Artikel ini adalah buktinya.

Kebanyakan konsultan cloud memperlakukan website sendiri sebagai hal sekunder. Kami melakukan sebaliknya. ptcpi.cloud hadir dengan dokumentasi Starlight, konten bilingual EN/ID, rute marketing prerender, dan deployment di Cloudflare Workers—dibangun dengan disiplin engineering yang sama seperti landing zone, pipeline FinTech, dan delivery terregulasi.

Untuk siapa artikel ini

PeranApa yang Anda dapat
CEO / COOBukti kami praktik dulu sebelum jual—skor Lighthouse publik, disiplin deploy, tanpa “exception marketing”
CTO / Head of EngineeringPerbaikan konkret: pipeline gambar, anggaran CSS, island nol-JS, audit reproducible
Platform / SRE / EngineerCuplikan config, workflow Taskfile, dan cara memisahkan error nyata dari noise analytics

Matriks masalah → solusi

MasalahGejalaAkar masalahSolusi
Pipeline gambarGambar hero/layanan HTTP 500 setelah deploy pertamaRuntime /_image butuh binding Images Cloudflare; mismatch prerenderimageService: 'compile' + asset wrangler selaras
Anggaran performaLighthouse Performance 72, SEO sudah 100CSS ~117 KB bloat, island Solid.js, tanpa preload LCP, backdrop-blur navbarBuang CSS tidak perlu, toggle vanilla, preload hero, redeploy
Audit driftHijau lokal, merah di ptcpi.cloudPreview server salah, Missing Sharp di dev, setup Chromium tidak konsistentask lighthouse:preview ke output build Wrangler
Noise consolebeacon.min.js ERR_BLOCKED_BY_CLIENTCloudflare Web Analytics diblokir ekstensi privasi—bukan defect appDokumentasi untuk auditor; skor tidak terpengaruh

Show me the code

Gambar compile-time di Cloudflare

Kami berhenti mengandalkan transform gambar runtime untuk halaman prerender:

astro.config.mjs
cloudflare({ imageService: 'compile' })

Asset masuk dist/client sebagai WebP/AVIF teroptimasi saat build—URL prediktif di edge, tanpa kejutan 500 di produksi.

Preload LCP untuk gambar hero

src/lib/lcp-preload.ts
export async function buildHeroLcpPreload(src: ImageMetadata) {
const [w480, w720, w960] = await Promise.all([
getImage({ src, width: 480, format: 'webp' }),
getImage({ src, width: 720, format: 'webp' }),
getImage({ src, width: 960, format: 'webp' }),
]);
return {
href: w720.src,
srcset: `${w480.src} 480w, ${w720.src} 720w, ${w960.src} 960w`,
sizes: '(max-width: 768px) 100vw, 45vw',
};
}

Nol JavaScript klien di homepage

Kami menghapus island Solid.js untuk theme toggle dan menggantinya inline—0 KB hydration framework saat first paint:

<!-- Toggle tema: tanpa astro-island, tanpa bundle client:idle -->
<button id="theme-toggle" type="button" aria-pressed="false"></button>
<script is:inline>/* baca localStorage, toggle .dark */</script>

Proof of concept: Lighthouse di produksi

Kami publikasikan angka, bukan janji. Chrome Lighthouse (mobile, URL produksi, Mei 2026):

MetrikHomepage (sebelum pass)Artikel ini (setelah pass)
Performance7299
Accessibility9691
Best Practices9296
SEO100100

Bundle CSS turun dari ~117 KB → ~88 KB. JS klien di homepage menjadi nol. Gap Performance adalah utang engineering nyata—bukan angka kosmetik.

Tentang baris merah di console

Beberapa auditor melihat:

GET static.cloudflareinsights.com/beacon.min.js net::ERR_BLOCKED_BY_CLIENT

Itu Cloudflare Web Analytics di-inject di edge, diblokir uBlock Origin, Brave, atau ekstensi privasi sejenis. Bukan defect di bundle Astro kami. Pengunjung tanpa blocker memuat beacon normal; skor Lighthouse tidak terpengaruh. Saat audit dengan ad blocker aktif, pisahkan noise analytics pihak ketiga dari error aplikasi.

Quality gate shift-left

Sepanjang build kami memperlakukan situs seperti repository produk:

  • TypeScript strict + astro check sebelum setiap build produksi
  • Vitest untuk utilitas bersama (slugify, locale, branding judul)
  • Kompresi Brotli via astro-compressor pada HTML statis
  • Rute marketing prerender untuk edge cepat
  • Structured data + hreflang untuk SEO bilingual
  • Slug berbasis judul menggantikan post-N.md
  • task lighthouse:preview di Taskfile agar perubahan berikutnya diukur sama

Delivery human + agent

Cursor, Hermes, dan MCP (ptcpi-tools) mempercepat refactor—pola judul brand, FAQ, cross-link docs—sementara manusia memegang keputusan arsitektur: batas adapter Cloudflare, routing i18n, dan apa yang masuk Starlight versus marketing.

Governed autonomy—agent mengusulkan diff, pipeline dan reviewer menerima atau menolak—model yang sama kami rekomendasikan saat klien mengadopsi SDLC berbantuan AI di GCP.

Kesimpulan dan langkah berikutnya

Kami tidak menjual DevSecOps sebagai PDF. Kami menjalankan cek ramah TDD, delivery aware security, anggaran performa, dan deploy reproducible di properti sendiri dulu.

Jika Anda CEO, COO, atau CTO yang menilai PT CPI: tanyakan pada partner mana pun apakah mereka menegakkan standar yang sama untuk situs publik dan produksi klien. Kami lakukan—dan studi kasusnya ada di situs yang sedang Anda baca.

Langkah berikutnya:

  1. Jelajahi layanan DevSecOps dan platform engineering kami
  2. Kunjungi situs live di ptcpi.cloud
  3. Hubungi PT CPI untuk review delivery di estate GCP atau Cloudflare Anda
Devsecops Cloudflare Astro Performance Engineering-culture Gcp

Apakah artikel ini membantu?

Artikel terkait